我的春招心路历程

2018-05-20 999 次浏览 个人总结

岗位方向

Web 前端开发


春招概况

  • 腾讯(提前批挂,正式批 offer)
  • 阿里巴巴(提前批挂,正式批已放弃)
  • 字节跳动(内推 offer)
  • 美团(等面试,已放弃)
  • 京东(玄学等面试,已放弃)

面试经历

腾讯(Offer ✅)

一面(4.16 下午,电话,40 min)

通知说 4 月 16 号下午的电面,上午面试官还专门打电话来问下午的时间是否合适,感觉人很不错。
下午面试官准时打来电话,是个很 nice 的小哥哥,广州 WXG 的,上来主动活跃气氛~

长时间聊项目(面试官:试图打动我)

  • 项目中生成 PDF 的会占用 CPU 很多吧,如果大量访问怎么处理
  • 有什么通知用户的方法
  • ES 6 箭头函数
  • React diff
  • React 和之前的 Web 开发方法有什么不同和感受
  • React 开发中,把 DOM 结构、样式和逻辑混杂在一起,你的感受是
  • 夸我笔试做的还不错,聊笔试题做的情况,找出哪些选择错了,帮忙挨个分析
  • HTTPS 原理
  • 有什么问我的吗

二面(4.16 下午,电话,30 min)

一面结束后我以为短时间内不会有下一轮了,已经收拾好东西准备回去了,然而突然二面的面试官打来电话,只好麻烦面试官等 5 分钟再开始。
二面面试官全程问各种技术问题,节奏很快,不过人还挺好的,会引导一下思路。

  • 浏览器的同源策略,不做限制会造成什么影响
  • XSS
  • CSRF
  • GET 和 POST 的区别
  • HTTP OPTIONS 请求
  • 304 状态码
  • HTTP/2 有什么新特性
  • 前端性能优化都有哪些方法
  • 平时用到的数据结构和算法有哪些
  • 哈希的原理
  • 如何反转链表
  • 二叉搜索树的原理
  • 给定两个文本文件,找出他们中相同的行都有哪些
  • 对 JS 单线程的理解
  • 事件循环
  • 页面间共享数据的方法有哪些
  • 点击链接到打开页面之间发生了什么
  • 有用过什么前端框架吗
  • 大文本文件排序用什么算法好
  • 有什么问我的吗

三面(4.16 下午,电话,30 min)

二面后我就一时不敢走了,等了一下又有一位面试官打电话说加了我的微信,用微信电话面试。全程不太问技术问题,由于这次面试整理得晚,很多问题都记不太清楚了。

  • 有 ACM 竞赛经历,为什么选择做前端
  • 要你设计一个 XX 小游戏,会怎么做?有哪些设计上的考量?怎么做优化?能想到什么可扩展的玩法?各类特殊情况如何做判断

HR 面(4.19 下午,现场,30 min)

等了好几天,一直是 HR 面试环节,终于 19 号凌晨通知我去现场面试,激动之余带着无奈,通知得也太仓促了吧。但是最后思考了一下还是决定买了一大早的高铁赶过去。
下午赶到酒店等面试,是一位 HR 气质大姐姐,全程就是问一些比较常规的问题,聊的比较轻松,比如工作地点偏好、家庭情况、兴趣爱好、有木有女朋友、最有成就的事和最受打击的事等等。

Offer

4.21 接到 offer call,不过由于学历信息被登记错了,那边重新走流程又花了好些天,不过等待还是值得的,毕竟是腾讯既是我第一家面试的公司,也是第一家发给我 offer 的公司。


字节跳动(Offer ✅)

一面(4.17 上午,视频,70 min)

