24 Summer Intern 面试记录

Timeline

公司/职位/base 投递时间 通知时间 一面时间 二面时间 offer
Google / SE summer intern / Shanghai 12.16 12.19(补充学历成绩等信息,面试时间)12.26(收到recruiter邮件) 1.15 1.17 1.24挂
Microsoft / SWE intern / Shanghai or Beijing 2.2 2.14(填写问卷)
vivo / frontend intern / Nanjing 2.21 2.25(填写测评)
美团 / 前端实习 / Shanghai or Beijing 2.26 3.8(参与3.9笔试) 3.25(美团平台)4.2(美团到店) 3.26(美团平台)4.10(美团到店) 3.27美团平台挂 4.11 offer
网易雷火 / web前端实习 / Hangzhou 2.27
腾讯 / web前端 / ? 2.28 3.11(腾讯云捞) 3.12(腾讯云)3.25(信息安全)4.18(企业微信-放弃)
Morgan Stanley/ IT技术部实习 / Shanghai 2.29 3.1(fast track预约面试时间)3.8(online assessment) 3.6电面 4.15(AC面) 4.24(oc)
Mihoyo / 前端 / Shanghai 2.29 3.17笔试 4.1(本来约3.27,面试官有事改时间) 4.10 4.11挂
小米 / 前端开发 / Nanjing 3.4 4.12简历挂
拼多多 / 前端 / Shanghai 3.4 3.24笔试 4.7 4.14(拒绝二面) 据说有四面?
京东 / 前端 / Shanghai or Beijing 3.4 4.2 4.8 日常实习拒
携程 / 前端 / Shanghai 3.4 3.11(3.13笔试) 3.20 3.27 默拒
蚂蚁 / 前端 / Shanghai 3.8 3.14简历挂
恒生 / 前端 / Hangzhou 3.8
华为 / 终端云服务部 / Shanghai or Nanjing 3.17 4.10笔试
淘天 / 前端 / Hangzhou 3.18 4.10 4.18 4.23hr面
SAP / developer intern / Shanghai 3.18 4.1笔试 hr面拒

信息来源

大部分企业都会在官方“xx招聘”公众号上发布暑期实习的相关内容,对于国内的一些企业辅导员或校方也会发布信息,及时关注这些信息,注意截止的一些时间点,越早投递越好。

简历内容

个人简历是23暑期就准备好的,内容:华五本+较高GPA以及排名+一些比赛/大作业项目+一些水奖项和奖学金。没有托福雅思,但是有较高(630+)四六级,尚不清楚英语水平是否在简历筛选范围内。

Google

google一般都是最早开始暑期实习招聘的,2023年是12月14号开始暑期实习的招聘的。我通过关注官方微信公众号"google招聘包打听"看到的职位信息,因此很早就开始投递了。同时本人没有找内推,在等待面试通知时花了较长时间,一度以为简历就挂了(也有可能外企要放圣诞假期?)。总之收到recruiter邮件时还是很开心的。

一面二面都是45min,在google meet里面视频,另外开一个google doc类似于共享文档的记事本写代码。

Google一面

英文面,上来先是打印二叉树,需要打印成"human can understand"。。。然后在那边空格对齐写了老半天,感觉浪费了太多的时间。

第二题是数组里面找出最大的奇数,变形题是找到第k大的奇数。直接回答了一下用堆,由于二叉树写太久了没来得及写完堆。

Google二面

中文面,又是类似二叉树,把一个字符串分到了各个叶子节点,父节点保存子节点的长度和。第一个问题让设计了一个结构来表示这个树,我定义了一个结构体同时保存string和len。没有想出可以在父节点不用string来节省空间的方法,后来想想也许用继承?(很久没有用c++写面向对象了)

第二个问题是查询字符串中第k个字符所在的位置。这个按照传统的递归做法即可。然后需要自己设计测试用例,考虑一些边界情况,来验证和修改自己的代码。最后是说一下自己写的时间复杂度和空间复杂度。

