字节跳动前端岗位面试(已拿offer)文末附赠其他面试面经等

我有一个朋友的分享
秋招,有幸去字节面试了,顺便拿到了offer,把自己记忆中的东西写下来,供大家参考一下,有啥对不对的地方,欢迎大家指正!


一面 1h 左右

css 如何实现垂直居中?(这里我就说了四种,包括行内和 absolute 的情况)

position 有哪几种?分别说一下对应的效果和用法

css 选择器优先级,这里忘了复习了有点尴尬,小细节没在意,不过大概的说 出来了也算是通过了

js 原型链,问了一下 js 如何创建对象,然后给了一个例子,问这个例子的原 型链长什么样,代码区打了一下,到对象和函数上层的时候有点卡壳,然后面试 官提醒了我一下 object 和 function 互相是循环的 (那个时候基础知识真的不咋行,现在看看感觉真是太丢脸了 qaq)

顺势问了 new 的操作,然后实现了一个 new 的函数(写了一个比较乞丐的 版本,解释了一下,还行)

然后因为我简历上写了会 vue 就问了 MVVM 结构,聊到了页面渲染和响应 式,我就顺便讲了一下响应式

MVVM 和 MVC的区别

Vue 生命周期,在哪个阶段可以获取页面 dom 信息

Vue 的组件通信 10. 聊到一些网络相关,问了 TCP 和 UDP 的区别

讲一下 TCP 的三次握手和四次挥手

然后是问了 promise 有哪几种状态

手写一个 promise(这个我写了一个雏形,没具体实现全,有点可惜,不过 面试官跟我说还行 2333333 一面的气氛真的 real 和谐充满欢声笑语)

算法题:最长公共前缀,这个做过!开心!

算法题:多层数组嵌套降级,这个用了递归卡了一阵子……思路是对的但是 实现上效率有点低,还把迭代和递归实现搞混了……(那个时候还不会 reduce, 实在是菜。) 因为在字节大概经历了 4 次一面(两次实习两次秋招),一面和其他公司差不多 都是基础知识题,不过最大的区别可能是特别强调实战能力,字节的面试全程都在手撕,提前批一面代码区刷新了 8 回(8 个题都得写代码)感觉一次面试的代 码浓度可以高过 50%这样,非常注重实战。但是难度也都不是高,冷静思考都 没什么问题!不会了还可以跟面试官讨论 2333333 面试官们人都挺好的


二面 1h 左右

大概在一面结束之后 5-10min 吧,我先喝了几口水……一面叨叨了一个小时没 停真的很累,然后二面的面试官进来了,二面就比较凉……因为字节是秋招我经 历的第一场面试所以 开头问了一下项目的情况,根据项目问了一点我的工作,接触前端有多久(因为 我也就一年左右的经验所以其实会的不多),在每个项目里学到了什么,没做项 目的时候学了什么,怎么学的这样的问题,然后开始就是实战写代码,这波我答 的就有点惨了……

给了一个具体的需求让写 html+css,需求大概是模块水平垂直居中对齐+不 定高,按文字自适应+带灰色遮罩+弹出动画 都怪我 css 好久没写了写的很费劲……建议各位 css 可以多找几个 css 实例题做 做!俩次面字节二面都会考具体的 css 实现

然后问了一下 css 的动画怎么做,但是我没用过……答了一个 3D 和 rotation (dbq 我好菜)后来就顺便说了几句 setTimeOut, setTimeInterval 和 RequestAnimiationFrame,这里感觉答得不是很好

flex 有哪些常用标签,我说了几个我用过的,面试官反问了我两个

又问了一下 position,这里具体解释了一下 position 的属性影响

还是具体实现,给一个 ul 下面插入 100 个 li 应该怎么插入,如何优化 dom 操作

具体实现:有一个有一百万个 url 的数组,如何从这一百万个 url 里获得资源 (我答了 promise 和 promise.all,写了一下思路,面试官要我写具体实现,就 也没写得很明白,整体拉低了不少印象分。感觉字节的面试真的很看实践!光有 思路是不够的!)

算法:判断链表内是否存在环,这个题其实我做过,但是当时忘了……面试官 提醒了一下才知道是快慢指针……真的挺不好意思的呜呜呜

总体上字节的二面特别看重具体实现,会说思路不够,需要真正的写出可以实现 的代码来。一般算法就是 leetcode 的 easy/medium,不会太难,一些基本概 念也会挖的比较深,总体上说还是很有难度。总之提前批止步二面了。字节的面试一般一面和二面肯定会连在一起,如果三面面试官也有时间的话三面也会连下 来,总之要是过了一阵子都没消息基本上就是凉了 qaq 总之这次面试结束大概 过了半个月左右 hr 小姐姐又捞了我一手跟我约了正式批再来一次,还很贴心地 嘱咐了我好多让我多做点题哈哈哈哈哈!


正式批 一面 1h 左右

之前都是先问基础,这次很难得的从一面就开始问项目了!

http 请求的几个常见方法

说下 get 和 post 的区别

get 和 post 的具体应用场景和一些注意事项(忘了这里是啥问题了,总之一 路聊到了 301,302 和 307 状态码,聊了一下重定向的一些安全处理)

因为刚刚说了在 http 跳 https 的时候存在 post 改 get 的情况所以问了一下 为什么(操作幂等性)

线程和进程的区别(没学过操作系统所以直接说了不知道,放弃挣扎.jpg)

