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一般都是最早开始暑期实习招聘的,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的),拿到第一批面试机会
一面复盘
- 什么是事件循环?
- 宏任务,微任务分别是哪些
- promise是什么,解决什么问题,怎么解决回调地狱的问题?.then有返回值吗?
- 普通函数和箭头函数区别
- 闭包,使用时要注意什么
- 什么是防抖,什么是节流
- react虚拟dom
- react diff算法
- vue的key
- git reset revert,reset soft和hard区别,有三次提交,要删除第一次,保持第二次和第三次
- 两栏布局:左边栏固定,右栏填满
- margin重叠
- 从输入url到浏览器展示的过程,js线程,渲染线程
- xss攻击,csrf
- typescript工具
- 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道简易数学题枚举?
最后提前交卷了。。。
一面
- 基础数据结构知识
- 队列、栈,使用队列实现栈,使用栈实现队列
- 哈希表和数组的区别,哈希表冲突如何解决
- 计算机网络:http原理;如何保持长连接
- 计算机操作系统:进程和线程,死锁,资源,如何解决死锁
- js相关
- js基本数据类型,symbol有什么用;
- 如何用堆栈存储变量;垃圾清除算法(循环引用的解决方案?)
- 数组常用的方法有哪些,手写reduce
- css:flex:1缩写原理
- 最长无重复字符的算法题
二面
不太记得了,似乎面试官对大模型很感兴趣一直在问我对大模型的相关看法,感觉像是,招满人之后被kpi面了,最后不出意外挂掉了,但是同一天收到了团子的offer,对冲悲伤~