1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 三年半经验 成功拿下字节阿里网易offer

三年半经验 成功拿下字节阿里网易offer

时间:2022-10-04 17:36:42

相关推荐

三年半经验 成功拿下字节阿里网易offer

背景介绍

今年的铜三铁四可真是够离谱的,hc 各种锁。但是本人运气比较好,也是拿下了阿里、网易、字节的 offer。最终来了 base 杭州的抖音电商团队。

先说下自己的情况吧,本科 211,硕士 985,计算机相关专业,前端。工作三年半。

第一家公司:是一家南京的国企,技术不咋地,基本上就是前后端混着写的那种政府项目的业务,也是从这个时候开始接触 vue(之前在学校都是写 jq 的),待了一年半。第二家公司:是一家杭州的某互联网金融公司,做的业务基本就是 H5 相关的内容,感觉学不到太多东西,待了八个月就直接走了。第三家公司:是一家杭州的做大数据的互联网公司,leader 人比较好,十分信任我,把我放在做基建相关的位置上,也是从 0 到 1 搭建项目中台的组件库,包括物料库和基于 element-ui 源码定制的一套符合公司规范的组件库。

求职目标

本次求职的目标很明确就是大厂,原因如下:

感觉自己在团队遇到问题,没办法通过身边的同事帮忙来解决,倒不是说自己不能解决,只是希望对待业务、技术有更广阔的视野。在学校的时候,就一直有想法进大厂,无奈在校期间太拉了,躺平了 N 年。自己在技术上还是比较有追求,有关注很多技术的从 0 到 1,也在业务上有了一些尝试,想进大厂做更多的一些尝试

年的心路历程

入职新公司

在第二家公司待了八个月,就直接平跳了到了下家。

到了下家之后不到一个月,公司爆雷了,股价大跌,有好几个小伙伴都直接被卡转正了,还有人走了,这个时候我的内心是崩溃的,刚经历完了求职的失败的打击,现在又有可能不给转正,我当时手头上负责的项目只迭代了一次就停了,我当时其实挺压抑的,对自我的无限否定,感觉自己是一个又菜运气又差的人。甚至当时想着再接着找工作了。

转机

做了一次新人分享,我分享了关于 js 模块化的一些原理,我的 leader 看到了我一些技术上的理解,就决定让我尝试做一下脚手架相关的事情。当时的架构是基于 vue-cli 的,我新增了一个两个项目模板,新增了 qiankun 的主/子应用的模板,可以直接脚手架生成或者在现有项目植入。然后就慢慢的负责了服务于业务的基建相关的工作,也是做了很多有意思的东西。

面试准备

在第二份公司的时候有面过一些大厂,结果最好的是字节,挂在了三面,倒在一道有序数组转二叉搜索树了。是的,你没听错,就是这么简答的一道题,我却写不出来,因为当时是“裸考”的,没有任何准备的情况就去尝试了字节,所以我当时就下定决定我一定要啃下算法这块硬骨头。于是在去年五六月份的时候,我开始了我的 leetcode 之旅。虽然刷的不是很多-_-,但是对于非计算机专业出身的我来说,确实收益颇丰贴一下我的 leetcode 截图吧。

面试过程

我是先面了几个中小厂找找面试感觉,然后再投大厂的,这一点很重要!!!

e 签宝(自己拒了二面)

这个岗位是一个前端 Team Leader 的岗位,一面是另一个团队的 Team Leader,比较注重的是管理和独立思考的能力,技术向的东西也问的不是很深入。

一面

Vue watch 原理qiankun 原理webpack 流程模块的循环依赖原理根据注释生成文档实现思路(babel 获取注释信息,生成文档)babel 流程(这个部分可以看看神光的小册,我觉得写的很好)如何帮助组员成长架构一个 npm 包需要考虑哪些

政采云(二面之后没消息)

之前在掘金上看了很多政采云的文章,感觉很有质量,所以就试了试。问了很多问题,问的很广、很细。

