Skip to content

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

笔者读大三,前端小白一枚,正在准备春招,人生第一次面试,投了头条前端,总共经历了四轮技术面试和一轮 hr 面,不多说,直接上题

一面

  1. 自我介绍,然后问了为什么学习前端

  2. 算法:实现 36 进制转换

  3. 简述 https 原理,以及与 http 的区别

  4. 操作系统中进程和线程怎么通信

  5. node 中 cluster 是怎样开启多进程的,并且一个端口可以被多个进程监听吗

  6. 实现原生 ajax

  7. vue-router 源码

  8. vue 原理(手写代码,实现数据劫持)

  9. 算法:树的遍历有几种方式,实现下层次遍历

  10. 算法:判断对称二叉树

第一次面试,当时比较紧张,面试官很和蔼,面试中问到操作系统的进程,当时不记得操作系统, 就提到了 node 多进程,然后面试官就问了 cluster 是怎样开启多进程的,并且一个端口可以被多个 进程监听吗?

答完后面试官就问了后面写完 vue 数据劫持的时候

面试官又问了 Object.defineProperty 除了 set get 外还有什么属性,我回答了 configurable enumerable。vue-router 主要提到了 hashchange 事件等,顺便跟面试官聊了一下 h5 的 historyAPI。

时间总共是 50 分钟左右,一面完了后面试官让

我等五分钟,接下来二面就开始了

二面

  1. 介绍一下项目中的难点

  2. let var const 有什么区别

  3. 你知道哪些 http 头部

  4. 怎么与服务端保持连接

  5. http 请求跨域问题,你都知道哪些解决跨域的方法

  6. webpack 怎么优化

  7. 你了解哪些请求方法,分别有哪些作用和不同

  8. 你觉得 typescript 和 javascript 有什么区别

  9. typescript 你都用过哪些类型

  10. typescript 中 type 和 interface 的区别

  11. react 怎么优化

  12. 算法题:合并乱序区间

笔者在回答 http 头部的时候,顺带跟面试官聊到了浏览器缓存,回答跨域的时候,面试官又 让我用 jsonp 实现一下跨域,回答 webpack 的时候提到了 happypack 和 treeshaking,面试官就 顺带问了一下他们的作用

算法题我当时没有写出来(主要是因为菜),二面大概 40 多分钟结 束,面试完后面试官说稍后 hr 会联系我,让我注意保持通信,还没过一小时,hr 打电话约我 第三次面试时间,不得不说,字节的效率真的高

三面

  1. 你了解 node 多进程吗

  2. node 进程中怎么通信

  3. node 可以开启多线程吗

  4. 算法题:老师分饼干,每个孩子只能得到一块饼干,但每个孩子想要的饼干大小不尽相同。

  5. 目标是尽量让更多的孩子满意。如孩子的要求是 1, 3, 5, 4, 2,饼干是 1, 1,

  6. 最多能让 1 个孩子满足。如孩子的要求是 10, 9, 8, 7, 6,饼干是 7, 6, 5,最多能

  7. 让 2 个孩子满足。

  8. 算法题:给定一个正整数数列 a, 对于其每个区间, 我们都可以计算一个 X 值;

  9. X 值的定义如下: 对于任意区间, 其 X 值等于区间内最小的那个数乘上区间内所有数和;

  10. 现在需要你找出数列 a 的所有区间中, X 值最大的那个区间;

  11. 如数列 a 为: 3 1 6 4 5 2; 则 X 值最大的区间为 6, 4, 5, X = 4 * (6+4+5) = 60;

三面大概是 1 小时,面试官比较冷漠,就问你知道不知道,算法思路,然后实现这个算法, 面试完感觉凉凉,但是第二天就收到 hr 到来的电话,约下一轮的面试时间。

四面

  1. 算法题:两个有序链表和并成一个有序链表

  2. https 与 http 有什么区别 (一面刚好也被问到)

  3. cookie 有哪些属性

  4. cookie,session,localstorage,sessionstorage 有什么区别

  5. 怎么禁止 js 访问 cookie

  6. position 有哪些属性

  7. 你知道哪些状态码

  8. options 请求方法有什么用

  9. less,sass 它们的作用是什么

  10. 平时怎么学习

  11. 你什么时候可以来实现

  12. 能实习多久

四面算是比较简单的一次面试,面完后第二天晚上 hr 打来了电话,约与 hr 面的时间

hr 面

  1. 你什么时候接触前端的

  2. 平时怎么学习

  3. 对未来的规划是什么

  4. 你对哪个项目印象深刻,说一下项目的难点

  5. 你对我们公司有什么了解

  6. 能实习多久 等等

hr 面主要聊一聊人生理想,未来规划啥的,大概半小时的时间

四轮技术面 + 一轮 hr 面结束,学习到了不少,面试也是一个学习检测自己的过程,面试前大概复习了 一周的时间,把以前的代码看了一下,字节跳动比较注重算法,面试前刷了下 leetcode 和剑指 offer, 也刷了些在牛客网上的面经。。大概就说这些了,写代码去了~ 祝大家都能收获大厂 offer~

转载自:https://juejin.im/post/6844904088337907720

最后

欢迎关注「三分钟学前端」,回复「交流」自动加入前端三分钟进阶群,每日一道编程算法面试题(含解答),助力你成为更优秀的前端开发!

》》面试官也在看的前端面试资料《《

“在看和转发” 就是最大的支持