字节跳动前端面经(一面+二面+三面)
一面 50min 3.20
一面是一个小哥面的,态度十分好(字节的面试没听过不好的)
1. css绘制三角形
2. this指针的指向
四种调用,箭头函数,再说了一下call改变指针的实现思路。
3. 根据给出的对象判断this指针的指向
答这道题目的时候十分紧张,思路混乱,还好引导了几次。
4. 问了下项目
简历上的项目,深究了一下,我就说了一个简单的思路。
5. 算法题: 最长无重复子串
我这个算法思路没问题,但是实操的时候紧张错误百出,经过指导最后写出来了。
6. 智力题: 虎吃羊问题。100只虎1只羊,老虎吃了羊就会变羊。第一只羊会不会死。
答:不会,动态规划问题。偶数不会吃羊,奇数会吃。
中间歇了一个半小时
二面 55min (有部分面试题忘了)
二面的小哥,态度也十分好。
1. https相关。
2. css实现这样一个布局:
无论外层容器宽高如何变化,内层始终相对于外层容器垂直居中,左右各相距20px,同时内层的高度始终为自身宽度的50%。(至少写一种,说出实现多种)
3. 前端性能优化
对用户来说首批加载时间,srr服务端渲染,pwa缓存,懒加载(异步加载import函数,图片滚动渲染),预加载(dns缓存,proload),http请求合并。
其实还有很多例如:雪碧图等但是当时忘了。
4. redux和react
5. react的diff算法做了哪些优化
6. eventloop 判断输出
说了下node环境(版本不同还有区别)的和浏览器环境的输出,结果相同
7.JS es5实现一个es6模板字符串的功能
8.对输入的字符串:去除其中的字符'b';去除相邻的'a'和'c'。
'aabcd' -> 'ad' 'aaabbccc' -> '' 不允许使用类似string.replace函数。要求时间、空间复杂度尽量优化
9. node相关(我说了解不多,只会使用简单框架koa)
10. 还问了MangoDB的问题,我只是简单了解,简述了一下面对对象数据库和关系型数据库的简单区别。主要问的是我node中有没有使用过类似sequelize的包。
11. webpack的问题,简述了一下webpack的构建过程(不全,主要是webpack生命周期忘了)。
三面 80min 3.25
大佬面,面试官依旧态度很好,不过我准备不好,太紧张了,还有项目问了很长时间。
1. 自我介绍
2. 实习公司为什么不留用
3. 项目(聊得很深)
项目中引导到了,首页白屏
4. webpack了解
5. 为什么学前端
6. 二叉树中的根节点到子节点的值的和是否存在等于目标值
7.写一个组件,边输入边搜索。注:问到了后端的数据格式不确定,如何实现数据模板(回答不出来)
8.反问环节
个人感觉第三面发挥很差,基础还是有点不扎实。
#字节跳动招聘头条研发前端##字节跳动##前端工程师##面经##校招#