最近一位读者跟我报喜,秋招拿到了阿里、字节、美团、京东、虾皮shopee等公司的offer。
关键这位读者本科是双非非科班,考研跨考的计算机,他的经历很励志、很有思考,经历也很有借鉴性,今天分享给大家。
以下是读者的分享。
先自我介绍一下,我目前读于某双非大学,攻读计算机硕士学位。本科非科班,这期间没有学过任何科班专业课,只接触过一些简单的c,和一点基础的python语法。
后来听说IT行业收入非常高,便决定跨考本校的科班专业。我的基础非常差,考研的过程可谓是困难重重。专业课考试主要是两门:数据结构和计算机组成原理,自学的过程异常痛苦,尤其是一些什么浮点数运算,连数据结构里最简单的哈夫曼树都看不明白。
最后专业课的成绩是60多分,好在我是本校的生源,站在悬崖边擦着线上了岸。
一路以来,得到了许多人的帮助,自己从零基础到顺利结束秋招的学习过程也有颇多心得和感悟,决定写一篇总结,复盘自己心路历程的同时,也借此帮助在秋招路上奋斗的同学们。
如何准备
秋招的准备分为三大部分 :算法、基础、项目
其实已经有很多经验贴总结了准备的方式,我这里简单谈一下个人准备的心得,希望对有用!
一、算法准备
算法是一定要会的,算法有一票否决权。公司会在你投递简历之后让你参加一次算法笔试,如果写不出来或者没有达到分数要求,那就失去了面试资格。在面试中,面试官也会出一两道算法题让你写一写,看看你的代码风格和思路,要是写不出来,面试通过的概率就微乎其微了。
准备方法:
-
剑指offer
这个没啥好说的了,算法圣经,一定要多刷吃透
-
leetcode hot 100题
刷完剑指offer和labuladong以后,你的力扣题目应该能有150题左右的刷题量了,hot100也是面试常出的题目,可以考虑刷一刷,这样刷题量就能达到250道左右
-
各种面经里的算法题
一般牛客上都会有同学分享自己的面经,面经里就有他自己面试遇到的算法题,可以思考一下这些题目的解法,找到力扣原题写一下。面经里的题目都是那些同学实战面试遇到的,非常有参考价值。看这些面经总结一下,根据这个路线,刷个300道题目大概就够了。
二、基础知识准备
基础知识分为几大块:
专业课知识 (计算机网络、操作系统)
这两块是常考点,毕竟是基础中的基础。这个可以看小林coding的pdf文章,总结得非常详细和全面。计网和操作系统一定要最先看,也要掌握得非常熟练,这两个知识点决定了面试官对你基础知识的评价,而且对你理解后续的其他知识有铺垫作用。不然学到 Java web 那块,什么请求头请求行请求体会看得很懵逼。
中间件、数据库 (Mysql、Redis)
Mysql和Redis是非常重要的部分,现在很多公司都转成Go开发,有可能面试你的面试官他们目前使用的是Go或者Python,那么他们就不会问你Java的知识,而是问一些中间件、数据库和专业课的知识。
Mysql需要准备一些基本的SQL语句,比如一个班有两科成绩不及格的同学有几位这类的场景题。我面试虾皮就遇到过。除此之外,还有索引的原理、B+树、MVCC、各种锁机制(行锁、表锁、意向锁、间隙锁、next-key lock)、隔离级别、explain的使用、binlog和redo log、主从复制、调优。推荐一下极客时间的mysql 45讲,非常详细。
Red