2019面试总结

2019面试总结

CSS

  1. BFC的理解和应用
    • 清除浮动的几种方式的原理是什么,为什么::after的clear: both可以清除浮动;
    • 块级元素上下margin合并如何取消;
  2. 垂直居中方式
    • { position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; }原理是什么;
    • 在移动动端应该使用哪个,为什么

JS基础

  1. 原型链,继承方式及优缺点;
  2. 作用域链,闭包应用,优缺点;
  3. 原生xhr对象使用方法,及状态值;
  4. 跨域方式,如果处理带cookie的跨域;
  5. 实现call apply bind promise 防抖 节流;
  6. event loop;

其它

  1. webpack的原理;
  2. webpack的配置,如何异步加载;
  3. webpack的plugin loader,gulp的中间件自己实现过没有;
  4. 函数式编程;
  5. 设计模式,面向对象(继承、封装、多态);
  6. git工作流;
  7. A同事误将1G的视频传到远程仓库,应该如何处理?(.git目录);
  8. 部署流程;
  9. typescript优缺点;

服务端

  1. 多对多的表如何设计;

http

  1. http状态码;
  2. 从浏览器地址栏回车到页面呈现发生了什么(http事务+浏览器渲染);
  3. https是如何加密的;

React Vue

  1. 两种框架的区别及联系;
  2. React生命周期(16.3之后的变化)及作用,哪些生命周期内可以使用setState方法;
  3. 为什么virtual dom比真实dom效率更高;
  4. diff策略;
  5. 为什么setState设置成异步的;
  6. 高阶组件及应用;
  7. jsx是如何转变真真实dom到浏览器的;
  8. React合成事件(一个弹框,点击页面其他部分让其消失);
  9. 对flux架构的理解,以及redux和vuex实现有何种区别;
  10. 实现redux,为什么reducer必须是纯函数;
  11. redux的中间件如何实现,redux-saga的源码;
  12. 为何在项目中使用redux,使用context api代替是否可以;
  13. 实现vue,将defineProperty替换成proxy有什么好处,如何实现computed;

算法相关

  1. 数组求倒数第k个元素(不能使用arr[arr.length - k]);
  2. 一个已排序的数组,元素可能有重复,给定一个元素,求该元素第一次出现的位置;
  3. 斐波那切数列,针对于递归的优化;
  4. 一个数组找出两个元素和相等的索引;

管理

  1. 平时如何进行开发的(prd -> 上线);
  2. 拆分任务后,如何评估开发时间;
  3. 如何为小伙伴分配工作,为什么把甲模块交给A开发,让A一直维护甲模块有什么弊端;
  4. 有小伙伴要离职应该怎么办(主要工作如何交接安排);
  5. 如何管理一个团队;
  6. 团队的规范应该如何推行;

生涯规划

  1. 从第一份工作开始,为什么选择这个公司,与此同事还有其他公司的offer吗
  2. 为什么选择离职,换工作
  3. 自己对生涯规划跨终端,全栈,管理等
  4. 再选择公司是如何考虑的,工资,团队,公司背景等
avatar

changzhn`s blog

中国人睡觉时,美国人大多数人在工作