2019面试总结
CSS
- BFC的理解和应用
- 清除浮动的几种方式的原理是什么,为什么::after的clear: both可以清除浮动;
- 块级元素上下margin合并如何取消;
- 垂直居中方式
{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; }
原理是什么;
- 在移动动端应该使用哪个,为什么
JS基础
- 原型链,继承方式及优缺点;
- 作用域链,闭包应用,优缺点;
- 原生xhr对象使用方法,及状态值;
- 跨域方式,如果处理带cookie的跨域;
- 实现call apply bind promise 防抖 节流;
- event loop;
其它
- webpack的原理;
- webpack的配置,如何异步加载;
- webpack的plugin loader,gulp的中间件自己实现过没有;
- 函数式编程;
- 设计模式,面向对象(继承、封装、多态);
- git工作流;
- A同事误将1G的视频传到远程仓库,应该如何处理?(.git目录);
- 部署流程;
- typescript优缺点;
服务端
- 多对多的表如何设计;
http
- http状态码;
- 从浏览器地址栏回车到页面呈现发生了什么(http事务+浏览器渲染);
- https是如何加密的;
React Vue
- 两种框架的区别及联系;
- React生命周期(16.3之后的变化)及作用,哪些生命周期内可以使用setState方法;
- 为什么virtual dom比真实dom效率更高;
- diff策略;
- 为什么setState设置成异步的;
- 高阶组件及应用;
- jsx是如何转变真真实dom到浏览器的;
- React合成事件(一个弹框,点击页面其他部分让其消失);
- 对flux架构的理解,以及redux和vuex实现有何种区别;
- 实现redux,为什么reducer必须是纯函数;
- redux的中间件如何实现,redux-saga的源码;
- 为何在项目中使用redux,使用context api代替是否可以;
- 实现vue,将defineProperty替换成proxy有什么好处,如何实现computed;
算法相关
- 数组求倒数第k个元素(不能使用
arr[arr.length - k]
);
- 一个已排序的数组,元素可能有重复,给定一个元素,求该元素第一次出现的位置;
- 斐波那切数列,针对于递归的优化;
- 一个数组找出两个元素和相等的索引;
管理
- 平时如何进行开发的(prd -> 上线);
- 拆分任务后,如何评估开发时间;
- 如何为小伙伴分配工作,为什么把甲模块交给A开发,让A一直维护甲模块有什么弊端;
- 有小伙伴要离职应该怎么办(主要工作如何交接安排);
- 如何管理一个团队;
- 团队的规范应该如何推行;
生涯规划
- 从第一份工作开始,为什么选择这个公司,与此同事还有其他公司的offer吗
- 为什么选择离职,换工作
- 自己对生涯规划跨终端,全栈,管理等
- 再选择公司是如何考虑的,工资,团队,公司背景等
changzhn`s blog
中国人睡觉时,美国人大多数人在工作