首页 > (offer:美团/猿辅导等)2020年应届春招前端经验总结
头像
su1Calpha
编辑于 2020-05-19 19:57
+ 关注

(offer:美团/猿辅导等)2020年应届春招前端经验总结

2020届本科应届全职前端.
拿到了美团offer,总结一下我的春招,贴一下时间线.
一共面了美团/猿辅导/帆软/ThoughtWorks四家,全都给了offer.

时间线

除ThoughtWorks外我的简历全都是2020年3月13日投的.

ThoughtWorks

请参考我的另外的帖子.
投下面简历的时候已经拿到ThougtWorks保底offer.

猿辅导

  • 1与2面连着 3月21日
    面完当场觉得自己凉了,也是被问到胃痛.去买了m记压压惊.
  • 3面(leader) 3月25日
  • ‌ hr电面 3月26日
  • oc 3月27日

帆软‌

  • 3月18日晚笔完
  • ‌ 就1面聊人生 3月26日
  • oc 3月27日

快手

  • 笔3月22日19点
    ac了3.4题.
  • 1面4月11日,我主动终止了流程,没有参加面试.

美团

  • 3月21日(周四)笔,5个编程,因为全程感冒我就只ac了签到题,剩下没调出来.
  • 1面3月23日
    这面我被问到爆炸,小姐姐拉清单问.请参考logtxt大佬的一面.我感觉除了算法,我答出来的只有50%左右.当场觉得自己凉了.
  • 2面3月25日
    这面突然轻松了许多...基本都能回答上来了.
  • ‌ 3面3月26日
    很轻松.
    面试官最后说接下来没有技术面了.
  • hr面3月30日
    -‌ 电话试探1, 4月1日
    ‌ - 电话试探2, 4月3日
  • offer mail,4月7日

美团技术面流程非常快,一周结束.基本面完第二天就有推进.hr面以及hr面之后就非常慢.

试探的时候问我意向,手头offer,以及期望薪资,我就随口说了个当时offershow上的前端最高薪...然后问理由.
唯一不之间间隔了许多许多许多天,可能是我前面的大佬都拒了offer终于轮到我了.真给了,这我是没想到的,然后就发现我报少了.

无反应

我不知道是我简历被TOP2大佬吊打沉底还是表面hc,没有一点反应...

  • 爱奇艺
  • 小米
    状态是等待部门筛选,等了快一个月了.就当无反应了.
  • 所有的网易,内推之后连笔试都不给.
    难道是我操作错了?又变成无内推状态了?
  • shopee新加坡 (牛客网上邮件发简历内推的)
    没反应,也没回信被鸽了?

面试体验

美团和猿辅导流程飞快,一周基本面完了所有技术面,我给许多好评!

共性面经

我从这么多面试以及中总结了一点常见的问题,不仅仅是前端同学,如能对后来的所有技术同学有一点点收获我就满足了.

JS基础

  • 闭包
    问这个问题就能问出你对闭包理解的深刻程度了.
    如果面试者回答"函数A内返回一个函数B,这个函数可以引用A的变量",那就属于理解不够透彻.闭包其实不需要返回函数.
    如果面试者能回答出"词法作用域",再能展开说说"内存泄漏"与"箭头函数"等关键词,方显基础扎实.
  • this
  • 类型转换和==/===
  • ES6
    一般常用考点是 Promise, let/const, ()=>, async/await
  • 各种继承的手写代码实现以及优缺点
    1. 原型链继承
    2. 构造函数继承
    3. 组合继承
    4. 寄生组合继承(重点掌握!)
    5. ES6的继承是哪种继承?Babel成ES5之后是什么样的?
  • 事件循环(event loop)
    这个东西非常重要.有多重要呢,基本全都在问.请务必深入理解.
    还会有各种变式,比如说让你分析代码输出.
    捡来的图.
    图片说明
  • 手写原生apply,call,bind实现
  • 手写防抖节流实现
  • 顺便一问,你们知道现在的ES有几个原始数据类型吗?

