前端社招一年|阿里,腾讯,百度面经(百度已oc)

1,639 阅读11分钟

背景

楼主双非非科班出身,大四下开始自学计算机,毕业后在4399做前端,base广州。说是做前端,其实干的事情非常杂,经常要自己写接口和数据库,部门经理也打算让我走后端的路,所以满一年打算找家下家专注前端。

面试前的准备

1.简历

校招简历可以不带项目或者实习,有的公司甚至985科班就可以进,但社招相对比较侧重技术维度和业务维度,如果你是业务巨人,也可以弥补技术的不足,考量的维度非常多维,所以简历作为第一关也是非常重要的一环,在本篇中不做赘述,后面会单独出一篇讲简历如何写(先挖个坑)。

2.算法

可以不会写middle题,但不能没有算法的思维。面试季让自己保持算法的思维非常重要,不止体现在写算法题上,在和面试官交流到一些源码和算法的时候也可以借助以流利化。

练习算法是在一个叫codesheep的网站,该网站整理了不同大厂不同岗位的笔试题目,非常推荐!

楼主的复习思路(菜鸡的思路)是好记性不如烂笔头,一道题7天之内一定要再写一次,才不会被遗忘曲线影响。对于一些理解不能的常考题目,建议多写几次记住思路。写题不一定要向着押题,做不出来就看思路再做,一定要找到做题的感觉。

在这里插入图片描述

3.复习准备

前端:计网(http,tcp,响应头请求头等),前端三剑客,vue框架(vue源码),webpack(常见优化思路),微前端(架构及发展趋势),node(koa),设计模式(主要是mvvm和mvc)

后端:数据库,redis,linux,nginx(由于面的是前端,所以偏运用层面) 再撸几十篇牛客面经,就万事俱备了。

复习的资料和时间安排:

a.四月的时候偏基础,查漏补缺,找总结的好的博客或者github,推荐我男友(不是)的日记: github.com/WindrunnerM…

在这里插入图片描述

他的博客总结的很齐全,分类也很完善,复习基础的时候基本每天看个四五个小时,对于我这种基础不扎实的菜鸡非常友好,如果你觉得也对你有帮助,点个star吧(博主wink)

b.五月复习偏框架和业务优化,组织了几场模拟面试,发现自己对vue完全不熟练,所以把vue文档和源码分析从头到尾的看了几遍,渐渐理解了一些面试官问的问题。对于业务优化方面,要总结好自己在日常业务遇到的坑和优化点,如优化了首屏加载可以从多个维度去讲,组织语言的时候尽量从各点出发,不要杂糅成一团,即使说对了也会让面试官觉得你思路很乱。五月的时间我基本用来复习框架和看一些进阶的常考点如ES6和webpack等,算法是贯穿四五月复习月的,所以在这简单带过下。

vue源码分析:vue-js.com/learn-vue/s…

更细的知识点之前收藏了一篇大佬写的文章,上中篇基本涵盖了全部前端js知识点,有兴趣的同学指路:

复习小点总结: 上:juejin.cn/post/684490… 中:juejin.cn/post/684490…

4.好书推荐

看一些好书能帮助理清一些枯燥的知识点,比如计网和js一些概念性的东西(作用域等),这里推基本好书,在面试季前可以多翻翻以下这几本有助于复习理解:

a.你所不知道的js 上中下卷 推荐理由:挺不错的一本书,把js口语化,语言风格诙谐,示例更多,更易理解 b.高级程序设计(也叫红宝书) 推荐理由:入门级的教科书,新手菜鸡常备 c.tcp/ip协议簇 推荐理由:被大佬安利的一本好书,把tcp握手和挥手描述的特别细,如果你在面试时也可以这么描述,可以博得面试官丢丢好感(也许?) d.深入浅出node 推荐理由:node文档还是偏运用层面,有用到才去查,生啃有点吃力,所以可以通过这本书入门 e.深入浅出webpack(暂未开卷,打算近期启动) f.ES6入门教程 推荐理由:阮老师著作,看就完了,不多述