头条的面试体验是最好的,面试前会有 HR 小姐姐约时间,有正式的邮件通知,而且面试官都很准时。不过头条的面试感觉难度不小,会着重考察即时写代码的能力。

  • CSS 实现一个自适应搜索框,输入框部分宽度自适应,搜索按钮宽度固定
  • 使用 JS 实现一个 repeat 方法,function repeat (func, times, wait) {}, const repeatFunc = repeat(alert, 4, 3000), 调用这个 repeatedFunc("helloworld"),会 alert 4 次 helloworld, 每次间隔 3 秒
  • 请用算法实现,从给定的无序、不重复的数组 data 中,取出 n 个数,使其相加和为 sum。并给出算法的时间/空间复杂度
  • 实现点击 table 中任意一个 td 就输出其中的内容
  • 给数组对象添加一个 findDuplicate(n) 方法,返回数组中出现频率 >= n 次的所有元素
  • JS 并发请求多个远程 url,结果按请求顺序依次输出
  • Web 安全,CSRF、XSS

二面(4.23 下午,视频,40 min)

  • 问项目
  • 写代码:找出 [1000, 990000] 中的对称数
  • 写代码:JS 实现一个函数,奇数次调用返回 1,偶数次调用返回 2
  • HTTP 缓存
  • Reflow 和 Repaint
  • React diff
  • React 控制组件更新的方法
  • 印象最深的项目
  • 做项目的通常流程
  • 有需求变更怎么应对
  • 一个项目做完后怎么处理这个项目
  • 学习方法

HR 面(4.28 下午,视频,30 min)

又是气质 HR 小姐姐,问了常规的问题,然后还介绍了一下团队和业务,感觉挺好的。

Offer

五一后收到了正式的邮件通知。内推师兄和 HR 小姐姐人都很不错,帮我分析腾讯微信和头条之间的一些优劣,然后深思熟虑后还是决定去腾讯了。


总结

17 年年底 ACM 退役,18 年春节后决定走 Web 前端方向,于是开始系统学习前端知识。开学后在学 ES 6 以及 React,因为阿里和腾讯的提前批内推都快结束了,在学长的催促下半小时赶完了简历,第二天就通知面试,一点防备都没有的我面试得比较糟糕,一些以前学的计算机专业课也是想不起来知识点的细节和深层的原理,只能靠印象回答,于是很轻松地就挂了。

经历了提前批没有准备的惨败后,也听说阿里腾讯都是还有正式批的招聘,于是制定好学习计划,也专门从牛客上搜集了 30 多篇前端的面试经验帖,分门别类地整理好知识点,整个 4 月份每天都在有条不紊地学习和复习。到月底面试时基本是网上随便找一篇面经,都可以不看资料自己过掉里面 95% 以上的题,这样才算是掌握地比较好了。后来面试时和之前可以说是判若两人,发挥的也好很多。最后去腾讯微信也算是一个相当满意的选择,虽然也看好蚂蚁金服体验技术部,但是微信也算是十分心仪的 offer,所以去不去阿里也就不那么纠结了。手头还有重写学校 OJ 的 TODO,于是果断决定放弃掉阿里等公司的面试机会,全心投入到学习和做项目上,争取在去实习前能完美的收尾。

最后也分享一下几点面试经验,如果有帮助是再好不过了:

  • 每年春招时间大概 3 月到 5 月,尤其适合大三的准备毕业后工作的同学。一般成功找到暑假实习的话,可以在秋季争取转正机会(难度看具体公司的具体部门),这种方式比毕业后找工作要容易很多
  • 能找到师兄师姐内推的话自然不要放弃这个好机会,通常内推可以免简历筛选,甚至直接进入面试
  • 程序员必备知识:

    • 数据结构与算法(极重要,哪怕是 ACMer 也不能太掉以轻心,面试题和 ACM 题风格还是有些不同的)
    • 计算机组成原理
    • 操作系统
    • 计算机网络
    • 数据库(前端可能不太考察这方面)
    • 编程语言(看具体岗位要求,但要理解的比较深刻,包括一些底层和类库的实现)
  • 多看面经,了解实际面试要考察的知识点和侧重方向,查漏补缺
  • 推荐优先尝试中大型公司,通常大的平台对个人成长会有很大帮助
  • 注意调整心态,哪怕找不到大厂也可以找一些技术氛围好的小公司(不推荐外包型公司),积累经验,提升自己,大不了等秋招翻身

bLue 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。
本文地址:https://dreamer.blue/blog/post/2018/05/20/my-intern-recruit-experience.dream

只有地板了

  1. MeiK
    MeiK

    前排膜拜大佬

添加新评论