历经两个月的秋招总算是结束了,从七月份开始复习秋招相关知识,到八月多开始笔试、面试,到九月下旬的秋招结束,在笔试面试的这两个月里,还是挺累的。这篇文章就说说秋招这段时间的收获以及给对于明年要参加秋招的同学的一些建议吧。
一、最后去的公司对于我来说,这次秋招算是满意的吧,找到了想去的城市(深圳)以及公司(腾讯),我投的岗位都是后端开发。在之前春招找实习的时候,人生的第一次献给了腾讯,那时候没啥面试经验,感觉傻傻的,没看过的可以看我之前写过的文章嗯,春招两次腾讯面试都挂二面了,分享下我失败+傻傻的面试经历。
在秋招,腾讯也是我第一家面试的公司,感觉还是挺有缘的,8 月 14 号接到了腾讯面试官的面试预约,当时突然有点后悔,感觉自己应该晚一点投,因为腾讯的提前批是 9 月 12 号才结束,正式批 9 月 26 号开始。感觉当时还有很多没复习,想晚一点再面试。后来,我才知道,我错了,真的是越早投越好,千万别等到正式批或者提前批即将结束才投,那个时候投,真的会错过很多机会(至于为什么,后面会说)。17 号开始了秋招的第一场面试,到 8 月底面完了所有流程,9 月下旬出才收到面试结果。下面谈谈这次秋招的感受吧。
二、关于我可能没看过之前我的文章的,很多人还不知道我。这里我简单介绍我的背景吧。
我今年大四,大一学的专业是木材科学与工程,后面转专业到软件工程,老家是广东的某个 5 线城市,在广州这边读大学,当然,是某个个双非大学,至于是哪个?学校里有养神兽的就是了。
可能看我文章的读者中,很多人觉得我很厉害,说实话,其实我还是挺菜的,在校期间没有参加过任何比赛,没有拿过任何奖金,扎心了(凉了,大神的形象暴露了)。所以这次能够拿到大厂的 offer,我觉得得归功于我之前对计算机基础知识以及算法学习。想拿大厂 offer,基础知识 + 算法必须重视。
三、基础 + 算法 + 项目1、关于基础知识
秋招的竞争还是非常激烈的,如果你想要在秋招中拿到满意的 offer,那么从现实开始,就要把计算机基础(操作系统、数据库、计算机网络、Linux)、算法学好,特别是算法,不容易临时抱佛系,是一个长期积累的过程。
对于大厂,比起项目,它更加主要你的基础能力是否扎实吧。记得腾讯一面的时候,面试官就哈希表这个问题问了我有二十分钟,从刚开始让我用 C 语言来设计一个哈希表,后面问我如何设计 hash 哈希,怎么样设计更高效,怎么样设计能够最大程度减少碰撞,是否要动态扩容等等。一系列问题,我都按照自己的理解回答了,有些引用 redis 、 hashmap,并且我都举了一些例子。这个问题回答之后,感觉面试官有些惊讶,问我是否研究过 redis 这些框架的源码等。感觉这个问题回答之后,面试官对我更加感兴趣了,那场面试问了 90 分钟,基本把所有基础知识都问了。
所以我觉得,对于秋招,理解常见数据结构的相关设计,为什么要这么设计,实在是太重要了,可能很多人都知道链表、树、哈希表等,但被深入一问,可能就不懂,不知道为什么要这么设计了。
这次秋招,被问的最多的就是操作系统、计算机网络、MySQL了,虽然我面试的是 Java 工程师,但是很多公司并没有问我 Java 相关知识(ಥ_ಥ),不过这和一个公司的技术栈相关吧,像我面试的 腾讯,字节跳动,shopee,小米等,公司的主要开发语言不是 Java,所以这几个公司的面试,一个 Java 相关的知识点都没有问过我,反正我是哭了。不过这并不影响我的回答,因为这些计算机基础知识,我很早就在准备了。
所以对于要参加面试的同学,千万别把自己吊死在某个语言上,语言只是一门工具,而应该多花一些时间在一些通用的知识上,例如 sql + Linux + 算法 + 操作系统 + 计算机网络。
当然,如果公司的主要语言是 Java 的,还是会问很多 Java 相关知识的,例如我面试京东,蘑菇街,阿里的时候,就问了很多 Java 的知识,像京东,蘑菇街,cvte 就没问过我计算机网络、操作系统这些知识。
所以说,不同公司,侧重点还是不大同的,但是,对于 BAT 这些大公司,基础知识 + 算法 是必问的。
2、关于算法