国产化驱动经济自主性与科技创新的未来之路
733
2022-10-27
1年工作经验8月份大厂面试全记录
大家好,我是若川。@AaronKwong 投稿。他参与了四期源码共读,说对找工作很有帮助。于是联系他把最近大厂面试总结下来投稿。今天是他的生日,所以选择在今天发文。笔者@AaronKwong
2021.3 老东家在线教育项目解散,转岗并开始复习。
8 月下旬开始投简历,boss 投递 + 朋友内推,先后投递了拼多多,yy 直播,欢聚,字节跳动,虎牙,基本上每天都在面,白天上班晚上面试,大概持续了两周左右
面经
拼多多商家端一面(40 分钟)
简历项目问询 - 细节垂直水平居中一个简单请求的 header 会有什么字段map, filter, reduce 都怎么用symbol 有了解吗ES5 继承,ES6 类继承,静态方法Promise 超时控制DFS 找节点node 有什么特性,适合用来做什么midway 对比 egg 有什么优势typescript 有没有实践过平时有用什么设计模式吗平时打包工具 - Webpack 相关你有没有哪些我没问到你想说的缓存相关,cdn 缓存处理你有什么想问的
拼多多商家端二面(65 分钟)
压力面,质疑观点拍平数组
const flatten = (list, level = +Infinity) => { // ...};const array = [1, [2, [3, 4, [5]], 3], -4];const list1 = flatten(array);const list2 = flatten(array, 2);console.log(list1); // [1, 2, 3, 4, 5, 3, -4]console.log(list2); // [1, 2, 3, -4]
promise
const myPromise = val Promise.resolve(val);const delay = duration { // ...};myPromise(`hello`) .then(delay(1000)) .then(val console.log(val)); // 一秒之后输出 hello
拼多多商家端三面(30 分钟)
项目细节问询Vue 源码有读吗 - 响应式原理,nextTick最近有没有研究什么新技术项目优化有哪些实践V8 如何执行一段代码72-编辑距离226-翻转二叉树性能优化的实践有其他想问的吗
欢聚一面(90 分钟)
欢聚二三面
二面部门终面,三面 hr 面,现场一天面完,主要是和部门领导交流,关于项目组以及负责的模块;了解薪酬福利相关
yy 直播一面(30 分钟)
项目的 CI/CD 怎么配置的,jenkins 怎么部署,为何没有直接部署单独机器,内网互通去传送文件发布,git 权限怎么配的vue-router hash/history 区别vuex 里面有哪些东西,分别用来干嘛的vuex 分了模块,有全局通用的内容是怎么配置的除了直接调用命名空间模块还有办法直接访问需要放在全局模块下的东西吗Vue 的响应式原理子组件的 data 变化,那么父子组件的更新是怎么样进行的双向绑定,那么视图数据更新怎么影响到 data 里的数据Vue 的生命周期有哪些项目内怎么通信 - (EventBus/emit-on/vuex)EventBus 实现原理,有没有多条事件总线的情况,怎么解决可能重名的问题移动端里的单位 - rem/vh/vwpostCss rem=>px,设计稿上 750 宽度是怎么去算的移动端有什么性能优化的点 - 虚拟滚动typescript 有写过吗有了解吗说一下你理解的泛型webpack loader 项目里有用哪些?一个.mp4 文件加载的话需要用哪些 loader有开发 webpack 插件吗?是要怎么开发有多少版本1 2 3 的版本区别和 1 的区别,解决了什么东西解决了 和 2 什么问题什么问题没想起来缓存cdn 缓存是强缓存还是协商缓存
字节跳动 一面
输出结果
var a = 3;var total = 0;var result = [];function foo(a) { var i = 0; for (; i < 3; i++) { result[i] = function () { console.log(i, a); total += i * a; console.log(total); }; }}foo(1);result[0]( "0");result[1]( "1");result[2]( "2");
Promise 输出顺序给一个 n,生成一个[0, n-1)乱序数组这个时间复杂度是多少,能进行优化吗看你写的这个有用 sort,为什么是 O(nlogn)呢还能再优化下吗说一下快排原理?三路快排是怎么个三路法还了解其他一些排序吗详细说下归并排序稳定和不稳定排序怎么界定?了解一些时间顺序相关的 api 吗requestAnimationFrame 有了解过吗setImmediate 和 setTimeout 和 setInterval?项目细节,最有成就感的需求是哪个?base64 是怎么样转码的为何转了 json 协议之后可以优化图片上传如果公网上传的话,怎么防止不被人拿来做图床xss 的话怎么防止Vue 的生命周期有哪些created 和 beforeMount 有何区别render 函数和 jsxVue 怎么转 js 代码的?computed 里面的懒更新是怎么实现的
字节跳动 二面(47 分钟)
自我介绍最有成就感的项目细问react fiber 原理求蓝色区域的宽 高
输出结果
var length = 10;function fn() { return this.length + 1;}var obj1 = { length: 5, test1: function () { return fn(); },};obj1.test2 = fn;console.log(obj1.test1());console.log(fn() === obj1.test2());
拍平数组,去重,排序leetCode 103 + 拍平结果
字节跳动三面(65 分钟)
(看到前面两面的内容/评价)问:是不是有专门准备过?
项目细节,实现原理,痛点解决方案,可以优化的方案,怎么实现这个优化的方案
题库整个的实现原理,移动端 table 虚拟滚动不定高的实现原理
平时和产品怎么交流;不相同意见的时候怎么处理
前面几面面试体验怎么样;有哪些问的东西难倒你了
一个二维数组对应骰子的上下两面,其他四面已被磨平,两面的数字都是 1-6 随机一个数,但不会重复,想要所有的上面或者下面都是同一个数字,最少需要翻几次
字节跳动 换部门 加面(60 分钟)
题库和重构细节题库的优化迭代有没有具体的数据可以支撑?前面几轮有没有碰到特别难的不会的点?tls 连接详情,几个 rttpromise 优缺点promise 怎么控制异步闭包继承promise 输出顺序typescript 泛型首页白屏优化算法
字节换部门 hr 面(50 分钟)
总结
代码相关:JavaScript 基础重中之重,工程化方向的了解和实践也必不可少,这次面试下来还是发现到自己对于 Node,TypeScript,Webpack 等会有短板存在。
业务相关:对自己负责的业务模块一定要做好总结和复盘,寻找优、缺点,漏洞,思考优化/解决方案。
给自己一个时间点,到了这个点就开始投,不然没有时间限制,这里复习一下,那里学一下,复习进度就会拖慢。
面试官们也都很友好,遇到卡住的情况会尝试引导你去做,实在想不出来也可以说说自己大概的思路。
要感谢的人
同学和同事们都给了我很大的帮助,有给我复习方向,以及各种内推机会。包括之前提桶焦虑,左怕右怕,担心自己复习得不到位,可能面什么都凉。尤其是李总[1]最初带我学前端的大佬,给了我很大的鼓励,面试之后复盘的复习点总结也帮助了我许多。
若川视野川哥,源码共读活动带着我从简单的源码开始读起,慢慢去拓展到大型源码库;在川哥源码共读群认识了年哥,给我复习的方向和节奏都给了很大的指引。
复习中有参考的内容
霖呆呆大佬的掘金文章,promise,this 相关
川哥的源码共读系列
参考资料
[1]
李总: https://github.com/logcas
················· 若川简介 ·················
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~