整体感觉难度好像还行,没有想象中那么难,但是让我写打印二叉树是属实没有想到的,大概率最后挂是挂在了一面,写打印二叉树花了太久的时间在计算对齐的空格个数上,还是学艺不精吧 :==(

Morgan Stanley

online assessment

包括选择和编程题。选择题大部分是计算机基础,包括数据库操作系统之类的问题。

编程题2道都不难,但是第二道有3个隐藏用例没过,不知道是什么细节出错了。

电面

涉及的方面比较多,包括c++,Java,OS,DB以及数据结构。但是内容相对固定,就是传统的一些问题。算法题刚好问到了数据流的中位数,前两天刚做过印象深刻。(主要是看微软面经看到了这道题,就去做了一下,没想到外企题库出奇地一致啊)

internet: TCP/UDP
c++:stack/heap,abstract class (example), smart pointer
java:garbage collection(advantage / disadvantage)
os:process/threads, dead lock, starving
db: index, primary key, foreign key, inner/outer join
Algorithm:linked list(head node), BST, time complexity of operations

AC面

30min编程+45min技术面一+45min技术面二,一下午结束

两道很难的编程题,合起来就做出来一道,一下子心凉了。。。

后续两轮面试问题中规中矩

美团

笔试

实习生笔试分为两部分,一部分是选择题,包括很多基础知识,数据库、编译原理、os、计组、设计模式以及一些数学题,主要是找规律和鸡兔同笼类似的简单计算题。

另一部分是两道easy级别的算法题,没想到算法题那么简单,一个小时就提交了前面的选择题,不能回去改了,早知道多花点时间好好考虑选择题了呜呜。

美团平台一面

根据简历侃大山,聊了一堆无关前端的内容。为什么选前端,简历写包括其他语言。

然后先开始问项目,说了微信小程序,就开始问微信小程序的生命周期函数。然后使用vue做过的项目?最有意义的项目?深度参与的项目?

有关生命周期,vue生命周期,react生命周期,父子组件的生命周期函数执行顺序;axios封装。

computed&watch

js基础,promise解决什么问题,有哪些方法,浏览器轮询event loop。

有关组件通信,父子组件,子组件向父组件传递。

计算机网络相关:网络模型,网络协议,三次握手,四次挥手

学的最好的专业课?

用js写快速排序,冒泡排序

美团平台二面

上来聊了很久的项目,问了些关于协作沟通性能优化的思考。

然后写了一道算法题最小栈(结果我f**ked in my head没写出来蠢哭了)

面试官看我用c++考了一道指针题,结果还答错了,属实是自己给自己挖坑跳了。。。

总结:美团的两位面试官还是很nice的,面试体验也很好,(下次还来 x)

腾讯

腾讯云

上来先写两个题:一个题在原型上重写数组的find方法,使用一个滑动窗口求一个特殊规则形成数组的值

什么是http?http报文格式?什么是闭包?闭包的优缺点。

有没有使用过异步,有哪些异步方法

为什么选择前端?

腾讯信息安全

讲一讲印象最深的项目,难点,解决方案

http和https,追问非对称加密,每个过程?

vuex的使用?没用过:讲父子组件和子组件通信

做题:LRU cache 允许用别的语言,就用c了笑。(面试官绷不住了,说前两天面了一个也是用c的,笑死)双链表+哈希表

笔试

腾讯前端笔试不考算法,一些有关界面和js操作的代码填空题,允许使用本地ide,现场提交直接能看到成绩,因此可以慢慢改到100分,相对比较简单

WXG

后来经过笔试又被wxg捞起来了,但是一是不太想去sh以外的城市,二是面试太多了太累了,因此彻底放弃面试机会了

携程

笔试

4道编程,1道签到题,1道前缀和优化题(脑子抽了最后才想出来,有个小bug没来得及修好),1道模拟题(好好处理爆int型数据即可通过),1道比较难的题目(没来得及做)

最后通过了2.5/4(其实可以3/4的),拿到第一批面试机会

一面复盘

  1. 什么是事件循环?
  2. 宏任务,微任务分别是哪些
  3. promise是什么,解决什么问题,怎么解决回调地狱的问题?.then有返回值吗?
  4. 普通函数和箭头函数区别
  5. 闭包,使用时要注意什么
  6. 什么是防抖,什么是节流
  7. react虚拟dom
  8. react diff算法
  9. vue的key
  10. git reset revert,reset soft和hard区别,有三次提交,要删除第一次,保持第二次和第三次
  11. 两栏布局:左边栏固定,右栏填满
  12. margin重叠
  13. 从输入url到浏览器展示的过程,js线程,渲染线程
  14. xss攻击,csrf
  15. typescript工具
  16. interface和type

感觉大多数答得都一知半解,这样很不好,一旦被追问就露馅了。。。

二面复盘

没想到一面面的那么烂还是有二面邀请,但是二面更烂捏。。。

开始聊项目,然后问了项目里面vue组件通信的问题。

接下来问有关vue框架的一些八股:

  • vue生命周期(项目里面怎么用,用哪些函数)
  • watch,computed(computed的危害?)
  • v-if和v-show区别
  • 有没有用过nexttick
  • 有没有用过keep-alive
  • 知不知道vue的底层原理
  • vue3有什么特性

框架了解的确实不多,然后开始做基础手写题

  • 布局:上中下三栏布局,上下固定宽高,中间自适应(使用flex,由于样式直接写在html标签里面被狠狠批评了www;然后看我用了html5的语义化标签,问了一下html5的特性,哪些语义化标签,想不起来了之后问了localstorage,sessionstorage这两个)
  • js操作dom:随机生成50个50*50的小方块,然后隐藏

基础不牢,地动山摇!!!

米哈游

笔试

10道单选,10道不定项选择,3道编程

单选和不定项包括了操作系统、前端基础、计算机网络等一些杂糅的内容。编程题1道签到题,1道贪心,1道简易数学题枚举?

最后提前交卷了。。。

一面

  1. 基础数据结构知识
    • 队列、栈,使用队列实现栈,使用栈实现队列
    • 哈希表和数组的区别,哈希表冲突如何解决
  2. 计算机网络:http原理;如何保持长连接
  3. 计算机操作系统:进程和线程,死锁,资源,如何解决死锁
  4. js相关
    • js基本数据类型,symbol有什么用;
    • 如何用堆栈存储变量;垃圾清除算法(循环引用的解决方案?)
    • 数组常用的方法有哪些,手写reduce
  5. css:flex:1缩写原理
  6. 最长无重复字符的算法题

二面

不太记得了,似乎面试官对大模型很感兴趣一直在问我对大模型的相关看法,感觉像是,招满人之后被kpi面了,最后不出意外挂掉了,但是同一天收到了团子的offer,对冲悲伤~