七厂面经--应届小前端的破局之路,前端开发移动端

三面问的更全一点,理论和代码层面的都有,算法2没写出来,其他的应该都抗住了。后续流程很顺利,已拿offer。

猿辅导一面

猿辅导那天是招聘专场,一面到底,直通hr面。因为某些非预期情况,不再考虑这边,选了抖音。

  1. 自我介绍

  2. 业务中负责的部分

  3. 业务中数据怎么存储的

  4. 为什么坚持用node

  5. 算法1:promise并发控制

  6. 算法2:前k个元素

  7. js中遍历数组的方式

  8. react中遇到的坑,怎么解决的

  9. 说一下类组件和函数组件

  10. 选择hooks的优点

  11. 什么时候用类组件

  12. 说下http缓存,如何实现

  13. 反问一:这边有没有使用node的场景

  14. 反问二 :业务线中使用的技术栈是什么

  15. 反问三:有没有jq那种老项目

  16. 反问四:面试评价和今后发展的建议

面试感受:

和面试官聊的很开心,从技术到业务到技术选型,巴拉巴拉聊了很多。那边是用的angular11,还有vue2.x,后续打算迁移到react技术栈上。

猿辅导二面

  1. 自我介绍

  2. 诸多业务问题

  3. react diff算法如何实现的,比对复杂度是多少

  4. 如何使用react-dnd完成拖放的,说下主要API

  5. 大数据量场景前端怎么处理,让页面展示尽可能流畅

  6. 业务中看你有涉及到node的文件读写操作,有没有想过如果某个文件被锁怎么处理?

  7. 前端缩略图(截图)方案是什么

  8. 业务中的实时保存会有性能开销,又没有做什么优化?

  9. node转buffer输出字符串会比直接string输出快,你的依据是什么?

  10. 算法一:给定一串数字,求它全排列结果

  11. 算法二:实现类似百度那种联想搜索(模糊匹配)

  12. 收尾闲聊:你觉得一面难还是二面难?我说二面吧,数学不太好,全排列没屡清楚。

面试感受:

和面试官聊的依旧很开心,二面聊了很多业务。好家伙,我和面试官开始在白板上画图交流了。咱数学确实菜,全排列也没整清楚,和逻辑混一起更想不明白。面试官表示理解,然后约了三面,部门大leader。

猿辅导三面

  1. 根据简历确认了一下基本信息

  2. 为什么刚工作几个月就离职

  3. 看你大学学的挺多的,高中是不是没好好学习呀(笑,解释说高中是为了高考被动式学习,大学是为了工作主动学习)

  4. 日语N2是指?(解释了下等级,日企门槛)

  5. 看你对前端热情挺高的,为什么选择了前端呢?

  6. 然后面试官直接给我安排了研发方向,前期ng,后期react,说是在组建一个复杂架构小组,目前两人,预计4-6人。(说实话,有点慌)

  7. 做个题吧,给定学生id和分数组成的列表,写一个函数,通过id获取排名,注意分数相同并列名次的处理(写了七七八八,后边面试官说思路可以,就这样吧)

  8. 然后让我等下hr,面试官去下一场面试了(面试专场,一下午来了大概20+,每个面试官都很忙,后续基本没有反问时间)

面试感受:

亲切,看面试官第一眼就觉得很亲切。整体聊的也很顺利,过往经历和一道算法题,完事。看的出来,是想要我的。之后hr面结束,打道回府。

猿辅导hr面

  1. 之前有了解过猿辅导吗

  2. 确认了一下简历基本信息

  3. 还有其他公司在面试吗,进展如何?

  4. 说了下福利,餐补800,六险一金,不限量零食下午茶,健身房,晚下班打车企业报销,巴拉巴拉……说了好多福利

  5. 聊了下薪资,之前的,预期的。

  6. hr表示不会因为工作经验而刻意压薪资,扁平化管理,会根据每一轮面试官评价来定(给我的预期是校招生水平,实际是超预期)

  7. 你是97年的嘛?(惊讶) 感觉你表现上更成熟一些(我说和个人经历和读的书有关吧)

  8. 个人经历,比如呢?(笑,爱情算吗?)

  9. 然后和hr聊起了爱情观

  10. 所以你现在状态是?(单身)

  11. 大学读了哪些类型的书?

  12. 我问了下工作时间,早10晚7,双休不打卡

  13. hr表示offer流程会根据我这边其他公司面试进展随时同步,很热情的送我到电梯门口

