字节跳动今日头条前端打脸(4轮技术面试+hr面试),看小白如何逆袭头条前端一共经历了四轮技术面试和一轮hr面试。废话不多说,直接上题自我介绍,然后问我为什么学前端算法:简单介绍https的原理和与http的区别实现36进制转换进程和线程之间是如何通信的操作系统?clusterinnode如何实现多进程,一个端口可以被多个进程监听?实现原生ajaxvue-router源码Vue原理(手写代码,数据劫持)算法:树遍历有几种实现底层遍历算法的方法:初面试判断对称二叉树,当时比较紧张,和面试官很亲切。面试的时候问了操作系统的进程。当时不记得是什么操作系统,所以就提到了node多进程,然后面试官问到集群是如何实现多进程的,一个端口可以被多个进程监听吗?回答完面试官问他什么时候写完vue数据劫持,面试官问Object.defineProperty除了setget还有什么属性,我回答configurableenumerable。vue-router主要提到了hashchange事件等,跟面试官聊了聊h5的historyAPI。总时间约为50分钟。第一部分结束后,面试官让我等五分钟,然后第二部分开始抄代码。第二部分将介绍项目中的难点。letvarconst有什么区别?你知道解决跨域问题有哪些方法,如何优化webpack,你知道哪些请求方法,它们的作用和区别是什么?你认为typescript和javascript有什么区别?你用过什么类型的打字稿?类型和接口的区别react的算法如何优化问题:合并乱序区间我在回答httpheader的时候和面试官聊到了浏览器缓存的问题。回答跨域的时候面试官让我用jsonp实现Domain,回答webpack的时候提到了happypack和treeshaking,面试官顺便问了下他们的功能。算法题没写(主要是吃的),2面40分钟左右结束。面试结束后,面试官说hr稍后会联系我,让我保持联系。不到一个小时,hr就打电话给我预约第三次面试。不得不说bytes的效率真的很高。节点进程如何通信?节点可以启用多线程吗?算法题:老师把饼干分了,每个小朋友只能分到一块饼干,但是每个小朋友想要不同大小的饼干。目标是让尽可能多的孩子满意。比如孩子的要求是1,3,5,4,2,饼干是1,1,最多可以满足1个孩子。比如孩子的要求是10、9、8、7、6,饼干是7、6、5,最多可以满足2个孩子。算法题:给定一个正整数序列a,对于每个区间,我们可以计算出一个X值;X值的定义如下:对于任意区间,其X值等于区间中最小的数乘以所有Sum;现在你需要在序列a的所有区间中找到X值最大的区间;例如序列a是:316452;那么X值最大的区间为6,4,5,X=4*(6+4+5)=60;三个面大概1小时,面试官比较冷漠,所以问你知不知道,算法思路,然后实现这个算法。面试完感觉爽,结果第二天就接到hr的电话预约下一轮面试。复制代码四面算法题:两个有序链表合并成一个有序链表https和http有什么区别(也问了一面)cookies的属性是什么cookie,session,localstorage,sessionstorage是什么区别如何禁止js访问cookieposition有哪些属性?你知道哪些状态码吗?期权的用途是什么?less和sass的作用是什么?hr打电话跟hr约好copycode。你是什??么时候接触前端的,平时是怎么学习的?未来的计划是什么?你对哪个项目印象比较深?说说这个项目的难度。你对我们公司了解多少?实习能持续多久?hr面试主要是谈人生理想,未来规划等等。复制代码大约需要半个小时。四轮技术面试+一轮hr面试结束。我学到了很多。面试也是一个学习和检验自己的过程,面试前复习了大概一周的时间之前的代码。字节跳动更注重算法。.说的差不多了,我去写代码了~祝大家都能拿到大厂的offer~最后面试前准备了好久,刷了一大堆大厂的面试题,还有无偿分享给大家,也算是一种感恩的回馈。有需要的朋友可以点此免费获取题目+解析PDF。分为HTML、css、JavaScript、React、Vue、浏览器、服务器和网络、算法等......篇幅有限,如需完整版面试题,只展示部分内容+分析,就【点我】,免费分享给大家。
