春招|字节前端123面+hr面

春招|字节前端123面+hr面
最新回答
渺小的秘密

2022-01-22 03:16:17

字节跳动前端春招1-3面及HR面核心考点总结如下

一面+二面:技术基础与项目考察
  • CSS与HTML

    盒子模型相关属性(如margin、padding、border、box-sizing)。

    原型链与instanceof实现原理:通过遍历原型链判断构造函数的prototype是否出现在对象的原型链中。

  • JavaScript

    ES6特性

    let/const与var的区别(块级作用域、暂时性死区、重复声明限制)。

    箭头函数与普通函数的差异(无this/arguments绑定、不能用作构造函数)。

    数据类型处理:后端传递的大数在JS中可能丢失精度(因JS使用IEEE 754双精度浮点数存储数字),需用BigInt或字符串处理。

    Promise:三种状态(pending、fulfilled、rejected)及状态不可逆性。

    数组判断:instanceof、Array.isArray()、Object.prototype.toString.call()。

    手写算法

    Promise.all:接收Promise数组,返回新Promise,所有输入Promise成功时解析为结果数组,任一失败则直接拒绝。

    双向链表:需实现节点插入(头插/尾插)、删除(按值/按位置)及链表遍历。

    分饼干问题:贪心算法,优先满足需求小的孩子以最小化饼干使用量。

    统计字符串中出现最多的字母:遍历字符串,用哈希表记录频率,输出最大值。

  • Vue框架

    实现原理:数据驱动视图,通过Object.defineProperty或Proxy实现响应式,虚拟DOM优化渲染。

    Vue Router模式

    Hash模式:依赖URL的hash变化(#后部分),兼容性好但URL不美观姿返。

    History模式:基于HTML5的history.pushState,需后端配置避免404。

    MVVM与MVC区别

    MVC:Model-View-Controller,Controller处理逻辑,View被动渲染。

    MVVM:Model-View-ViewModel,ViewModel通过数据绑定自动同步Model与View,减少手动DOM操作。

  • 网络与安全

    HTTPS过程:非对称加密交换对含拦称密钥,后续通信用对称加密保证效率。

    HTTP/2特性:迹老饥多路复用、头部压缩、服务器推送。

三面:前端体系与综合能力
  • 前端工程化

    Webpack:需熟悉模块打包原理、Loader/Plugin机制、性能优化(如代码分割、Tree Shaking)。

  • 组件设计

    通用搜索组件:需考虑防抖、异步请求处理、结果缓存、无障碍访问(ARIA属性)。

  • 项目难点解决

    需结合具体项目阐述技术挑战(如性能瓶颈、兼容性问题)及解决方案(如虚拟滚动、Polyfill)。

  • 算法题

    最短子序列和:滑动窗口法,维护窗口内和,动态调整窗口大小。

  • 智力题

    64匹马找前4名:分8组比赛,取各组前3名共24匹,再通过多轮比赛确定前4(需详细推导过程)。

HR面:职业规划与软技能
  • 项目经历:需清晰描述项目角色、技术栈、成果量化(如性能提升百分比)。
  • 实习时间:明确可到岗时间及实习时长(通常3-6个月)。
  • 专业差异:解释跨专业选择前端的原因(如兴趣、技术栈匹配度)。
  • 职业规划:需表达对前端的长期兴趣,同时可提及技术广度(如全栈、工程化)或深度(如框架源码、性能优化)。
决策建议:实习与返校的权衡
  • 优先实习的情况

    实习内容与职业规划高度匹配(如核心业务、技术栈先进)。

    团队氛围佳(如面试体验反映的引导式面试风格)。

    返校后可通过线上学习弥补课程缺失。

  • 优先返校的情况

    学校有强制返校政策或关键课程/实验需线下完成。

    实习岗位技术含量低(如重复CRUD),对能力提升有限。

提示:若获得offer,可与HR沟通灵活到岗时间(如分阶段实习),或申请远程实习过渡。