面试感受:

面试体验确实不错,后期就有点遗憾了。也难怪,我的年限和期望偏差确实有点大,这边流程上多加考虑也可以理解。

快手一面

  1. 自我介绍

  2. 项目应用场景和优势

  3. 写个继承案例

  4. Object.create实现

  5. Object.create传null和{} 有啥区别吗

  6. 手写promise(写完then后面试官说可以了)

  7. 实现一个数组扁平化方法flat

  8. js为什么设计成单线程

  9. 事件循环说一下

  10. Promise里都是微任务吗

  11. 平时怎么学习的

  12. koa2中间件和redux中间件比较,原理

  13. koa2的洋葱模型和redux中间件的洋葱模型一样吗

  14. 两个compose的大概实现,reduce的妙用

  15. 对比一下express,koa2(我连同比较了egg)

  16. 为什么不要在循环、条件语句或者嵌套方法中调用Hooks

  17. new Promise返回的实例和实例then方法执行后返回的promise是一个吗

  18. 平时有浏览过哪些国外的网站吗

面试感受:

女面试官,聊了很多,感觉想早点下班。hh,我要写代码,刚写了大概,面试官说可以了,可以了,之后约了二面。

快手二面

  1. 说一下为什么要用hooks,解决了什么问题

  2. react函数组件和类组件触发更新的方式有哪些

  3. react的强制更新有了解吗

  4. react在一秒内点击按钮多次(+1),如何获取最后一次的新状态

  5. react-router权限路由写一下

  6. 实现一个带缓存的求阶乘函数

  7. 说说你对koa2中间件的理解

  8. 某些接口允许跨域,某些不允许,如何实现?能不能使用koa2中间件的方式实现一下?

  9. koa2中ctx.set的等价写法

  10. 用node如何实现一个带压缩和缓存的http-server?

面试感受:

面试官给我一种道法自然,万法皆通的感觉,某些想法秀到我了,很强。问的基本都答上了,很快约了三面。

快手三面

  1. 自我介绍(侧重说下个人优势和项目亮点)

  2. 为什么刚工作不久离职

  3. 如果有成熟稳定的A团队和从0到1的B团队,你倾向哪种

  4. 如果B团队做不好有可能会因为业绩不达标被砍掉,做的好会有高收益,A团队一直是稳定的,你倾向哪种

  5. A团队业务线偏向底层功能开发,为B团队服务。B团队在A团队产出基础上,会面对更多复杂业务,你倾向哪种

  6. 反问1:刚才提到的AB部门的业务覆盖场景是只有pc端吗?还是也有其他端?

  7. 反问2:工作模式是否为导师制?

面试感受:

无关技术,只谈选择。我选了BBB。之后约了hr面,然后又加面,其实也没问太多技术问题。流程和字节基本同步,薪资待遇持平,只是多了一个背调。我比较想早点入职,选了更快的抖音。说实话,有点舍不得负责招聘的hr小姐姐,hh,给了我很多祝福。

美团一面(部门A)

我怀疑美团有毒,二面必挂。第一次面到2面,题基本都答上了,莫名挂掉。然后又被打捞,依旧面的很顺利,二面挂掉… 好家伙,分手都没个预兆。遗憾是有,但也无能为力。美团到店,我可能到不了店了。

  1. 自我介绍

  2. 为什么刚工作不久就离职了

  3. 项目中常用的linux命令

  4. 业务中打包怎么做的

  5. 如何查询某个进程占用的端口号(linux中) netstat -tunlp|grep 80 lsof -i:80

  6. 实现一个new操作符

  7. git reset 和git rebase了解吗

  8. 实现Object.create

  9. 实现数组扁平化函数flat

  10. webpack有哪些优化方案

  11. loader和plugin有写过吗

  12. react合成事件了解吗?

  13. 这些事件处理函数最终挂载到了哪?

  14. react中如何阻止冒泡

  15. react中setState同步还是异步

  16. react15和react16更新机制的差异

  17. 为什么react16架构升级后就能中断更新,根据什么决定是否中断

  18. react源码看过哪些?

  19. react中调和的部分是在哪个包?有看过实现吗

  20. hooks为什么不能在条件或循环中使用,原理清楚吗?

  21. react为什么要引入hooks,解决了哪些问题

  22. 类组件如何实现逻辑复用?

  23. 打印题

