暑期实习总结(亚麻、微软、hulu、freewheel)
背景
base北京,北邮本硕,之前在字节服务端实习了六个月,三月份润了之后开始准备暑期实习,三月四月两个月陆陆续续面了亚麻、微软、hulu和freewheel,四家最后都拿到了offer。
微软
找同学直接内推的,没有笔试
3.7 一面
聊项目
介绍Java,Java垃圾回收机制
为什么字节用go,go和Java对比
算法题:滑动窗口最大值
算法题:分发糖果
虽然考了两道hard题,但是都是很常规的原题,而且面试官一般会引导你。
3.11 三面
由于一面过了,所以直接进的三面
- 自我介绍
- 聊项目
- 算法题:分割回文串
- 反问+面试官介绍微软
还是原题,两轮面试都遇到原题,感觉还是相当幸运hhh
亚麻
直接在官网投递的开发岗位,3.3发的笔试邮件,48小时之内做完就可以,包含两道编程题,由于我抽到的编程题太简单了,和我同学抽到的题完全不是一个难度,就不做记录了,没有参考价值。
3.10 一面
- 自我介绍
- 聊项目
- 算法题:岛屿数量
- 算法题:强密码校验器
第二道题虽然是原题但是没刷过,最开始容易陷入用dp的陷阱里,其实并不是,最后做了一半没有做完。
3.10 二面(manager面)
- 聊项目,聊得非常细,会分享一个共享画板,让你一边画一边讲,包括需求、设计、技术难点等等。
- 面试官介绍亚马逊+实习生培养方式
总结:亚麻的面试是一面二面连着一起面的,并且体验非常好,特别是二面的时候,整个一个小时基本上都是在讲项目,会让你讲的很细,面试官会非常认真的听你讲,和你互动。
freewheel
4.16参加的笔试,4.22约的面试,和亚麻一样也是一面二面一起的
4.25 一面
- 自我介绍
- 聊项目
- 笔试考了赛马,让讲一下为什么是7场
- 最后问了一道简单算法题,一个一维数组,求最长没有重复数字的子数组长度
4.25 二面
- 自我介绍
- 聊项目
- 问了问能来实习的话能实习多久
- 之前在字节实习用的go,问go和java有什么区别
hulu
3.24 一面
- 自我介绍
- 聊项目
- 由项目引申出redis
- 为啥选redis
- redis为什么快
- zset怎么实现的(跳表)
- 跳表介绍一下
- 插入的复杂度
- MySQL事务,讲了ACID、四种级别、ReadView、next-key lock
- 算法题:1-50,其中缺一个数,另一个数字重复了一次,找出缺失的数字和重复的数字。
- 循序渐进
- 暴力解法:开辟一个计数数组
- 原地修改:数字作为索引来判断
- 常数空间+不修改:求和、积,数学公式计算
- 算法题(只说思路):有一堆长度不一的绳子,可以随便剪,但是不能拼
- 问题1:长度为m的绳子可以有多少段?
- 贪心:从最长的开始剪,遍历所有大于等于m的绳子即可
- 问题2:需要n段长度相等的绳子,最大长度可以是多少?
- 问题1就是问题2的子问题,输入一个长度,可以得到绳子数量,判断是否大于等于n
- 暴力方法:线性遍历
- 二分法
4.11 二面
- 自我介绍
- 聊项目
- 计网:三次握手,正向代理和反向代理
- 算法题:给一组长度不一的木棍,求能组成平行四边形的数量
- 举例:
- 输入:
nums: [2,1,1,1,2,3]
- 输出:
3
- 输入:
- 算法题:接着上一题,求能组成四边形的数量
4.28 三面
三面就是和leader聊天,没有算法题和八股
总结:hulu的面试难度给我感觉是最难的,算法题不会出原题,而是找一个问题由浅入深的让你一步步解决,面试体验也是非常好的。
#暑期实习##面经##实习##后端开发#