一面

持续了一个半小时,和面试官聊的很好,很 high,看得出来面试官对技术挺感兴趣的,一面体验还是很好的,感觉学到了不少东西

箭头函数 this 指向diff 的过程如何冻结一个对象(Object.freeze)在做换肤需求的时候,有没有考虑使用构建工具解决如何控制 npm 包的版本实现一个最高并发量为 10 的 Promise 队列在项目有突发情况(未按时、重难点无法解决等)的时候如何去解决如何控制代码质量(prettier+eslint+husky+lint-stage+commitlint)

二面

技术上的东西问的不多,都是一些管理,个人规划相关的内容(我感觉答的没什么问题,但是最后没消息了-_-)

vue 如何代理数组(Object.create)qiankun 和 Single-spa 原理如何帮助同事成长

微策略(自己拒了面试)

这是一个外企,有行测考试,然后对学历要求比较严苛,基本的邮件来往也都是全英文。

行测/笔试:过了因为面试时间只能选择上班时间,加上自己不是很想去外企,所以直接给拒了

笔试

全英文笔试题(10 道选择题 + 3 道算法题)选择题主要是基于 java 的,还有一些算法数据结构的题[手写]二叉搜索树是否存在目标值[手写]字符串前缀是否相等[手写]反转链表

得物(笔试完没消息)

据说是 996,有笔试环节,笔试难度还挺大,一共有 4 到笔试题,给你两个小时,可以自行搜索,挂了。四道题应该只对了两道,还有一道给的测例能过,但是实际有点问题。整体体验一般,因为写的是面试,然后面试官打电话来说是笔试,给我发了个邮件,让我两小时内做完。最后的结果是没有任何邮件通知面试结果。

笔试

js 运行机制的题,主要考察继承、宏任务/微任务扁平数据转树形结构实现一个 Promise 最大线程池为 n 的调度函数

阿里(拿到offer)

这也是我本次求职投的第一个比较想去的公司,也是我在本次求职拿下的第一个大厂 offer,但是面完了等待流程特别长,等二面一周,等 HR 面也是一周多,HR 面结束了走 offer 流程也差不多三周左右的时间,面试的总结如下:

一面

面试官很 nice,高度称赞了我做的一些东西

个人公司经历以及离职原因现在做的项目展示之类的项目内的技术难点展示自己的作品算法题 数字转千分位展示(我用了两种方法写,第一种除以 1000 取余;第二种用正则去匹配)算法题 版本号比较(就直接暴力比较就好了)

二面

是个大佬,没问太多技术问题,就是些管理以及价值观之类的问题

HR 面

我是去现场面的,HR 亲和力很好,主要就是了解一下个人过往,重点问了下为什么三年跳了三次

网易(拿到offer)

网易投了很多岗位,据说都没通过,可能是觉得我三年多的经验已经有了三段工作经验了,不过最终被网易的一个做人工智能的部门捞起来了,这边夸一波网易的面试节奏,面试总共经历了不到三周,也是第一家承诺口头 offer 的公司,HR 小姐姐特别坦诚,没有套路,也特别耐心。

一面

一面的时候,阿里和字节都差不多面通过了,加上自己也没有特别想去网易,所以面试的时候答的比较随意,我甚至一度想放弃面试了,面试官看着年纪 30 多,基本没问太多技术问题,大都是工作中遇到的问题和思考。

promise.then() 的返回值是什么(Promise)离职原因手写事件监听器(注意取消监听的时候,要取消所有注册的事件回调)为什么要 fork element-ui(因为需要更深层次定制组件库,比如加一些虚拟滚动的内容等)低代码平台的难点在哪(我只说了一下实现思路,大体就是根据数据模型,通过配置来操作编辑器从而达到不写代码实现页面)

二面

手写 promise(没写完,写了个大的框架)手写 el-select 扩展虚拟滚动(简单写了一下如何在 el-select 之上又封装了一层)promise 的 catch()换肤实现细节(css 变量)fork element-ui 如何解决开源的更新问题()react 17 更新了那些内容(基于 fiber 架构)自定义 hooks 写过哪些,hooks 的原理(滑动到底部加载更多)