另外的,自己还找了一些课程来看,偏向计网的一些课程,如b站的一些老师网课,讲的也很不错: 指路:www.bilibili.com/video/BV1c4… 这几P帮我在百度二面讲网络的时候帮了很大的忙,面试官也比较满意这一点。

腾讯云面经(base西安)

1.一面

楼主当时正处于刚开始复习的阶段,虽然问的东西非常简单,但真的被虐的很惨== 1.自我介绍 2.介绍一个满意的项目,亮点(模块化思想) 3.react会吗(答不会,没学过) 4.其他技术栈(react,angularJs,jquery,vue3掌握情况) 5.vue掌握程度(答掌握工具,知悉其中一两个) 6.vuex介绍,工作原理(答得不好,复习的不多) 7.eventBus介绍,和vuex对比,优缺点 8.如果没有vuex,会有什么问题?(组件传值;避免频繁请求) 9.后台频繁请求有压力,有什么方法可以避免?(1.防抖,限制 2.本地缓存或sessionStorage ) 不能用缓存保存有什么方法?(答node中间件,不想要请求,不对重答) 没有vuex 没有缓存 (使用全局变量) 一定要是全局变量 (否,但不知道还有啥。。。) 10.组件传值方式(8种,详见朝阳日记) 11.eventBus介绍,使用业务场景,和vuex对比,优缺点,对eventBus熟悉吗(答不熟,这部分挺致命,抠得很细) 12.子组件如何修改父组件的值(通过v-model或者$emit) 不能用v-model(等同于问v-model实现原理) v-model:语法糖,本质是双向绑定,@input(onInput事件) 13.vue的双向绑定缺点,defineProperties缺点(顺便答了vue3优化) 14.vue3了解吗(不了解,还没开始学)为什么是用.value读值 15.跨域原因,同源策略作用,没有跨域会做什么(答了XSS攻击,CSRF攻击会更容易) 16.XSS攻击和CSRF攻击 17.为什么说CSRF攻击是利用网页利用浏览器信任? (答cookie,面试官不满意,还有别的吗?答了同个域,回到跨域,同源信任,感觉还是不对) 18.跨域方式(JSONP,设置请求头) 19.JSONP缺点 20.设置多个跨域请求头的方法(数组) 回到前端响应头是以什么样的形式(答了源,面试官说大体没错) 21.前端到后端请求的详细过程(301,302,304…) 22.options预检请求作用(白给…完全不熟悉) 23.函数式编程与面向对象的区别,优缺点(再次白给…) 24.闭包是函数式编程吗?(是) 25.补充项目(多线程压缩gif,web worker) 26.避免二次请求,once函数(答了防抖和http2.0限制进程,面试官说没到后者那么深) 27.反问评价(面试官答他们技术栈用的是react,vue用的较少,评价候选人vue基础并不深,需要好好巩固,不过只有一年经验也足够,要好好沉淀)

面试结果可想而知,几天后显示挂了,收到感谢信。

阿里巴巴-创新事业群UC事业部面经(base广州,6.8晚二面,持续更新中)

1.一面 leader面

面试官竟然就是我的内推人,还是部门leader,感觉气场很强,不过还是专注撕逼,没被镇住。 1.自我介绍 2.疯狂问公司项目和业务,你遇到过的问题,怎么提升运营留存率balabala(撕了半小时业务) 3.压测过机器吗,大概读或者写是多少(答十几万,读写综合) 4.实现累充充值接口的思路,如何保证实时性? 5.看你项目写了vue,问点vue吧(终于正常问了),v-if和v-show的区别(就这,没了) 6.osi七层模型(面试前没看,面试官嘲笑我是不是忘了),http2.0与1.1区别(多路复用,二进制分帧) 7.webpack 8.公司架构如何? 9.公司数据库如何部署的?(分布式部署,一台做源机做映射) 10.反问(业务,架构)

