字节跳动前端寒假实习面经 已拿offer
楼主大三,由于下学期基本没课了,所以准备找份实习。本人项目经验较多,基础一般,所以面试主要准备的是前端基础,从10月份开始按照牛客的面筋进行知识点总结,这些面经给了我很大的帮助,特此回馈牛客~
一面(50分钟视频面试)
11月25日通过内推途径提交简历,28日接到面试通知,约在11月29日进行一面。
- 讲一讲你做的最好的项目
- 浏览器和Node.js如何加载js文件,有什么区别
- 浏览器对esmodule的兼容性怎么样
- 搭建react项目的时候,你通常是自己配置Webpack还是使用脚手架
- Webpack配置文件的作用
- 在React中有几种创建组件的方式
- 布局页面喜欢使用哪几种布局方式?
- Flex布局中,如何使一个元素水平垂直居中?
- 实现counter函数
function counter(v) {...} const c = counter(3) console.log(c.add()) // 4 console.log(c.sub()) // 3 c.add() console.log(c.add()) // 5
- 输入根节点,打印标签路径,及其路径上的data-v的最大值
<div id="root" data-v="3"> <p data-v="1">p1</p> <span dataa-v="2"> span1 <span data-v="4">span2</span> </span> <p data-v="99">p2</p> </div> 输出: ["DIV"], 3 ["DIV", "P"], 3 ["DIV", "SPAN"], 3 ["DIV", "SPAN", "SPAN"], 4 ["DIV", "P"], 99
- 写出这段代码的输出结果
function createTask(ms) { return () => { console.log('start', ms); return new Promise(r => setTimeout(() => { console.log('end', ms); r(ms); }, ms)); } } const tasks = Array(5).fill(null).map((_, i) => createTask(i * 1000)); Promise.all(tasks.map(task => task())).then(console.log);
- 接上一题,实现限制同时运行任务数的函数limitRunTask
// 表示同时只能有2个任务运行,且then中得到的数组顺序和通过Promise.all得到的一致 limitRunTask(tasks, 2).then(console.log);
花了大概30分钟聊了项目,在聊项目的过程中面试官提出了一些针对项目的问题。之后是手撕代码,代码中存在的一些问题,面试官都帮我指出了,面试官真的超好。
之后接到一面通过的通知,约在12月2日进行二面。
二面(50分钟视频面试)
- 实现promise
- 块级元素、行内元素的区别
- 对行内元素设置padding,margin有什么效果
- 水平垂直居中的方式,尽可能多
- 元素层叠顺序是如何计算的
- 父元素宽高固定,子元素宽高不固定 ,如何将子元素水平垂直居中
- 百分比translate是根据什么值计算的
- 百分比padding,margin是根据什么值计算的
- display:inline-block元素之间存在间隙,原因及解决方案
- display:inline-block元素和父元素上下存在间隙,产生原因及解决方案
- 如何防止XSS攻击
- 有哪些鉴权方式
- cookie如何保存登录状态
- cookie有哪些字段
- HTTP缓存方式
- Cache-Control有哪些字段,它们的作用
- Cache-Control: no-cache / no-store 的区别
- +obj是怎么计算的(obj是一个Object)
- HTTPS SSl握手过程
- 对密码学的了解怎么样
- 讲一下对称加密、非对称加密
- JS浮点数精度问题,原因及解决方案
- Nodejs createServer启动HTTP服务端在底层做了哪些事情
- 如何做TCP拥塞控制
- 移动端如何解决图片加载造成的闪动
二面除了一道编码题,之后一直都是提问,压力还是挺大的。网络方面的问题自己答的比较差,有些记忆性的问题也没有完全答出来,这一面感觉答的一般。不过面试官说我编码题完成的不错,算是有所加分。
之后约在12月5日进行HR面。
HR面
HR面主要就问了一些个人经历的问题,面试官姐姐很好,这一面也没有前两轮技术面的紧张感。最后聊到了下学期实习的安排,以及毕业后打算的问题。
最后在12月9日收到offer邮件。
总结一下,字节的面试体验非常好,非常有效率。面试官也都非常好,在手撕代码的时候有一些问题,他们都帮忙指出了。最后要特别感谢帮我内推的HR姐姐,在一二面后等不及想要知道结果,她都在第一时间告诉了我面试的结果~特别感谢!
#字节跳动##实习##前端工程师#