三面

离职原因vue 原理,问的比较浅,但是 api 都问了个遍路由懒加载(webpack 的动态引入,打包会单独打成文件,所以可以减小首屏体积)做过的项目

HR面

网易的hr小姐姐人真的很好,给我介绍了很多网易的福利,也非常真诚,看的出来她特别想让我去,虽然没去成,但是还是给hr小姐姐点赞。

字节抖音电商(已入职)

字节是我最终选择的公司,整体技术体验是最好,无论是深度还是广度,面试官给我的体验也很好,一点都不拖泥带水,而且字节特别重视技术,每一面都有会手写代码的要求,也正是因为这样我才选择了字节。

一面

flex(说了一下 basis、shrink、grow 的作用)模块化机制(说了 cjs 和 esm,还简单提了提一下 AMD 和 CMD)hash 和 history 区别(hashchange 和 popstate,hash 模式不能使用锚点,history 需要在配置代理)如何判断一个变量是否数组,考察原型链(Array.isArray、Object.prototype.toString.call)作用域链(js 查找可访问的变量的规则)csrf / xss()Promise 机制,常用函数(静态的 resolve、any、race、all 等,非静态的 then、catch)span 的 margin 怎么生效(上下不生效、左右生效)浏览器缓存(强缓存、协商缓存)请求头常见属性(content-type、cookie、accept、cache-control 等)http 状态码,404 代表什么(2 成功,3 重定向,4 客户端错误,5 服务端错误)手写 setTimeout 的相关题目,考察 js 运行机制(间隔 k 秒输出 k)手写算法题,数字转千分位展示(正则或者直接取余)

二面

304(表示资源未更新,使用本地缓存)协商缓存的 etag 和 LastModify 信息是哪来的(我说的是文件系统的标识,不知道答的对不对)缓存的应用场景(html 使用协商,其他静态资源使用强缓存)cdn 原理(简单来说就是把文件拷贝多份,存在各个服务器上,请求的时候优先找离你近的服务器获取资源)js 内存机制,内存泄漏场景(我只说了一个闭包)qiankun 架构做了那些深入应用(跨应用使用组件)npm 包如何控制版本变更()首屏优化思路(减小资源体积、缓存资源)gc 流程(新生代、老生代那套,八股文就不谈了)离职原因this 指向的一道题手写内存泄漏场景实现包含数组和加减乘除的字符串的计算(不含括号)(输入"1+2*3",输出 7)

三面

qiankun 和 single-spa 原理(fetch 资源、eval 代码、沙箱、代理浏览器跳转)工程化有什么实践,说了下自己写的 babel 插件(babel 插件实现按需加载)换肤功能具体怎么做的,现在做的话还有什么思路吗?(node 脚本替换代码,现在做的话可能会使用 postcss 处理)经历介绍,离职原因组件库的规划有什么想法(扩展功能比如虚拟滚动、还有一些没有的组件比如固钉,然后就是基于基础组件库扩展物料库)TCP/UDP 区别,三次握手、四次挥手(这是之前面试字节回答的不是很好的问题)最长回文子串(dp)

HR面

主要就是问一下背景之类的,重点问了我跳槽频繁的问题,走到这基本不会有啥大问题。

写在最后

以前我面试的时候总感觉自己不可能进大厂,总感觉遥不可及,这次的成功也许多少也有一些运气成分吧,但是我总结了一下有一些东西确实可以在面试的时候加分

是否在项目中承担一些业务之外的事情,是否有自己的思考自己的一些小作品,主要是表示自己的主动学习能力手写代码的能力要很好,无论是算法还是代码片段基础要扎实,不要过分的扣 vue 还是 react,基础的 js、ts 才是最重要的

关注关注,主页更多的java课程学习路线,笔记,面试等架构资料

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。