面试复盘|百度前端面经
百度的面试官挺好的,流程进展的也比较快,面试下来整体感觉还是挺好的。
一面
-
自我介绍,项目介绍
-
实习时间
-
为什么项目重写
-
静态资源如何处理
-
node错误处理
-
node用的什么框架
-
vue-cli做过哪些优化
-
js数据类型
-
原始数据类型引用数据类型区别
-
什么时候可以进行垃圾回收
-
闭包,如何释放
-
垃圾回收
-
执行上下文 有什么
-
作用域链什么时候确定
-
原型链
-
事件循环
-
宏任务微任务
-
渲染优化
-
node事件循环
-
怎么减少垃圾频繁回收
-
vue双向绑定
-
重排和重绘
-
vue-router传值,区别
-
params和query区别,分别什么时候用
-
params什么时候会丢失
-
vue data中数据变化视图会立即重新渲染吗
-
vuex事件处理机制
-
数组去重
-
两个字符串最长公共子串
二面
- 自我介绍
- 深挖项目
- ES6新特性讲解
- Promise讲解
- 进程、线程、协程的区别
- 浏览器请求经历了那些过程
- 跨域的解决方案
- JWT实现方式
- MongoDB和Redis都使用了哪些
- 网络中的七层网络结构
- process.nextTick 和 setImmediate 有什么区别
-
node是单线程还是多线程
- node单线程为什么能支持高并发
- node如何创建子进程
- document.ready和window.onload的区别
- vue3为什么要使用proxy
- vue2中数组如何监听
- vue如何保存页面状态
- data中的数据发生改变后,视图会立即执行重新渲染吗
- vue中如何获取元素坐标
- watch的源码理解
- 回流重绘触发条件
- 如何避免回流重回
- 反转链表
- 业务场景题
- 反问
三面
- 自我介绍
- 对前两面进行复盘,自己进行了哪些总结
- 为什么项目用Django不用node
- Django和node以及其他如何理解
- 了解哪些设计模式
- vue为什么使用了观察者模式
- 如何理解setTimeout和rAF
- 了解哪些常用的JavaScript解析引擎
- 讲一下v8引擎
- 如何理解安全沙箱
- 讲一下浏览器渲染的过程
- 如何优化界面
- 对事件冒泡的理解
- cookie安全涉及哪些字段
- 首页白屏如何查错
- 什么时候可以实习
- 反问
总结与反思
- 虽然平时项目做的比较多,但是基础还是有些不好。对很多知识仍然停留在使用的层面,对一些原理了解的并不清楚
- 前端除了业务开发,优化也是重头戏,如何让界面加载运行更加流程,也是很重要的工作
讨论
- 首页白屏如何进行排错呢?我主要说了查看开发者工具,请求流程,前后端都要进行排查之类的。感觉回答的不是很好
-
setTimeout和rAF如何理解呢?