面试体验很差,感觉全程在套方案,不像面试,也许这就是大佬的面试吧。面试结束后,面试官和我说会再找一个候选人横向对比(指养鱼),6.7下午收到二面通知,于6.8晚上二面。

百度-百度网盘事业部 (base北京,已收到oc,6.8出offer)

在群里认识一个网盘小伙伴,说正好网盘在扩招,叫我去试试,不得不说,百度的招聘系统虽然不是很nice(经常被一些hr实习生乱推),但面试体验是非常好的,和面试官也聊得很来,点个赞!

一面 mentor面

1.自我介绍 2.在学校自学了什么课程?数据结构讲几个?栈和队列的区别 3.css垂直居中 4.flex布局 5.grid布局 6.移动端布局,移动端适配 7.介绍下ES6(自嗨了十几分钟,讲了weakMap weakSet,promise等等) 8.promise源码介绍,面试官很自豪的说其实我写过 9.学习方式,看什么书(balabala),红宝书好看吗,讲下感受 10.项目难题 11.文件断点续传思路 12.node,koa框架,开始撕业务 13.反问

一面聊的比较随心,面试官对我的项目比较感兴趣,也和我沟通了一些业务,面试体验挺好,更像技术交流而不是面试。

二面 商务运营部长面

看了别的小伙伴的面经,以为二面偏业务,没想到被背刺了(哭哭)。 1.自我介绍 2.状态码 304怎么做 Cache-control有几个属性? 3.tcp与udp区别 4.tcp如何保证数据稳定?(讲了三次握手,滑动窗口,慢开始,拥塞控制,超时重传,快重传) 5.cdn原理,cdn回源怎么做(一脸懵逼,因为cdn我司分给了运维层做) 6.扫码登录怎么做,手机端和PC端都要建立长连接吗?websocket原理 7.sso单点登录 8.小程序做过吗(大学时做过),和h5区别在哪里,为什么没有dom操作,js加载和页面同时进行吗? 9.webpack 介绍下tree-shaking css-treeshaking plugin和loader区别,手写过plugin吗? 10.进程与线程区别,线程间通信方式 11.流的概念,node stream流 12.如何用node读取20g文件 13.node和php的区别 14.vue-if与v-show 15.vue模板渲染(源码部分) 15.父子组件的挂载 16.公司项目亮点(答了前端共享进程池) 17.何时能来上班?对新公司有什么期待? 18.反问

毫无疑问,这一仗被打的遍体鳞伤,虽然二面过了,但是一些原理性的东西面试官挖的很深,业务场景题也没少问,看来还是要好好读术~

三面 部门经理面

面试的时候环境很嘈杂,有几次没听清面试官讲了什么,当时家里网络也不是很稳定,但总归聊的还行,涉及一些开放性的论述题目,这个自由发挥,合理真实即可。 1.自我介绍 2.描述下你的优缺点 3.描述下你做过最难的项目思路 4.为什么想跳槽? 5.技术栈不同,有想过重构吗?难点在哪? 6.对自己的团队定位 7.遇到的业务沟通问题有什么解决方案 8.假如你要从百度离开,你想得到什么技能 9.职业规划 10.理想的新公司资源 11.如何形成自有体系的业务方法论 12.对百度网盘产品有什么使用建议? 13.对加班的看法 14.反问(部门架构,技术分享周期,带团队的方法)

和部门经理聊了会,发现部门经理是比较看重个人职业发展的,整个部门是偏技术交流多一点,技术氛围非常浓厚,用人也会如千里马,此刻我的心只想为百度跳动(。

四面 hr面

了解一些个人资料,年薪待遇等,以及去北京的意向等等,比较常规。

结束

6.7晚上收到百度oc,同期还有阿里在面所以argue了下,大概率是去北京百度了(乡下人进城),小菜鸡的第一次社招之旅到此画上句号。这也是小黑第一次进bat,受了很多同学(他们才是卷王,快跑!)的帮助,非常感谢,希望把好运分享给接下来快秋招的大家,一起冲刺大厂!