6/15 时长 1h
1.自我介绍
2.手写 React 组件,计时器可暂停可清零
太久没写React, 事件绑定方式写成Vue的形式了,绷!setInterval也写成setTimeout了
3.用过什么css库
预编译也算库吧...sass,less,emotion
4.这些库跟传统css的区别
变量,函数复用,嵌套写法,样式优先级
5.传统css能定义变量吗
能,两条杠啥的,但是没用过
6.用React实现组件,两个按钮分别切换前面文字为黄色蓝色
useRef然后改dom的style,这里图方便用上题的代码,
然后用true和false表示颜色状态,最后被面试官吐槽了
7.垂直水平居中的方法
说了flex和定位,然后吟唱被打断
8.写一下定位实现,已知子元素宽高和未知子元素的宽高
9.为什么明明可以用transform
实现但是不用呢
我不到啊,我猜是因为transform,css3才出,所以其他人还是习惯用之前的;难道用transform渲染有坏处?
10.去重
abbc->ac
aaa->a
用栈就完事了
11.变形成这样呢
aaabbac->ac
baaa->b
记录一个当前值,遇到不同的循环pop;思路应该说对了但是条件没处理好,写到一半还想复杂了,寄了
面试官说这里时间不多了,再问几题,瞬间被打鸡血了
12.你了解哪些模块化规范,说说CJS和ESM的区别
老八股了,吟唱
13.输出,说原因
class Student{
constructor(){
this.name = "Jerry"
}
getInfo(){
return{
name: "Tom",
getName(){
return this.name
}
}
}
}
const stu = new Student()
console.log(stu.getInfo().getName())
new绑定丢失变成隐式绑定
14.怎么让输出Jerry
换箭头函数
还有呢
用一个变量存this
还有呢
用call重新绑定
(还好没继续问了,绷
15.反问
有几轮技术面?三轮
有什么不足的地方?思路基本都是对的,但是细节处理的不好,比如说第二题用true和false问题比较大,以后会踩很多坑巴拉巴拉;不过框架语法什么的都是小问题,到时候学就好
总的来说很幸运问的又是一些基础....不深挖八股也不拷问项目,主要是手写(尤其react)有点拉,得多练习了
面试官温柔小哥,评价也是很暖心了
希望上次面的那家能oc,进去后也能好好提升手写能力
献祭字节(bushi
#面经##前端面经##字节跳动##日常实习#