字节跳动今日头条前端面经(4轮技术面+hr面)
Posted androidstarjack
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字节跳动今日头条前端面经(4轮技术面+hr面)相关的知识,希望对你有一定的参考价值。
点击上方蓝色“终端研发部”,选择“设为星标”
学最好的别人,做最好的我们
作者:要加油啊
原文:https://juejin.im/post/6844904088337907720
笔者读大三,前端小白一枚,正在准备春招,人生第一次面试,投了头条前端,总共经历了四轮技术面试和一轮hr面,不多说,直接上题
插句题外话,对于初学者来讲一些初级或者刚工作的同学,刚开始没有合适的书籍或者是资源,那么学习过程适非常痛苦的。我整理的部分书籍开源项目前已经有200+并持续更新,并且我也可以亲自指导学习Java,对于想入门的同学很有帮助:
技术github学习地址:https://github.com/codeGoogler/JavaCodeHub
程序员编程书籍:https://github.com/codeGoogler/
一面
自我介绍,然后问了为什么学习前端
算法:实现36进制转换
简述https原理,以及与http的区别
操作系统中进程和线程怎么通信
node中cluster是怎样开启多进程的,并且一个端口可以被多个进程监听吗
实现原生ajax
vue-router源码
vue原理(手写代码,实现数据劫持)
算法:树的遍历有几种方式,实现下层次遍历
算法:判断对称二叉树
❝
第一次面试,当时比较紧张,面试官很和蔼,面试中问到操作系统的进程,当时不记得操作系统, 就提到了node多进程,然后面试官就问了cluster是怎样开启多进程的,并且一个端口可以被多个 进程监听吗?
❞
答完后面试官就问了后面写完vue数据劫持的时候
面试官又问了Object.defineProperty除了 set get外还有什么属性,我回答了configurable enumerable。vue-router主要提到了hashchange 事件等,顺便跟面试官聊了一下h5的historyAPI。
时间总共是50分钟左右,一面完了后面试官让
我等五分钟,接下来二面就开始了
二面
介绍一下项目中的难点
let var const 有什么区别
你知道哪些http头部
怎么与服务端保持连接
http请求跨域问题,你都知道哪些解决跨域的方法
webpack怎么优化
你了解哪些请求方法,分别有哪些作用和不同
你觉得typescript和javascript有什么区别
typescript你都用过哪些类型
typescript中type和interface的区别
react怎么优化
算法题:合并乱序区间
❝
笔者在回答http头部的时候,顺带跟面试官聊到了浏览器缓存,回答跨域的时候,面试官又 让我用jsonp实现一下跨域,回答webpack的时候提到了happypack和treeshaking,面试官就 顺带问了一下他们的作用
❞
算法题我当时没有写出来(主要是因为菜),二面大概40多分钟结 束,面试完后面试官说稍后hr会联系我,让我注意保持通信,还没过一小时,hr打电话约我 第三次面试时间,不得不说,字节的效率真的高
三面
你了解node多进程吗
node进程中怎么通信
node可以开启多线程吗
算法题:老师分饼干,每个孩子只能得到一块饼干,但每个孩子想要的饼干大小不尽相同。
目标是尽量让更多的孩子满意。如孩子的要求是 1, 3, 5, 4, 2,饼干是1, 1,
最多能让1个孩子满足。如孩子的要求是 10, 9, 8, 7, 6,饼干是7, 6, 5,最多能
让2个孩子满足。
算法题:给定一个正整数数列a, 对于其每个区间, 我们都可以计算一个X值;
X值的定义如下: 对于任意区间, 其X值等于区间内最小的那个数乘上区间内所有数和;
现在需要你找出数列a的所有区间中, X值最大的那个区间;
如数列a为: 3 1 6 4 5 2; 则X值最大的区间为6, 4, 5, X = 4 * (6+4+5) = 60;
三面大概是1小时,面试官比较冷漠,就问你知道不知道,算法思路,然后实现这个算法, 面试完感觉凉凉,但是第二天就收到hr到来的电话,约下一轮的面试时间。
四面
算法题:两个有序链表和并成一个有序链表
https与http有什么区别(一面刚好也被问到)
cookie有哪些属性
cookie,session,localstorage,sessionstorage有什么区别
怎么禁止js访问cookie
position有哪些属性
你知道哪些状态码
options请求方法有什么用
less,sass它们的作用是什么
平时怎么学习
你什么时候可以来实现
能实习多久
四面算是比较简单的一次面试,面完后第二天晚上hr打来了电话,约与hr面的时间
hr面
你什么时候接触前端的
平时怎么学习
对未来的规划是什么
你对哪个项目印象深刻,说一下项目的难点
你对我们公司有什么了解
能实习多久 等等
hr面主要聊一聊人生理想,未来规划啥的,大概半小时的时间
❝
四轮技术面+一轮hr面结束,学习到了不少,面试也是一个学习检测自己的过程,面试前大概复习了 一周的时间,把以前的代码看了一下,字节跳动比较注重算法,面试前刷了下leetcode和剑指offer, 也刷了些在牛客网上的面经。。大概就说这些了,写代码去了~ 祝大家都能收获大厂offer~
❞
关于如何学习Java,一方面需要不断的去学习,把基础知识学扎实,另一方面也要认识到java的学习不能仅仅靠理论,更多的是靠实操,所以要多练习多做项目,在实践中学习才是最好的学习方法。很多人刚开始不知道怎么去学习,这里我将一些重要的技术文章整理到了github上开源项目上,希望能给大家带来一些帮助,项目是:JavaCodeHub
另外,还整理了一些针对于程序员的编程书籍项目,都放到了github上面,项目为:ProgramBooks 需要的话可以自取。地址:https://github.com/codeGoogler/ProgramBooks
如果github访问太慢?我同时也把去放到了码云上面ProgramBooks
最后,照旧安利一波我们的公众号:「终端研发部」,目前每天都会推荐一篇优质的技术相关的文章,主要分享java相关的技术与面试技巧,我们的目标是:知道是什么,为什么,打好基础,做好每一点!这个主创技术公众号超级值得大家关注。
以上是关于字节跳动今日头条前端面经(4轮技术面+hr面)的主要内容,如果未能解决你的问题,请参考以下文章