首页 > 字节跳动日常实习前端开发123+hr面(已offer)
头像
离歌倾城
编辑于 2021-03-27 13:03
+ 关注

字节跳动日常实习前端开发123+hr面(已offer)

首先表明一下身份:武汉某211大三小菜鸡,自学前端一年多
在12月底的时候,因为身边好几个非常优秀的小伙伴都在投简历找实习,老是听说谁谁谁拿到了哪哪哪的offer,谁谁哪哪几面了。然后自己整理了一下项目,给自己的移动端聊天室补了下文档后,也加入了找实习的队伍。
总体而言经过大概两周多的时间,投了20多家,最后面试了两家公司:vivo前端日常实习和字节跳动前端日常实习(都拿到了offer,最后选择了字节)
关于面试的一些细节,顺序也不是很记得了,在这里凭借印象写一些,算是回馈牛友

字节跳动一面(50min)

字节一面其实有点自闭的来着,因为有很多东西没有深入去了解,后面多做了一些准备。

  1. 自我介绍
  2. tcp三次握手了解吗?为什么不能两次?(插了一句计网没系统学过,下学期才开课,再没问过计网...)
  3. 为什么学前端?
  4. 栈和队列了解吗?
  5. 如何用两个栈模拟队列?
  6. 对数组 [44, 91, 93, 30, 21, 9, 89] 进行大顶堆排序后,再删除最大值后,数组的排序顺序是?
  7. 事件委托和冒泡了解吗?怎么获取事件委托的真实元素。
  8. 你怎么理解闭包
  9. 下面代码执行结果(考验JavaScript变量提升和函数变量冲突)
console.log('print #1: ', typeof a) var a = 1 console.log('print #2: ', typeof a) var a = '1' console.log('print #3: ', typeof a) function a() { console.log('print #5: ', typeof a) 
} console.log('print #4: ', typeof a)
a() 复制代码
  1. 父子组件useEffect执行顺序,执行时机
  2. websocket和socket的底层原理是什么?
  3. 你怎么理解redux
  4. 用过哪些hooks
  5. 用过useLayoutEffect吗,知道useMemo和useCallback吗?(讲hooks的时候前面没提到)
  6. 你的项目中,eggjs怎么部署的?
  7. 你部署后是单实例还是多实例?
  8. eggjs的多进程是怎么实现的
  9. 写一个异步并发调度器,见博客:实现一个异步并发调度器
  10. 反问

面完后自闭了😥,点了个外卖都没有很多心情吃,然后晚上hr小姐姐告诉我过了😁

字节跳动二面(65min)

二面由于元旦过了蛮久,一直到1/7才面上,我当时刚考完编译原理考试(hhhh) 二面面试官一直在笑,非常的友好,也非常给力!然后我整个人都很放松,面完感觉自己沟通能力有了一个不错的提升。
不过由于二面问的挺多的,然后过去的有些久了,记得不是很清楚了...(可能有较多遗漏)😁

  1. 自我介绍
  2. 项目里用到了eggjs,你怎么学习的egg?为什么选择eggjs?
  3. eggjs里context对象是怎么确定对应到每一个连接的(有点懵逼)
  4. react里怎么进行组件通信的,和vue有什么不同?
  5. 怎么在react里模拟实现vue的emit-on机制(思考了一下,我回答本质上还是通过props)
  6. react的context用过吗?有什么作用?和redux有什么区别?
  7. 一般怎么学习技术?为什么选择前端?
  8. 你有用过哪些UI库?
  9. 代码运行结果:

如下会输出什么信息,为什么:

function hello() { console.log(name) console.log(age) var name = 'lisan' let age = 18 }
hello() 复制代码
  1. 写一个提示框组件(我用的原生js)
  2. 针对提示框,怎么保证点击中间的提示框不收起(因为我一开始没考虑到,点击就收起了)
  3. 针对提示框,怎么利用事件代理和委托来做事件处理
  4. (算法题)实现函数接受任意二叉树,求二叉树所有根到叶子节点路径上所有节点,组成的数字之和
  5. 反问

可能也是因为问的挺多的,有些回忆不起来了,暂时就想起了这些。

字节三面(40min)

字节的第三面应该是我发挥最好的一次,全程聊那个聊天室项目,面试官人也超赞!(据说是大leader)

  1. 自我介绍
  2. 项目的大致流程,能讲讲怎么使用吗?
  3. 项目数据库表的设计
  4. 数据库存储引擎的原理
  5. 数据库优化的手段
  6. Redux的原理,你怎么理解Redux
  7. 前端用redux做数据管理,那么你后端如果也需要进行数据管理呢,你怎么设计后端的数据管理(有点懵逼)
  8. 为什么做这个项目
  9. 你这个项目最大的收获是什么
  10. 项目遇到的难点
  11. 项目有参考其他开源项目吗?(完全自主设计,借鉴了qq简洁模式)
  12. 项目里有用到Mysql,为什么用Mysql不用其他数据库?
  13. websocket的原理(聊了一下复用http的握手部分和对应upgrade里的升级,一面问了没答好,三面会啦!自豪!)
  14. socket.io和websocket的区别(聊到了socket.io的封装,更进一层,不支持websocket的浏览器会自动切换长轮询之类的)
  15. 反问

字节HR面(30min)

终于见到一直通知我的hr小姐姐,是个贼可爱贼好看的小姐姐!开心!😆

  1. 自我介绍
  2. 你大学的一天一般怎么度过
  3. 你手上的项目里对你帮助最大的是哪一个?为什么?
  4. 聊聊你的两个独立开发项目?
  5. 怎么想到做这两个项目的?
  6. 看到有做过课表,能聊聊这个课表吗?
  7. 看到你有做过浏览器拓展,为什么要做这个拓展呢?
  8. 你能评价一下自己吗?你怎么评价你之前的面试?
  9. 你有提到别人说你是一个“学习机器”,为什么呢?(卷王本王🙄)
  10. 为什么想来字节实习,最大的目的是什么?
  11. 大概入职时间?实习时长?
  12. 反问(实习生培养机制,大致负责内容,多久能收到回音并提到了自己手上有一个vivo的offer)

同时面对实习期末实训,鸭梨山大,还是步履蹒跚地坚持着把流程一步步走下来。
整体而言,大厂的面试确实很有收获。
也希望自己往后能努力多学习一些内容,补充学习一些计算机网络和os基础知识,同时深入前端开发,成为一名更好的前端开发!
诸君,共勉!😉


更多模拟面试

全部评论

(6) 回帖
加载中...
话题 回帖