CSS基础

我是纸糊CSS选手,不会CSS的.

推荐熟练背诵104道 CSS 面试题,助你查漏补缺.

也可以阅读CSS Mastery, CSS Secrets这两本书.

vue全家桶

我明确地在简历上写了"vue全家桶"6个大字,没有提React/Angular,因此面试官基本只问了我vue,但是还是挺细节的.

  • vue的双向绑定.
    所有敢在简历上写vue.js的人都有必要背诵,不然一面挂的概率提高许多.
    • vue2.x中,为data对象动态添加新属性对响应式的影响?数组又是如何实现响应式的?
    • vue3.0如何实现响应式?
  • vuex是如何实现响应式的.
    面试官刚想问双向绑定,然后看我有马上回答的趋势,笑着说那这你应该会了,来说一下vuex的响应式是如何实现的吧.
    ...?
  • vue-router如何实现前端路由?有几种模式?
    • vue-router为啥要用history模式?
      为了好看啊!
    • history模式中,刷新之后,明明服务器上没有这个页面,却能加载出页面!这是为啥?
    • 在? 组件的keepalive知道? 如何保证页面组件在切换路由之后存活?keepalive用多了会有什么缺点?如何解决?
  • vue的组件间通信.
    父->子,子->父,兄弟之间通信.
  • vue组件生命周期.
    • 在什么事件中能够访问定义好的data?
  • 美团:vue diff算法.

一些不够典型的问题.

  • 猿辅导:vue的各种slot
    12面都问了很深.可见他们日常使用slot.
  • 猿辅导:<style scoped>解释一下?是怎么实现的?
    1面开场问这个.我是没有想到的!

还有webpack相关.各位大佬可以了解一下.我说我从来没配置过水过了.

操作系统

  • CPU的进程调度算法.
    这东西也就猿辅导的leader面问了.我不会,口胡了一个trivial的FCFS.
  • 什么是进程什么是线程,它们什么关系.

网络协议相关

  • http/https
    其中,https的加密过程需要大概了解:用非对称加密交换密钥,用对称加密来加密传输内容.这是因为非对称加密涉及大质数,性能并不好,相比而言,对称加密的性能就很优秀.
    • http报文大概啥结构? 用什么分隔?
  • GET和POST区别以及其他http动词
    http动词我觉得只要掌握四种,GET/POST/PUT/DELETE以及它们的对应语义.问其他的都是耍流氓.(CORS preflight相关除外)
  • 跨域
  • http1.0/1.1/2.0的区别
    特别是2.0的改进需要掌握.至于http3.0嘛...我没被问到.
  • TCP协议,以及滑动窗口拥塞控制.
    猿辅导leader面问了这个.
  • 各种层
    虽然我是没被问到,但是我提供一个利用首字母记忆5层结构的方法.

    @NLP => 读作ATNLP => Application/Transport/Network/Link/Physical

NLP就是自然语言处理(逃)
然后你需要知道,Application还能再细化成其他3层(Application/Representation/Session),形成OSI 7层模型.

  • TCP握手/挥手
    真的是高频考点,虽然我没被问到.可能会问:为啥2次握手不行,4次握手多余?
  • 从URL输入到页面加载完毕发生了什么?
    我被问了渲染树.页面的渲染过程需要了解一下!
    关于渲染这个知识点,可能还会和页面中CSS/script的加载顺序,以及是否中断结合起来问.
  • http状态码?没!有!问!到!
    我既不会背,也不会背.但是看起来挺常见的.
  • XSS/CSRF等安全问题
    • 防御方式
    • 攻击方式

算法

都是easy级别的题.