说下跨域

http 简单请求是什么意思

浏览器缓存策略

TCP 和 UDP 的区别

了解流媒体对 UDP 稳定性的优化处理吗(不了解。但是面试官说没事回去 可以自己去看看)

开始聊 js,js 的基本数据类型(说了 symbol 和 bigInt)

哪些操作是异步的?(说了 promise setTimeout)

promise 的一些基本概念

async await 的一些用法

js 继承的几种方式(居然没让我写代码我都准备好了……)

css 好像考了点啥不太重要的我忘了 dbq,总之还有对项目细节的一些提问,好像还问了一下排序算法的时间复杂度空间复杂度……(具体忘了)

做个题,实现链表尾部插入新节点。这个我写得挺磕磕绊绊的 233333 但是 在面试官的提醒下还是做出来了,主要是考虑判断传入链表是否有头结点,是否 为尾部指针

算法题:版本号判断,还是挺简单的

总之基本上一面一个小时左右,然后叫我等了一会(大概十分钟?)来喊二面面


试官二面 1h 左右

二面面试官感觉非常的和蔼,但是也很有气场!二面时间也差不多一个小时,主要是被我写题磨磨蹭蹭给耽误了好多时间呜呜呜

大概问了一些项目相关问题,比如印象比较深的技术点,怎么学习的和解决 的 balabala

开始正式问问题:css 的垂直居中和水平居中(说了一堆)

css 选择器优先级(这次我会了!自豪!)

html 的 dom 树如何生成的(一杆子捅到虚拟 dom 被友善地提醒了扯得有点远,dbq 这题我不会)

小程序和 pc 页面有什么差异(因为项目里写了小程序)

项目里的一些性能优化的点

7.做个题,看代码是否能完成输出,如果不能就说下几个改的点,题太长了没记 写下几个考点吧。大概是一个利用异步实现 1 秒输出一个条目的一个函数,生成 条目要读取对象内的数据,主要修改点是:1.for 循环内使用 let 控制作用域 2. setTimeout 单纯用 1000 无法实现 1 秒输出一个需要乘以 i+1 3.作用域无法绑 定对象,获取不到数据(这里说了几个改变 this 指向的方法比如箭头函数 bind/apply/call 这样的)4.这个我没想到面试官提醒我了一下 i 是从零开始的但 是条目从 1 开始打需要加 1……其实第二条的时候我还记得这个事的结果最后我 忘了有点尴尬 23333

代码实现:设计一个任务队列,有 on,trigger 和 off 方法,分别完成注册 事件触发回调,触发当前事件全部回调,和取消当前事件的任务队列的功能(其 实不难,主要是我写的磨磨蹭蹭的……最后想通了就写的很快了,也很感谢面试 官的耐心等待和思路提醒!) 9. 一个挺简单的算法实现,在递增数组内寻找连续值并放进新数组最后返回一 个二维数组这样子([1,2,3,5,6,9,10]=>[[1,2,3],[5,6],[9,10])反正挺简单的写的也很快,被夸了思路挺清晰哈哈哈开心!毕竟我算法超菜的难得碰上一个会写 的……
基本上就这些了然后跟我说可以等下三面。后来 hr 姐姐给我打了电话说三面面 试官有事希望能推迟一下然后说等他回话再约我三面。然后过了半个小时左右又 打来了电话说可以现在面试然后就接着面了


三面 30min 左右

其实问的东西不是很多,基本上就是很常规的那种怎么学习的,项目里用了什么 技术,有哪些困难,这里聊到了之前做的 cms 的一个登陆功能,顺便问了一下 有没有了解别的登陆的技术。(对不起我太菜了没了解过别的。)还有一些页面路 由处理这样的。然后问了个人的发展方向,以及对前端未来发展的看法,最后说 到希望能来实习,什么时候能来以及能来实习多久。感觉其实还好?三面虽然挺 紧张但不是技术面,主要是感觉面试官超沉稳就我一直在 BB 总怕说错什么显得 我超菜(害本来也菜)


hr 面 30min 左右

面完三面之后急匆匆地问 hr 小姐姐什么时候能出结果,小姐姐说不着急的她那 边有消息立刻通知我。然后我收拾了一下准备出门吃饭结果就在收拾包的时候接 到 hr 小姐姐的电话问我可不可以现在 hr 面(啊当时超开心!)

hr 面也挺常规的吧,看了我的投递记录发现我来字节面了这么多次问我这几次有什么进步,学了什么(终于给我放进去了我太难了.jpg)

字节的面试体验怎么样

有没有考研的打算,为什么?

介绍一下简历上的三个项目,为什么要选这三个项目进行展示?

在项目中学到了哪些东西,有什么心得体会

怎么学习前端的,怎么规划未来学习

小组合作中的压力怎么应对的,如果要面对失败会怎么调节(可能是因为全 程我都蜜汁自信就问了这个)

希望能来实习,大概什么时候可以来,可以来实习多久? 大概结束两天就拿到意向书了,效率真的很高!辛苦字节的工作人员了 233333


写在最后

整理这个的是一些大企业的大佬,认真地和他们学习了很多经验以及获取了很多直观的资料,现在全部拿出来奉献给大家!想系统学习前端web的朋友,我都整理在文件中了,可以这边的交流裙前面912,中间629,最后057,裙子里从学生到阿里大佬都有,资源给大家拉满,不见不散哦!


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350