2024年前端最新好事多磨!6轮面试后终于拿到字节前端校招offer(内含6轮面经),字节跳动前端一面

打开全栈工匠技能包-1小时轻松掌握SSR

两小时精通jq+bs插件开发

生产环境下如歌部署Node.js

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

网易内部VUE自定义插件库NPM集成

谁说前端不用懂安全,XSS跨站脚本的危害

webpack的loader到底是什么样的?两小时带你写一个自己loader

于是我就用了一周的时间边准备面试,边投简历

准备面试题的方式:

  1. 先把自己以往博客总结过的知识重拾起来看一下,要保证自己写过的东西是会的(因为时间久了难免会忘记一些嘛)

  2. 按照专题进行看常考面试题:浏览器、数据结构与算法、HTML、CSS、JS、Vue/React的常考题…剩下的就要看你自己的技术广度了,简历上有的,就多准备点,没有的也可以稍微看一看

  3. 再者就是多刷算法题啦,毕竟校招也不看你有多牛逼的项目经历,能考核的也就只是一些基础知识、简单的项目经历、算法掌握程度

  4. 以上都做好了以后,就开始多看看别人的面经了,主要的作用就是查漏补缺,这个真的非常有帮助。注:尽量找一些跟自己求职岗位和公司相匹配的面经,当然不是也没有关系

投简历的过程:

  1. 首先肯定是找一个简洁不浮夸却有很精美的简历模板,然后将自己的信息填上去,主要的就是:姓名、电话、照片、擅长的技术栈、教育经历、实习经历、项目经历、证书、社交网站。这里要强调的是:不太熟悉的东西别往上写,没用的东西别往上写。

  2. 然后就是投简历的渠道问题了,刚开始也是因为我写了一篇年终总结,然后有好多人来私信我,想帮我内推,当然我接受了一部分,也推掉了一部分。这里我要给个建议,最好找别人内推一下,因为这样更快让你的简历被看到,避免长时间没有音讯。不过要提的是,找的内推人一定要靠谱!一定要靠谱!要找那种能给你一些简历修改建议的,会帮你跟进后续流程的,部门hc真的充足的人,而不是找那种广撒网的,因为他们根本没时间管你,可能你投进去,反而卡了流程(真的感同身受)

前言


大概我是1月10号开始投的简历,然后好像3天内就收到了面试邀约(不得不说,太效率了),后来1、2面都是技术面(2面交叉面),3面是leader,也就是简单聊点基础知识和项目难点啥的,4面就直接hr面了,整个流程下来也不拖延总共用了也就1个星期多几天吧(再次感叹,好效率)。不过可惜的是,最后hr在跟我谈的时候,告诉我是北京的,然后可能跟我的意向城市有点冲突,我就说能否给我转杭州去(这里我真的懵逼,投的时候也没特地指明是北京,整个面试流程也没人告诉过我是北京),经过几天的协调,转到杭州的字节了

转到杭州的字节以后,因为我前面技术面都面过好几次了,所以只是加面了个leader面,这次的leader是个好大的大佬,给我的压力还是挺大的,我当时都以为挂了,不过出人意料的是最后告诉我竟然过了,可…尴尬的事情又来了,跟我说部门hc可能不太多了,于是hr就又给我想办法,最终问我是否愿意转到上海的字节,其实我本来意向城市只有一个,那就是杭州的,但后来一想,人别那么死板嘛,就准备尝试一下上海的字节了

(此时已经2月10号了,距离我第一次投递简历已经1个月了)流程转到上海的字节以后,跟上次的转流程一样,也是加面了一次,面我的leader人特别友善,整个气氛特别好,后来流程也是很顺利,过了hr面,最终拿到了offer(现在已经入职实习了)

其实说实话,在得知杭州的字节没有前端的hc时,我多多少少有点崩溃,感觉过程怎么这么艰难,不过还是劝自己好事多磨,好在结果没让我失望

接下来就放上我这么多面试所有的过程吧,希望能对大家有所帮助,答案就不放了,有需要答案的小伙伴可以加我细聊

一面(50min 北京)

  1. 自我介绍

  2. TCP的握手、挥手。为什么是三次握手而不是两次?为什么是四次挥手而不是三次

  3. TCP跟UDP的区别

  4. http的请求方法有哪些?get、post的区别,别的方法是干什么的

  5. Content-Type 有哪些

  6. 水平垂直居中的实现方法

  7. flex布局的一些问题

  8. BFC

  9. 如何实现宽高比固定4 : 3(仅用css),我回答说height设为0,用padding-bottom代替

  10. 为什么padding-bottom是基于父元素的宽度而不是父元素的高度的?

  11. Vue给你带来的好处是什么

  12. 什么是组件,干什么的

  13. 若封装一个组件,你会考虑什么?后面还讲了一个具体的组件封装例子,问我的思路

  14. 双向绑定、数据响应式的实现

  15. 一道函数柯里化

  16. 防抖、节流

  17. 给你1亿个数字,找出最大的前1K个,如何优化效率比较高

  18. 图的方法有哪些?(广度、深度)

  19. 一个迷宫,从任意一个起点,求到终点的最短距离

  20. 反问环节