问到的算法题有:

  • 猿辅导:树的左视图
    给你一个树,让你输出从左边看起来/有些节点会被挡住的样子...
  • 猿辅导:如何实现一个bind函数
    (这居然是算法?)
    面试官说:那好,接下来做算法题吧,先从简单的开始.
    然后就出了这个,我当时连bind是啥有啥参数都忘记了2333写了一个***版的,不带柯里化的那种.
  • 猿辅导:给一个有序整数数组A[0...n],和一个整数target.返回A中与target的差的绝对值最小的元素的下标,若存在多个则全都要输出.
    • worst-case的时间复杂度?
  • 美团:输出不定数目的集合的直积.
    [A,B,C] [1,2] => [[A,1],[A,2],[B,1],[B,2],[C,1],[C,2]]
    一个dfs.
  • 美团:数塔(dp,题名是矩阵最短路).
    出了牛客网上的题目,面试的时候就在牛客网上交.
    这题毒性很强.我用Python,3分钟写完,然后被卡到呕吐,只能WA过25%的case,真是让我百思不解!然后我发现没救了,就和面试官说,能不能让我用c++重写一下?然后就被阻止了,表示只要把思路讲清楚就行,我分析边界条件,讲完,也没啥问题.
    最后我事后补题,发现似乎是后台数据没有按照给定的格式给,居然把所有输入都塞到一行里面了.像Python/JS这种需要按行读入的语言就只能原地去世?我用c++写了一个就过了.
    但是我发现好像也有人用Python过了.这就让我超级不解,本地过了就是过了,一定是OJ的问题.jpg.有没有大佬给我解释一下?

项目

  • 能开源的项目请务必开源,贴上仓库地址.Github/Gitlab都行.
  • 对每个项目都预先复盘,为项目本身添加动机.
    被问到项目的时候陷入回忆,就会给人一种不熟悉项目的感觉.
    所谓动机,就是你为啥要做这个项目,好的动机可以展现你对编码的热情.
  • 在简历中为项目描述添加技术名词,可以引导面试官的提问.
  • 问到没有实现的/没有想过的功能,需要现场想象一下.
    我就被问了许多的后端问题.明明我是个前端.

    "我没有做这个功能,但是让我做我会(说出技术方案...)"
    或者"我做了,是这样的:(当场瞎编一个解决方案)"

  • 如果有量化成果的,请写上数字.

HR面

几个经典问题. 我也都被问到了.

  • 老师同学是怎么看你的.
  • 你都是如何学习的.
  • 期望薪资是多少?手头还有什么offer?
    要回答这两个问题,你需要事先在offershow(一个微信小程序)上面查好对方公司的薪水,基本上分为几个档次.你可以依据自己的面试表现/以及HR的反应开价.如果HR暗示你的表现还不错,那就可以悄悄地往高开(如果你没有其他大厂offer去argue很可能都会被压价,除非你的面试结果非常好)
    通常,开完价之后,HR会问你的这样开的理由.这个时候收割机们就可以说,我有贵司竞品的sp offer! 一般人...或许会稍微美化一下?
  • 你对本公司的了解?

美团HR:"说说你对美团文化的了解?"

错误示范(真实): 我:"开水团啊"(即答)
正确回答(虚构): 美团是一个牛逼企业!!!!它的价值观是:(省略列举)!我非常喜欢!!!!特别是首席科学家夏华夏老师,他的精神(省略精神),他的事迹(省略事迹),是我的偶像.

  • 你的职业规划?
  • 你为什么选择前端?
    这个东西,也有可能会在前面被问到.请准备一个或真实或虚构的故事,表现一下你为前端事业献身的决心.

通用反问环节

