人生第二次面式
面试时候太紧张了,话都说不清,面试官人很好一点点引导我
基础:
1.原型链。如何通过a对象访问到b对象的属性和方法?
2.闭包。对闭包的理解,讲讲内存泄露?
如果在最外层有一个变量,闭包引用了该变量,GC会对其回收进行计数吗?
回答了会,但我感觉我理解有偏差,应该是说错了
3.MVC和MVVM的区别。答崩了,实际上核心是MVC的通信和MVVM之间的通信和数据绑定
MVC中的视图和控制器之间属于双向通信,MVVM对数据进行了绑定,实现自动更新
MVC的业务层有什么问题?
4. 讲讲浏览器和Node的事件循环。讲了Node。
讲浏览器脑子卡了。就是宏任务和微任务 这个都没反应过来太难受了
nextTick在Node事件循环的哪个阶段执行?给忘了,不会等事件循环,执行栈完成后立即执行
5. AOP怎么在不修改原有代码的情况下,实现功能的更新?应该就是在问装饰器,没反应过来
6. 问了问Node的koa、express?我回答是用的比较少,Nest用的多,功能丰富,不用自己写太多逻辑
项目相关:
1. 用自己的话讲讲React的实现机制。讲了fiber架构,调度器,工作单元之类的组成
2. 讲讲props diff是怎么处理的。说了点链表和深度优先遍历,old fiber和new fiber之间比较
追问:如果在给链表添加一个节点,添加到前边好还是后边好?脑袋晕了回了个添加到头,后来反应过来了
3. 基于订阅发布的模式,如何做一个redux的管理机?实际上是问订阅发布的模式。当时订阅发布 && 观察者模式这个名字死活没想起来
4. 问了token具体在什么时候设置。简单说了说token
5. 问了Electron的透明效果有什么问题?我回答的是不能鼠标穿透。
反问:
1. 对相关业务的看法
2. 实习有人带吗?有的,前端这边不太卷
3. 关于工作和生活,时间什么的
面试官很好,我太菜了