const o1 = {

text: ‘o1’,

fn: function() {

return this.text

}

}

const o2 = {

text: ‘o2’,

fn: function() {

return o1.fn()

}

}

const o3 = {

text: ‘o3’,

fn: function() {

var fn = o1.fn

return fn()

}

}

console.log(o1.fn())

console.log(o2.fn())

console.log(o3.fn())

面试感受:

美团的面试还是有点东西的,问的很全。linux那个和git rebase不太清楚,其他的基本都ok,然后约了二面。

美团二面(部门A)

  1. 自我介绍

  2. 诸多业务问题

  3. 你期望的业务场景或者工作环境

  4. js为什么会有回调地狱呢

  5. 为什么java没有回调地狱

  6. promise.all返回的是什么

  7. promise和async你觉得差异点是什么

  8. 算法1:rgb转16进制函数

  9. 算法2:

//实现一个retry函数

//如果fn返回成功,则打印一下,最终结果成功

//如果fn返回失败,则打印times下,最终结果失败

retry(fn,times)

retry(() => {

console.log(‘doing’)

return Promise.reject(Error(‘done’))

}, 3)

retry(() => {

console.log(‘doing’)

return Promise.resolve(‘done’)

}, 3)

  1. 打印题

var a = 20;

var test = {

a: 40,

init: () => {

console.log(this.a);

function go() {

console.log(this.a);

}

go.prototype.a = 50;

return go;

}

};

var p = test.init();

p();

new p()

面试感受:

题基本都答上来了,莫名挂。被打捞的时候问了一下一面面试官,他表示也很迷,说确实有二面面试记录,但是没评价??

美团一面(部门B)

  1. 自我介绍

  2. koa-compose实现

  3. react权限路由实现

  4. 前端路由实现原理(对比react,vue)

  5. 单页面应用和传统服务端渲染的差异比较

  6. 前端页面性能优化

  7. nginx 负载均衡配置

  8. node端处理大文件上传

  9. react hooks用过哪些

  10. react使用心得

  11. redux模板语法的改良(使用装饰器)

  12. 聊一下代码检查(eslint,ts)

  13. 防抖节流区分,手写

  14. 实现map,reduce

  15. 统计字符串中次数最多字母

面试感受:

和面试官聊的很带劲,好家伙,相见恨晚。面试结束不到一小时hr打电话约二面,并告知一面给了满分。

美团二面(部门B)

  1. 如何区分函数是new调用还是直接调用

  2. 解释下下面两段代码执行结果的差异

function foo() {

foo();

}

function foo() {

setTimeout(() => {

foo();

}, 0)

}

  1. requestAnimationFrame 和 requestIdleCallback了解吗

  2. 说下react的key

  3. node中加载相同模块,会重复打印吗

//a.js

function foo() {

console.log(‘foo’); //

}

foo();

//b.js

require(‘./a.js’);

require(‘./a.js’);

//node b.js

  1. 如何设计这套缓存

  2. http模块起一个服务,如果想修改请求体并转发给另一个服务,怎么实现

  3. 说下react-redux干了什么事

  4. mapStateToProps的第二个参数作用

  5. 实现一个Map

  6. 说下react常用的性能优化手段

  7. linux中exec ls 和ls 差异

  8. linux 中的source了解吗

面试感受:

我和面试官都提前到了视频会议室,然后我提议可以提前开始。面试官说ok,大概是45分钟。好家伙再问一个,再问一个,再问一个…差不多一个半小时,刺激。最后莫名挂掉,原因未知…