二面(1h 北京)

  1. 自我介绍

  2. webpack的打包流程

  3. Webpack 的一些生命周期

  4. 平时看过什么书

  5. http与https的区别,其实主要就是问https为何安全

  6. 浏览器缓存

  7. apply、call、bind的区别,做了一道关于这个的题目

  8. 做了一道题,回答了一下输出的内容

function Foo() {

getName = function(){ alert(1); };

return this;

}

Foo.getName = function() { alert(2); };

Foo.prototype.getName = function(){ alert(3); };

var getName = function() { alert(4); };

function getName(){ alert(5); };

Foo.getName(); //

getName(); //

Foo().getName(); //

getName(); //

new (Foo.getName)(); //

(new Foo()).getName(); //

然后改动了一个地方,继续问我输出结果是什么

function Foo() {

// 这里加了一个this

this.getName = function(){ alert(1); };

return this;

}

Foo.getName = function() { alert(2); };

Foo.prototype.getName = function(){ alert(3); };

var getName = function() { alert(4); };

function getName(){ alert(5); };

Foo.getName(); //

getName(); //

Foo().getName(); //

getName(); //

new (Foo.getName)(); //

(new Foo()).getName(); //

  1. 给一个二叉树和一个值,问是否有一条路径上的值相加等于该值的,有就返回true,没有就返回false

  2. 反问环节

三面(55min 北京)

  1. 为何选择前端,以及之后的职业规划

  2. 在学校如何学习前端的

  3. 按时间线来讲一下做的所有项目(每讲到一个项目时,都会对这个项目问我几个小问题)注:这个环节经过了很久很久很久很久

  4. 手写Ajax

  5. 手写深拷贝

  6. 写了个合并单链表

  7. 反问环节

hr面(1h 北京)

  1. 自我介绍

  2. 问了我一些校园经历相关的简单问题

  3. 介绍一下你自己做的最有成就感的项目,讲讲初衷、心得(惊了!hr竟然问我项目)

  4. 兴趣爱好

文末

js前端的重头戏,值得花大部分时间学习。

JavaScript知识

推荐通过书籍学习,《 JavaScript 高级程序设计(第 4 版)》你值得拥有。整本书内容质量都很高,尤其是前十章语言基础部分,建议多读几遍。

前端电子书

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。

学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。

面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。

这是288页的前端面试题

288页面试题

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原始数字: 123456789 替换后数字: 567891234 暗语列表: 01: 桃花运 02: 银杏 03: 青梅竹马 04: 一心一意 05: 二话不说 06: 三生有幸 07: 四季如春 08: 五颜六色 09: 六畜兴旺 10: 七上八下 11: 八仙过海 12: 九九归一 13: 十全十美 14: 十拿九稳 15: 百花齐放 16: 千方百计 17: 万紫千红 18: 一箭双雕 19: 二虎相斗 20: 三贤三胜 21: 四海一家 22: 五谷丰登 23: 六根清净 24: 七星高照 25: 八面玲珑 26: 九死一生 27: 十生死两茫茫 28: 百感交集 29: 千夫所指 30: 万箭穿心 31: 一路顺风 32: 二龙戏珠 33: 三位一体 34: 四通八达 35: 五大三粗 36: 六合一波 37: 七仙女 38: 八仙过海各显神通 39: 九龙壁 40: 四面楚歌 41: 守株待兔 42: 虎背熊腰 43: 龟兔赛跑 44: 鸡犬不宁 45: 狼狈为奸 46: 青出于蓝 47: 白眉赤眼 48: 金蝉脱壳 49: 翻山越岭 50: 掌上明珠 51: 问心无愧 52: 风雨同舟 53: 明眸善睐 54: 点石成金 55: 神仙难测 56: 大智若愚 57: 一心向善 58: 为人民服务 59: 只争朝夕 60: 勤能补拙 61: 洛阳纸贵 62: 南辕北辙 63: 好事多磨 64: 一曲肝肠断 65: 一针见血 66: 三人成虎 67: 肆无忌惮 68: 方逢时艰 69: 毕恭毕敬 70: 潜龙勿用 71: 知音难觅 72: 切莫错过 73: 信口开河 74: 言传不如身教 75: 祸从天降 76: 水滴石穿 77: 一击即中 78: 四面出击 79: 鼓足干劲 80: 滴水之恩,涌泉相报 代码实现如下: message = "有萝卜14.19元、白菜05.58元、芹菜29.60元、韭菜78.26元、蒜87.26元" num_dict = {'5': '1', '6': '2', '7': '3', '8': '4', '9': '5', '1': '6', '2': '7', '3': '8', '4': '9'} original_nums = '' for c in message: if c.isdigit(): original_nums += num_dict[c] elif c == '.': original_nums += '.' print(original_nums) # 输出:129143969.8743.78 # 提取出每个菜品的价格 prices = original_nums.split('.') print(prices) # 输出:['129143969', '8743', '78'] # 还原回原始数字 for i in range(len(prices)): original_price = '' for c in prices[i]: original_price += num_dict[c] prices[i] = original_price print(prices) # 输出:['234517689', '4196', '43'] # 将还原后的数字用逗号链接成一个字符串 new_message = ','.join(prices) print(new_message) # 输出:234517689,4196,43

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值