不要作死 不要作死 不要作死.
这死都不是我作的,我只是提醒一下各位如下要点.如果没有做到很可能会留下负面印象.

  • 不要把别人公司名字说成其他公司的名字.
    不要在美团的提问环节把美团说成饿了么.
  • 不要问加班.
    你真的想进这个公司,最好就不要露骨地问"加班"什么的了.公司里面加不加班也不是你一个问题能够改变的,反而可能会留下负面印象.
    但是,你可以问工作制度(出勤时间,下班时间,是否弹性,大家都是几点上下班的?),福利(有些公司提供晚上9点之后回家出租报销服务,有些公司时间阈值是9点30)有无:房补?餐补?交通补?
  • 不要在非HR面问薪资.
    据说,一般的面试官都被要求不能谈这个.
  • 问一些比较积极的问题.
    比如: 对应届生的期望?会承担什么样的工作?对新人的培养是怎么样的?技术栈是什么样的?会有内部的技术交流吗?贵部门主要做什么样的业务?还有上面提到的关于工作制度和福利的问题和面试反馈的时间.
  • 没问题了咋说?
    "好的,谢谢.我其他的问题我都从前面的面试官那里了解过了,我没有其他问题了!"

结语

一般来说,本科校招还是主要看的发展潜力.如何判断?私以为主要看如下几点,如果能在面试当中表现出来就可以大大提高通过面试的概率:

  1. 理解/沟通能力.
    有些时候,面试官可能会提出一些非常宽泛的问题,这个时候你可能就需要进行问题的细化,"您问的是不是..."或者"这个问题分为几个部分,我逐个回答.".注意,请千万不要抢答,请一定等面试官说完再回答.
  2. 代码能力
    代码能力表现为算法与项目.代码手速快的话就给人一种很强的感觉.
    算法的话,如果没有icpc经历还是刷leetcode吧,提早准备,多刷几遍.
    而项目:害搁这电商仿站秒杀系统呢?尽量不要整一些有培训班气息的项目,自己思考.我觉得哪怕是生活实用小demo都比这些项目要强.当然,技术栈最好要全都用上.

剩下的,其实还有被问到不会问题的时候的慌乱程度以及对后续面试的影响.我来举个虚构的例子:

好的,你vue源码有没有看过?来,手写一个diff算法,要能跑的那种.
平衡树了解吗?AVL树介绍一下?会写吗?会写啊,那来写个splay/RBT吧.
webpack的loader和plugin有什么区别?
你确定吗?你真的确定吗?这就是你的最终答案了吗?

面试者需要保持冷静,完全不知道的知识点就快点说不知道.我美团一面/猿辅导12面加起来说了起码50个不好意思我不知道,麻木了,我就直接当自己已经挂了继续回答下面的问题.如果崩了,就输了.

我没参加秋招,也没有公司的实习经历,有春招的其他大厂也因为各种原因错过了.最后去了哪?你需要观察一下我的认证.

附录

  • 美团今年2020年实习生的录用比(已经收到的简历数:拟招聘的岗位数)
    美团2020年实习生的录用比
    来自https://tech.meituan.com/2020/03/26/meituan-tech-corporate-recruitment.html
    客户端人少,算法(特别是CV)人多是很明显的趋势,不仅仅是美团一家.
    所以,如果你的背景比较弱,也可以剑走偏锋学习ios客户端开发并且打好CS基础进大厂.

  • 前端面试之道
    前期看看用来打基础不错.但是实际上你会发现这深度还是不够面试官问的,而且有些错误(比如:关于setTimeOut的时间下限为4ms的描述不符合MDN描述).

  • 掘金
    多看看别人写的总结吧.

  • MDN
    API文档,也有一些tutorial,但是我感觉质量都不是很高,不适合复习面试.

  • You Don't Know JS(YDKJS)
    很有收获的JS小书.Github上有开源的英文版,中文版翻译不太理想.

  • 如何让你的简历脱颖而出?
    害,这能有什么办法,简历是HR手动筛的或者是自动筛的,无非是靠学历/实习/荣誉/排版这些HR能看的懂的东西啊.可能(纯是我的幻想)有些HRBP还懂一点技术关键词,能看看项目.
    如果有需要我帮忙看一下简历(当然是无偿的)的同学请注意保护个人隐私,把姓名手机删掉,最好上水印,防止简历被人拿去乱投(以至于)最后被列入大厂黑名单.

  • 无时效性加班表
    无时效性,本人不负任何责任,FYI.

图片说明

更多模拟面试

全部评论

(10) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