背景:2 本 9 硕,一段中厂实习,意向后端开发。
时间线:4.8 一面,4.11 二面,4.15 三面,4.16 HR 面,4.17 录用评估+云证,4.18 OC,4.19 录用信。
时长 60 分钟,由于部门的技术栈是 c++ 和 go,因此没有问我 Java 相关的八股,问题大部分是引导性的问题,面试官会抛出一个大的方向,然后让我自由发挥,面试官会根据答的内容做进一步的提问。
上来先是自我介绍,接着问了问我实习中的项目详情,怎么样保证缓存一致性的,会出现什么问题,这部分因人而异。项目问完之后让我挑 Redis 里面熟悉的讲讲,我重点讲了 Redis 里面跳表的实现,比如跳表的结构,每个节点中包含的内容,跳表的层级如何确定,面试官看来挺满意。接着是一些常见的八股(针对 MySQL 索引等),这部分比较简单,因此没啥印象了。最后做题:实现一个栈,要求 O(1) 时间复杂度内能取出栈内最小的元素。
面完过了两天面试链接消失,4.10 约了二面。
时长 100 分钟,压力最大、内容最多的一面,从百草园问到三味书屋,这个面试官看来应该是 leader 级别的人,面试过程中不时打断我,要求我描述的更准确些,但同时也不断对我进行引导。整体看来虽然压力大,但面试体验不算差。记忆有限,只想起来一些印象深刻的问题。
小结,感觉二面的面试官看重的不仅仅是背八股的能力,更重要的是自己的思考,就是为什么要这样设计,有什么样的好处,避免了什么问题。在进行 Redis 集群设计方案的时候,很多地方我的方案和 Redis 原本的实现不一致,面试官也没说什么,反而让我继续完善自己的方案,只要我能给出一个能自圆其说的答案即可。
时长 40 分钟,整体难度不大,也基本上都是由我自由发挥。自我介绍完了之后,让我挑项目中的亮点讲一讲,接着问 Redis 中我有哪些熟悉的内容,我讲了基本的数据结构的底层实现,比如 SDS,压缩列表,跳表等。接着又问我 Redis 的持久化策略,我又重复了一遍,重点讲了讲在 RDB 中 SAVE 命令和 BGSAVE 命令的区别。然后是计网的东西,问 TCP 怎么保证流量控制的,这部分我没有答好。最后做题:经典的计算两个字符串的最短编辑距离。
面完秒过。当天晚上收到 HR 面链接。
时长 20 分钟,没啥实质内容,就是问了问为什么春招还在找工作,手里有哪些 offer,期望薪资啥的。
走了狗屎运,拿到了之前不敢想的 offer,有种不真实感。虽然是白菜,比起大佬来说肯定不算啥,但对我这个考研跨考、秋招前无实习经历的人来说已经很很好了。
去年九月一度怀疑自己是不是不适合干程序员这一行,个中艰难有口难言,所幸最后坚持了下来。一路走来,牛客这个平台对我帮助很大,写下这篇笔记希望能对其它牛友有所帮助。祝各位牛友心想事成,offer 多多。
#24届软开秋招面试经验大赏#