page contents

面经||【字节跳动】-前端岗-连续三轮面试(附心得后记)

面试前 在准备了一段时间之后终于下决心投递了字节跳动教育前端的简历,投完的第二天就接到了电话,先问了一下实习时间和情况,之后便约好隔天的面试时间。 这个处理简历的速度是真的快,对...

attachments-2022-01-YQIkANI461d8eedf487fb.png

面试前

在准备了一段时间之后终于下决心投递了字节跳动教育前端的简历,投完的第二天就接到了电话,先问了一下实习时间和情况,之后便约好隔天的面试时间。

这个处理简历的速度是真的快,对我这种心急的人来说十分舒适。(众所周知,等待的过程是最漫长&痛苦的)

一面(1小时)

面试前10分钟找了个地方,打开面试链接等待面试。之后就是面试官准时进来,打了打招呼后,开始面试。

  1. 为什么选择前端?
  2. 讲讲浏览器从输入网址到打开网页的整个过程,越细致越好。
  3. JS 事件循环机制?
  4. JS es6新内容?
  5. 你提到了map,讲讲和object有什么区别?
  6. 箭头函数和普通函数的区别?
  7. 跨域,相关的几个请求头的含义。
  8. 一个盒子从中间开始,碰到最左边的边界往右移动,碰到最右边的边界往左移动,如此循环,问怎么做?
  9. 你提到了requestAnimationFrame,讲讲和setInterval的区别?
  10. 用过canvas吗,如果要实现一个一笔一画写汉字的效果,应该怎么做?
  11. [算法题:写一个最多能并发执行n个promise的队列
  12. 算法题:给树上每个节点的父亲节点,还原树
  13. 反问

一面结束,面试官夸了一下基础还是不错的,在面试房间等一会,马上二面面试官就来了。心里还是挺开心的,顺利通过一面。

二面(1小时)

等了大概3分钟,二面面试官就进来了。笑眯眯的表示00后都开始找工作了,想自己当初搞前端的年代……一听就知道非常大佬,心里很虚。

  1. 打招呼。表示将从HTML,CSS,JS开始聊聊。
  2. HTML中h标签有多少个,表示段落的标签是哪个?
  3. 表示列表的标签有多少个(其实是有三个!!)
  4. 表示引用的标签是什么?
  5. 对语义化的看法?
  6. 再到CSS部分,大小单位里面有一个单位是相对字体大小的,是什么?
  7. 控制字体换行,大小写转换的属性?
  8. 怎么设置一个圆形?如果设置的值超过50%会发生什么?
  9. 还有好多忘记了……
  10. 再到JS部分,说说喜欢JS的什么地方(说了函数式
  11. forEach,map哪个更贴近函数式思想?
  12. 还有很多关于JS的基础问题不过也忘了……
  13. HTTP2.0了解吗,讲讲和HTTP1.1的区别
  14. git的基本操作,切换分支,合并,rebase等等的
  15. xss攻击讲一下,如何预防?
  16. 有没有搞搞自己喜欢的技术啊,比如上传个npm包等等。(只玩过electron
  17. 算法题:一个简单的正则匹配字符串之后替换(正好忘记了正则replace的函数是怎么用的了呜呜呜,愣是写了半天for循环做。。。
  18. 简单题:async-await改写一个回调地狱
  19. 反问

总之,二面有很多很多的基础问题,都是不涉及框架的,从一二面还是可以看出字节跳动对于基础的重视程度的。

二面结束后,面试官表示你也不用等了,我帮你联系三面面试官,等一下继续面试吧。(兴奋)

三面(1小时)

三面估计就该问简历上的项目和框架了。

  1. 介绍一下项目
  2. 项目中的亮点?
  3. 听你讲用到了localStorage,讲讲有什么需要注意的点?
  4. 给了一个网页,问如果你来实现这个页面中间的部分,做一个组件要怎么做(考布局+基本框架用法),因为我用的Vue写项目,就用Vue去写了
  5. 代码题:给一个网页,用原生JS获取页面里面某一个dom下的内容。
  6. 算法题:树的根到叶子节点的最长路径。
  7. 反问

这一面有一些题忘了,不过这一面显然就重在前端代码功底了,面试结束后并没有说是否通过了,心里还是有点小紧张的。3个小时的面试就顺利结束了。

HR面

三面后的次日收到了面试通过的电话,非常兴奋,定好了次日的HR面时间,之后HR面大概问了为什么选前端,怎么学习的,优点在哪儿等等的问题,不到10分钟就结束了,成功拿到offer!

面试体会

  • 面试速度很快,投简历约时间面试发offer不过4天。
  • 面试官很友善,气氛很不错,面试像聊天一样自在。
  • 字节很重视基础和代码能力。

心得

  • 建议多练习CSS,JS的基础,不要上来就框架+组件库写项目,可以自己实现各种各种想要的效果,自己给自己封装组件用。(我自己平时就不太喜欢用组件库,更喜欢自己去写css控制,再加几个并没有什么用但是很酷的动画)
  • 计算机网络和前端相关的好好了解了解,浏览器本身的行为也可以多看看科普文,知识文,实验实验。记忆会比较深刻。
  • 算法题就要考多刷了,理解了基本的数据结构,常见的操作,大部分题目都是裸的,锻炼锻炼代码能力即可。
  • JS基础可以看书,更进阶的内容感觉要靠多看看别人的成熟代码,别人的神奇操作,毕竟动态语言这种能玩出花来的语言还是挺难自己想出各种神奇操作的。
  • 多研究研究自己喜欢的部分吧,比如研究JS的面向对象实现方法(原型链),JS的函数式(得益于React,一些最新的函数式思想往往会有相关库为JS做了实现)。玩玩electron,node,npm,还可以给自己写个vscode插件(还被二面面试官问了有没有自己搞搞什么有趣的技术等等的问题),自定义一个markdown样式。不仅能提高兴趣,平时生活学习工作也能用得到。【我就天天用自己的markdown交学校的作业,electron做UI刷分233】

入职体验

  • 伙食很棒,有鱼有肉,下午茶(实则是坚果,面包,披萨,鸡腿等各种东西),饭后水果酸奶。
  • 内部技术建设很足,各种技术文档,完整平台建设,有问题还可以一键拉群问人。
  • 团队氛围很棒,同事都很友好,大佬也很多,能学到很多很多东西。
  • 定期的技术分享,经验分享会,对个人成长,选择都很有用。
  • 实习生不打杂,真的参与项目中去;
  • 以上就是本次分享内容,更多大厂面试经验持续关注六星社区

    想要高效学习,指路微信公众号——【python编程学习圈】每日分享学习干货,关注即可免费领取整套Python零基础到入门资料及学习教程,走过路过,千万不要错过!!快行动起来!!

    attachments-2022-05-ZwUUz0Co628f2e3079c7b.jpeg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1312 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1312 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章