去哪儿网一面

  1. 自我介绍

  2. 说一下项目中遇到的挑战和你认为的亮点

  3. 能说一下你用mvc模式重构node业务代码的大概方向和效果吗

  4. 说下跨域

  5. 这个项目里前后端联调的话,有问题一般怎么排查(表示基本都是自己写)

  6. 追问:为什么是都要自己写呢?(相对偏向全栈,人少)

  7. 感觉你个人比较喜欢node,是想往这个方向发展吗

  8. 对技术栈或新技术上是怎样的一个态度

  9. 项目中写的css多吗,主要是哪些?(说了less,css,styled-components)

  10. 有没有接触过移动端,小程序,App这些场景

  11. 有在面其他公司吗?进展?

  12. 为什么刚工作不久离职了

  13. 你说离职是追求技术的突破,能解释下你想要的是怎样的吗

  14. 对于公司和业务部门,你更倾向哪一边的考虑(类比了选学校和选专业)

  15. 事件循环的打印题(比较基础)

setTimeout(() => {

console.log(1)

}, 0)

new Promise((resolve) => {

console.log(2)

for (let i = 0; i < 10000; i++) {

if (i === 9999) { resolve() }

}

console.log(3)

}).then(() => {

console.log(4)

})

console.log(5)

面试感受:

女面试官,聊的也还行,比较满意我的表现吧,很快约了二面,现场。

去哪儿网二面

  1. 自我介绍

  2. 为什么刚工作不久就离职

  3. 诸多业务问题

  4. 说下你擅长的

  5. 解释下重绘和回流

  6. 说一下你知道的浏览器渲染相关的点

  7. 你觉得有哪些优势

  8. 平时怎么学习的

  9. 说下tls握手

  10. 还有在面其他公司吗?

  11. 前端如何做性能优化

  12. 算法1:数组中出现最多的数字

  13. 算法2:斐波那契数列

  14. 闲聊:你觉得你的缺点是什么

面试感受:

感觉面试官有些漫不经心,简单聊了聊,然后我说了期望薪资,好家伙,估计又说多了…没后续。

致谢

在我看来,面试并不是一个人的战斗。站在巨人的肩膀上,可以加快你前进的速度。感谢这一路上,直接或间接给我帮助的大佬们,排名不分先后。

  • 磐冲, 曾多次参加磐冲大佬组织的直播面试,表示受益良多。

  • 张仁阳, 珠峰架构公开课诸多知识点面试命中

  • 若川, 源码系列收获颇丰

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

最后

小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:

凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。

入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。

整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。

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

而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。

  • 张仁阳, 珠峰架构公开课诸多知识点面试命中

  • 若川, 源码系列收获颇丰

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-a9MyHuLc-1710709971868)]
[外链图片转存中…(img-NL26dYsA-1710709971868)]
[外链图片转存中…(img-CVvOCqx5-1710709971869)]
[外链图片转存中…(img-lziSfcMi-1710709971870)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-zqIWPKoG-1710709971870)]

最后

小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:

凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。

入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。

整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。

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

而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《java面经-百度准入职老哥整理.pdf》是一份关于百度准入职面试的Java面经整理。这份面经是由百度准入职的老哥整理而成,其中记录了一些面试时可能会遇到的问题以及解答方法。 这份面经对于准备参加百度准入职面试的人来说非常有价值。首先,它列出了一些常见的面试问题,涵盖了Java语言的各个方面,包括基础知识、数据结构与算法、设计模式、多线程、网络编程等等。通过仔细研究和复习这些问题的答案,可以帮助面试者全面了解Java语言的特性和应用。 其次,这份面经还提供了问题的解答思路和方法,帮助面试者理清思路,正确回答问题。这对于很多面试者来说特别有帮助,因为在面试时有时会遇到一些棘手的问题,有了这份面经的指导,面试者可以更好地掌握应对策略。 不过需要注意的是,面经作为一份参考资料,不能完全依赖于它来准备面试。面试官可能会问一些不在面经中列出的问题,因此考生还是需要自己对Java语言有充分的了解,并能够熟练运用。同时,面试官还会关注考生的沟通能力、解决问题的能力以及对新技术的学习和掌握能力。 总体来说,《java面经-百度准入职老哥整理.pdf》是一份非常宝贵的资料,可以帮助面试者对Java面试中可能会遇到的问题有更深入的了解,提供了解答思路和方法。但记住,面试准备还需要多方面的知识积累和实践经验的积累,才能在面试中展现自己的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值