今日头条前端三轮面试面经
刚面完今日头条三轮面试,发个面经反馈一下牛客网。
一面(上午9:30)
一面问的问题非常基础,反正就是很多面试基本会问的东西。
- 常用的块级元素和行内元素有哪些
- 块级元素的特点
- img是什么类型的元素
- 说一下你了解的浮动
- 为什么要清除浮动?举个实际场景
- 说一下你了解的盒模型
- css3用过什么
- box-sizing的各个属性有什么区别
- float和position一起用是什么效果
- rem用过吗?做不同手机的适配怎么做?
- 写个二分查找
- 箭头函数特点?
- var a = {
b: ()=> {console.log(this);},
c: function() {console.log(this);}
}
a.b(); // ???
a.c(); // ??? - vue的双向绑定和依赖收集
- vuex是做什么的?缺点?
- cookie和session区别?
- 后端怎么存储session?
- 讲一下登录验证全过程(涉及session)
- 进程和线程的区别?
- webpack3升级到4为什么会提升速度?
- webpack优化有哪些?
大概就这么多了,总体来说比较简单都是常见的问题,我之前写二分查找的时候面试官还给我挖坑,问我乱序数组怎么二分查找?我说二分查找的前提条件就是数组有序。面试官也没说什么了。然后hr就通知二面
二面(上午11:15)
二面比一面难一点,但是也是挺常见的问题,分为三种方向:前端方向、网络方向、算法方向。
- script的async有什么用
- 手写懒加载(考虑防抖和重复加载问题)
- 手写bind
- 给页面注入50万个li怎么做提升性能?
- fileReader用过吗?base64编码原理?
- setTimeout一定会按时执行吗?
- 讲一讲event loop(微任务、宏任务等)
- https的过程?
- http请求的报文头部是什么?
- http有哪些方法?option是做什么的?
- 你一般用的MIME类型有哪些?
- http缓存?
- 手写快排
- 分治算法
只记住这么多了,其他的印象不深刻,反正不会很难。
三面(13:50)
经历了前两轮面试本来我是很自信的,然而三面面完只剩下懵逼...面试官不问基础,一上来就让我做题
- 实现一个简单的打桌球游戏,构建一个小球类、球杆类、球桌类,在游戏主类中实现核心算法。
题还没完成就说不用写了,我大概了解你的思路了。然后就问我下面几个问题
- github那些项目怎么做的,为什么想做这些?
- 你在阿里实习做过最难的最深入的东西是什么?
- webpack的css-loader原理讲一下
然后面试就结束了,负责通知的hr给我说两周内出结果让我耐心等待。本来以为自己凉了因为没有hr面,结果在头条的师兄说这次是技术面,过段时间hr再统一面试.......那再等等吧,希望大家秋招都能拿到满意的offer~