本人工作两年半,投的是社招,今天刚面完一面,估计凉了,写个面经。
第一轮笔试,五道编程题,算法简单,我没刷算法都能做出来的那种
1. 检测数据是否符合要求"xxx-xxx-xxxx",xx代表数字。比如"800-555-1212" 返回true
2. flatten数组,[1, [2, [3, [4]]]] -> [1,2,3,4]
3. 整数翻转,233 ->332
4. 给输入框自适应高度
5. 右下有按钮,点击返回页面顶部
第二轮面试,有前端面试官、业务hr和招聘hr。问了一个小时,问的简单,但因为自己原因答的稀碎
1. js数据基本类型,用过symbol吗?怎么使用?怎么判断数据类型?
2. 原型了解吗?说一下原型和原型链理解。最顶级的object的原型指向什么?
3. map和对象互相转换方法,说出多个方法。除了Object.fromentries 和 Object.entries,还有其他方法吗?
4. map 和 weakmap区别?( 我没了解过weakmap,就说抱歉不知道)
5. 获取object对象key值的方法,如何获得对象的可枚举和不可枚举以及symbol属性的key (这里也磕磕巴巴,只知道一些)
6. 两层for循环,在第二层循环中判断满足条件退出整个循环怎么做。(万万没想到是label。没用过,所以看过就忘)
7. 说一下闭包,以及写个示例
8. 函数的arguments代表什么
9. 定时器了解吗?说一下两个区别。怎么使用他们,怎么清除他们?
10. 数组的map 和 foreach的区别,是否会改变原数组
11. set 怎么使用?
12. 迭代器了解吗?写一个demo示例 (时间久远,只记得yeild next,完全忘记*)
13. 说一下垃圾回收机制
14. js事件循环解释下,给一段示例,问运行结果。(是关于promise和error类型的。跟我之前理解不太一样,我也忘了面试官说的正确答案了)
15. css 怎么做单行或多行省略
16. zustand 状态库有什么好处(这是我简历提到用的状态管理库)
总结:面试小哥哥还是温柔的,不会问题会告诉答案也会跳过,不会揪着不放。问的非常非常简单,react框架、http、html,node,webpack都没有问,css就一道。大部分是js的基础。