25届菜鸡秋招实习总结
25 届菜鸡秋招实习总结
楼主目前大三上,Java 后端开发方向,目前的情况是:
• Fabrie 后端(部门主要写 Node,少量 Golang 和 C++),base 上海
• 快手本地生活(Java),base 北京
• 万物心选搜索架构(Php),base 北京
挂了的:
• 南北科技(Java),base 广州
?
秋招到现在面了四五家,九月份一直 0offer ,本来心态都快崩了,听了某评论区牛友
的话,国庆先回家,像他说的那样,带着另一份心情回来。到了十月份约面才开始多起
来。
大大小小也投了好多家,目前还有腾讯(初筛),美团(业务评估),网易(业务评
估),蔚来(初筛)还没面试,有点累了,不想继续面了。
因为已经意识到行情很差,采取了海投战略,只要 base 可选广州就会广州(觉得挺宜居
的一个城市),没有就都可以。
找实习实在是漫长且痛苦,当然金字塔顶端的人什么时候都可以拿到最好的 offer,不过
这种大佬实在是太少了。个人踩过的主要的坑就是准备太晚、投的太晚导致错过了暑期的
很多机会,建议大家早点准备,无论是互联网还是其他赛道,都越来越卷了。
我因为准备不足,本打算拖一拖在九月底十月再开始找实习,但是确实太晚了,大厂岗位
不多,一个部门就 1,2 个 hc 吧,和暑期是没法比的(暑假滴滴和百度招人特别猛,还记
得七月份百度智能组招 20 个后端,现在只要 2 个)。最后只面快手,然后也比较快的拿
到了实习,就没有再看其他的机会。
一路上虽然辛苦,但是遇到了很多很值得感谢的人,给我许多勇气和力量去继续战斗。
最后希望大家有满意的 offer 吧。
1702168717118-e3c6017d-561d-44af-a9f9-16107dc3116d.jpeg
万物心选(没录音记不起来了)
南北科技(同上)
Fabrie
Fabrie 一面
10.11 1h20min
开篇自我介绍,专业介绍,主要学什么课程,工作室介绍
项目
1. Cim 文件是做什么的(其实就是 xml,吹了下 dom4j)
2. 会不会涉及到地图的操作
3. 电力流分析运算是怎么做的,讲讲业务流程
4. 项目涉及到的数据量有多大,是怎么存储的
5. 讲讲项目当中的模板方法模式,讲讲拓扑搜索的原理(说了深搜广搜)
6. 为什么使用 Redis ,以及缓存主要使用的数据结构,大概要存多少数据
7. 有没有实现 Redis 的持久化(RDB+AOF)
8. 有没有了解过 Redis 的发布订阅模式
9. 对于 Nginx 的底层有没有研究(不太了解),GZip 的目的
10. 为什么选用 Fork/Join 框架去实现并行运算(讲了自动负载均衡)
11. 项目分库分表的实现方案(range+hash)
12. 讲讲规则引擎的应用,它解决了什么问题(简单热部署)
13. 第一个项目做了多久
14. 第二个项目的核心链路
15. 消息队列的应用
八股
1. Java 的垃圾回收策略(内存分区,GC 算法…)
2. 分布式的底层原理有没有研究
3. 有没有了解过 Dubbo 的底层机制
4. SpringCloud 的整体架构
5. 分布式 ID 的实现(讲了下 UUID 和 Snowflake)
6. 限流降级的实战经验
7. 讲讲 MySQL 的索引(扯了下 B+树实现,聚簇非聚簇,索引失效)
8. 有没有使用过 MongoDB
9. 键入网址到网页显示,期间发生了什么(经典)
10. http 三次握手的实现(同上)
算法
都是写过的,直接秒了
一道 LeetCode 原题:41.缺失的第一个正数
一道 LeetCode 变体:199.二叉树的右视图
其他
1. 对于后端是不是比较感兴趣,接不接受转 Node
2. 对公司的产品有没有研究,然后介绍了一下公司项目的业务
3. 现在还需要上课吗
4. 大概能实习多久
反问
1. 面试表现
2. 二面大概内容,说会更偏向业务,不会有比较详细的技术问题
Fabrie 二面
10.13 50min
开篇自我介绍
项目
1. 什么是后端架构
2. 有没有独立完成过完整的后端项目,讲讲它的架构是怎么样的
八股
1. 讲讲 Java 的锁(轻量级锁,重量级锁)
2. 轻量级锁和重量级锁的应用场景和它们之间的区别
3. 讲讲死锁的产生,以及如何避免死锁(破坏循环等待和不剥夺条件)
4. 讲讲 golang 协程和 Java 线程的区别,以及它们的好处和坏处
5. MySQL 为什么使用 B+树作为索引的存储结构,以及它的查询时间复杂度
6. 有没有在项目当中写过 B+树(我说没写过 B+树,写过拓扑树和字典树)
7. 双向链表和单向链表的区别
8. 讲讲 LRU 缓存淘汰算法,在哪里使用到的(在 Caffine 源码见到过,上 os 课也见到
过)
算法
不让取巧,所以花了很长时间
Leetcode 原题:146.LRU 缓存
其他
感谢你来参加我们的面试,很有做技术的底子
反问
1. 部门分工
2. 面试表现
快手
快手一面
10.12 1h
开篇自我介绍,自己比较熟悉的一个项目
项目
1. 项目中为什么要使用模板方法,它的优势在哪里(定义算法框架啥的)
2. 介绍一下为什么使用 Redis 去作为缓存实现方案;数据是怎么被缓存到 Redis 当中
的,面试官对我的缓存方案有一定疑问;以及缓存的数据量(scan + set)
3. 对于 Fork/Join 框架的理解(分而治之)
4. 项目分库分表的实现方案(range + hash)
5. 规则引擎的具体应用(面试官指出我的代码检测没考虑到运行时异常的处理)
6. 项目最大的亮点或者是最大的挑战(数据太多了)
八股
1. JVM 调优的经历(都是线下调优)
2. 线程池的基础参数(提了一嘴为什么不用 Executors)
3. MySQL 语句优化经历,以及优化方式和手段
4. 常见的索引有哪些,讲了聚簇非聚簇,面试官提到了联合索引,引一下最左前缀法则
和联合索引的数据结构
5. Spring 的基本特性(说了一下 IOC 和 AOP,循环依赖问题说的不好,没提到第三层缓
存)
算法
力扣原题:142.环形链表 II
其他
1. 大概可以实习多久
反问
1. 本地生活大概的形式是怎么样的,是不是和抖音,美团类似
2. 面试可以提高的地方
快手二面
10.16 45min
开篇自我介绍
项目
1. 讲讲 JVM 调优经历,讲了下线下优化
八股
1. 什么样的对象会进入老年代?
2. 元空间信息会不会做回收?
3. Class 的生命周期
4. 如果我想要看到 JVM 加载了哪些 Class,卸载了哪些 Class
5. MySQL 联合索引(a,b,c)中,a 是等值,b 是范围,c 是等值,它能不能用到联合
索引
6. MySQL 的 B+树的底层实现, 从数据页的角度看 B+ 树
7. 范围查询是如何去利用索引的
8. Redis 的集群模式都了解哪些,说只了解主从和 Clauster,没有设计过 HA 方案
9. Clauster 的优势和需要注意的点
10. 一个节点故障要如何去实现 Rebalance
11. 如何实现对线程池数据的一些监控
算法
Leetcode 变体:93.复原 IP 地址
其他
1. 平时有没有去看一些写好代码的书,推荐了 Clean Code
2. 实习时间
反问
1. 面试表现
2. 怎样才能更好的参与实习