当前位置: 首页 > 面试经验 >

字节跳动前端实习面经(一面二面凉)

优质
小牛编辑
149浏览
2023-03-28

字节跳动前端实习面经(一面二面凉)

日常整理上学期面经!

面试时间:11月中旬

一面(45min)

自我介绍,问项目

项目挖了很多点,面试官水平确实高,问了我很多我之前没有考虑过点问题,比如请求的并发问题

然后开始计网拷打

UDP和Tcp的区别,使用场景?优劣?如何让UDP可靠?

上来就考计网说实话有点懵,答的磕磕绊绊,不过该答的还是答出来了

从输入URL到出现页面的过程?

这个题我之前刚刚研究过,从URL解析到缓存到解析IP和MAC,三次握手,浏览器资源间阻塞问题,解析HTML的过程到DOM树构建到渲染页面,直接疯狂输出,到了后面面试官跟我说不用这么细

解释一下闭包?

可能上个问题我答太久了,这个问题问完后面试官还特地加一句:“不用太详细”

Vue响应式原理

又是熟悉的领域,重拳处理

Vue的更新是同步还是异步?为什么这么设计?

vue事件环问题,重拳出击

算法:合并两个有序数组,力扣地址:https://leetcode.cn/problems/merge-sorted-array/

简单题,三分钟A完

本来以为结束了,结果面试说,哎,时间还早,再写一道吧(所以说算法题不要写太快啊!!!!)

第二道算法:最长回文子串 力扣地址:https://leetcode.cn/problems/longest-palindromic-substring/

A完面试结束

感觉一面完自我感觉还挺好的,除了最开始的计网三连鞭差点没接住,后面的题都嘎嘎答,算法还全写出来了

两个小时后约二面

二面(1h,凉)

自我介绍,问项目

字节问项目是真不一样啊,不怎么关心实现,更关心使用方案的原因,而且会一直深挖,比如:

  • 问:项目里怎么做大数据列表优化的?
  • 答:懒加载
  • 问:懒加载用那种方式实现的?
  • 答:IntersectionObserver
  • 问:那你觉得这种方式跟监听滚动的区别是什么,有什么好处
  • 答:IntersectionObserver是观测节点,不会一直执行回调函数,而且这个API是微任务,会在多次列表多次位置变化后执行,相当于将观测元素的多次变更合成一次,减少执行次数啊吧啊吧....
  • 问:那你了解过虚拟列表吗
  • 答:了解的不多

看到我似乎没有仔细了解过虚拟列表的实现后,面试官似乎来了兴趣,开始给我介绍了虚拟列表的整个概念,然后开始开始继续追问:

  • 了解了虚拟列表的概念后,你觉得他的实现方式是什么?(之前真不了解虚拟列表啊,现场根据概念猜实现??)
  • 刚才你说的是固定高度的列表,如果列表不定高度,你觉得应该如何实现?
  • 你觉得在实现虚拟列表的过程中必须要有的值是哪些?
  • 你觉得虚拟列表和你刚才说的用微任务实现懒加载,有怎样的优劣?
  • ....

总之就是让你现场想方案,推测实现思路,比较方案优劣啥的,全程压力拉满。这种时候八股压根没用(感觉如果我会虚拟列表估计也就不会深问了),纯纯地考察临场应变,技术见识以及举一反三的能力了

然后就是计网拷打

http各个版本的区别

http3

队头阻塞问题,为什么http2没有完全解决队头阻塞问题?

https的加密过程

了解过websocket吗?

websocket的重连?

http如何进化成websocket?

websocket的问题基本全军覆没(悲)

然后是一些其他问题

vue2和vue3的区别?

vite为什么比webpack快?

defer和async

在关注哪些新的前端技术?

算法题:爬楼梯,写完让优化空间复杂度,优化完让优化代码结构

二面寄!!!

场景题下去后看了看虚拟列表的实现,感觉自己面试时答的一般吧,个人感觉不好不差,但计网答的太差了,websocket相关的基本全军覆没,队头阻塞也好多点没答上来,而且当时一直在看八股,问在关注的前端技术甚至有点懵,答了好久前看的svelte,结果面试官继续追问直接寄

不得不说字节的面试官是有水平的,一方面确实是通过面试学到了不少东西。另一方面发现了自己好多不足的地方,大二第一次面完字节感觉到了自己JS基础不行,然后嘎嘎恶补JS基础,现在第二次面又发现了自己计网不扎实的问题......继续努力吧

等我计网准备好了,继续三战字节!

#我的实习求职记录##前端##实习##前端实习##字节#
 类似资料: