微信公众号【程序员江湖】程序员
做者黄小斜,斜杠青年,某985硕士,阿里研发工程师,于2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer面试
我的擅长领域 :自学编程、技术校园招聘、软件工程考研(关注公众号后回复”资料“便可领取 3T 免费技术学习资源)数据库
关注后在后台回复“资料”便可领取3T免费技术学习资料(包含做者的原创文章合集)编程
做为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终得到网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到我在这半年里作对了哪些事情。后端
前言设计模式
研究生时期的方向选择微信
对于即将读研的同窗来讲,通常有两件事很重要,一件事是选择导师,一件事是选择方向。网络
我就读于华中科技大学,主修软件工程专业,我在刚读研的时候最头疼的也是这两件事情。首先说明一下,我读的是专硕,因此实验室通常不搞科研,有部分导师会带项目,因为我不打算在实验室作项目(由于我更但愿去大公司里锻炼几年),因此我当时本着想要找实习的想法选择了导师,事实证实个人选择仍是很正确的,我在研二有大段时间去参加实习,让我在大厂里有足够的时间去锻炼和学习。数据结构
而选择方向这件事,我却是折腾了很久。研一期间我作的最多的事情就是看书了,当时本身的方向还不明确,因此找了不少书来看。当别人都在专研数据挖掘和机器学习时,我还在各类方向之间摇摆不定。多线程
我在读研以前想作游戏开发和Android开发,但我之前也学过Java Web开发。因而我在网上了解对应方向的资讯,发现游戏研发的就业面比较窄。
最后,我综合公司的岗位状况,我的兴趣,以及我以前的学习经历等因素,选定了Java开发方向。
因而,我在学校的实训项目中选择了Java Web项目,今后也真正意义上地踏上了Java的学习之路。
尽管个人入学成绩是全学院的top3,可是,我发现,做为非科班出身的我,和不少科班同窗相比,仍是有必定差距的。
大部分同窗本科都上过计算机专业的相关课程,好比计算机网络,操做系统,数据结构等等,而我之前连听都没听过,除此以外,他们通常都会几段比较完整的项目经验,至少在Java Web方面已经算是比较熟悉了。而我在当时,只学了数据结构,另外接触过一些Java基础,有一部分项目经验,基本上就是入门水平。
因而我痛定思痛,决定好好弥补个人不足,平时一有空就去图书馆找些书来看,不管是操做系统,计算机网络,仍是数据库等本科课程,我都会找一些对应的书籍来看,当时不太清楚其实有些课程其实不须要特意去补,以致于我连计算机组成原理,编译原理,软件测试等方面的书都特意找来看,如今想一想也是挺逗比的。
因为咱们上的课比较水,因此上课时间反而变成了我自学基础课程的大好时光了。因此我平时上课的时候都会带两三本书,一到两周内看完一本,虽然可能吸取的不是特别好,可是对当时的我来讲仍是有很大帮助的。
除此以外,有时候我还会偷偷去旁听有一些本科生的课程,这也是由于我在自学一些课程的时候遇到了困难,好比《操做系统》,《数据库原理》等等。因而我花时间研究了一下本科生的课表,趁着本身没课的时候赶忙去旁听课程。有时候感受本身在课堂中显得很是突兀,尴尬地想要逃跑,但总算是坚持地听完了一门数据库的课程。
此外,我还在各类视频网站上看网课,比亦或是看中国MOOC的计算机基础课程,里面的操做系统,数据库等课程也让我印象深入。
就这样,天天我都把本身的时间填满,愣是在研一上学期看了好几本书,当时书的版本如今有的记不清了,主要是计算机网络,操做系统,计算机组成原理,另外还有软件工程,软件测试,设计模式,等书籍。就这样,我靠着这段时间的坚持把计算机基础课程补上来了一些。
时间来到研一下半页,这时候我刚刚结束了学校的Java Web的项目实训课程,在作这个项目期间,我发现本身暴露出了不少问题,技术实践能力不足,Java基础不扎实。这件事情也给我本身敲响了警钟,由于我计划在春招期间找一份大厂的实习,可是目前看来个人水平还远远不够。
压力之下,只有努力一条出路。因而,从那时候起,我开始了“留守“实验室的学习生活。为何要在实验室学习,一是由于学习气氛好,二是由于平时你们也能够互相交流问题。
天天早上9点到实验室打开电脑,晚上9点背电脑回寝室。大部分时间我会花在看书上,这段时间主要看的都是Java相关的书籍,借鉴的是江南白衣大佬的“Java后端书架”,好比《深刻理解JVM虚拟机》,《Java并发编程艺术》,《深刻分析Java Web技术内幕》,《深刻剖析Spring源码》等等。
另一部分时间我会用来看一些技术博客,我主要是根据面经上的知识点按图索骥,找到对应讲解该知识点的文章,那时候主要仍是经过搜索引擎来找文章,固然有时候看到一些重点难点也会本身写一些博客。不过这个时期并非我大量写博客的阶段,主要仍是看一些讲解面试知识点的技术博客为主。
除此以外在面试前几天我会花时间去看这家公司的面经,搞懂每个面经上的知识点,而且记录在个人笔记上,光是面经相关的笔记我就记了100多篇,这样的学习习惯我一直坚持到了秋招,确保每一个面试知识点都能被我记住,消化,直至彻底理解。
慢慢的,笔记愈来愈多,我参加面试的公司也愈来愈多,因而我开始不断完善本身的简历,总结本身的面试技巧,选择合适的网申时机。从头至尾我大概花了3个月的时间在找实习上,期间大大小小参加了20屡次面试,我也从一开始面试一问三不知的菜鸟,逐渐变成了面霸,到复习末期,我对Java常见面试知识点已经了然于胸,同时也愈来愈自信,无论面什么大厂都镇定自若。
这样的日子持续了好几个月,所谓世上无难事,只怕有心人。到最后,实验室里每一个人都拿到了心仪的实习offer。
当初找实习的时候投简历比较暴力,基本上就是海投,好几个网站一块儿投,当时根本不知道有什么面试黑名单(冷却期),因此常常毫无准备地去面试大厂,结果可想而知。惋惜当时尚未养成记录面经的习惯,因此大体地你们分享一下面试经历吧。
下面我按照面试时间前后记录一下面试流程,时间历程大概是从11月初到第二年3月初。
百度:此时的我还处于零基础状态,一问三不知,面试官语气和缓地劝退。
(深受打击,开始疯狂学习,刷面经,打基础)
新浪,搜狐,爱奇艺等巴拉巴拉:基本一轮游,偶尔能过一面。
(自我否认自我怀疑中,而后开始看书,学原理和进阶内容)
网易,头条(做死),去哪儿,携程等:虽然进步了一些,可是仍是没有拿到最后的offer。
(继续疯狂看书,刷博客,刷面经,而后开始作总结,写博客)
到第二年的春天,我继续新的征程。
美丽联合,CVTE,美团,网易游戏:都拿了offer。
重点说一下拿了offer的这几家的面试经历吧。
美丽联合:当时是视频面试,技术问题比较基础,就是常见的Java基础问题,好比集合类,多线程,JVM等等。同时还问了一些场景问题,算是比较有难度的了。当时经历了两次面试,大概面了一个多小时,最终收获offer。
CVTE:这个是现场面试,技术面试就问了几道数据库的问题,总监面则是让我把简历项目的数据库设计讲清楚,能够说是很简单了。hr面则聊了半个小时,最后获得了offer。
美团:当时参加的是远程面试,应该是电话面试,问的问题比较有难度,除了Java基础问题,还会问一些多线程啊,锁和同步之类的问题,面试持续一个多小时,最后给了offer。
网易游戏:当时是两轮电话面试。第一轮是技术面试,持续时间一个小时,基本把我以前复习的内容都问了一遍,从Java基础,集合类,再到并发编程,设计模式,数据库等等,另外还问了后端架构相关的问题。整体答得还不错,二面只出了两道智力题,答出来一道,而后面试官问我玩哪些网易游戏,emmm这个我懂。
原谅我忘记了详细的面试内容,毕竟年代太太久远。
若是你是Java方向的同窗,那么我打算向你安利个人另外一个微信公众号【Java技术江湖】这是一位阿里Java工程师的技术小站,致力于分享Java后端技术文章,以及这几年学习Java的心得体会,偶尔也记录在阿里成长的点滴,和你们一块儿在Java学习道路上成长。
一、写好你的简历,要实事求是。找实习对项目的要求不会很高,可是基础要比较扎实。
二、夯实你的基础,多看书和博客,勤作总结,面经能够用于查缺补漏,但不是所有。
三、同一家公司的面试通常有记录(冷却期),作好准备再去面试,不然可能浪费机会。
四、春招的实习生叫作统招实习生,非春招的实习生叫作平常实习生,通常前者的面试难度比较大,后者面试难度比较小,因此,二者有必定区别,可能在后续实习内容和转正难度上会体现出差别,你们能够权衡一下。
5 、找实习有几个网站你须要知道:实习僧,牛客网,拉勾。
六、面试过程当中记得问清楚能不能转正,这对你后续的选择影响重大。
最后说一点:其实实习没那么难找,通常岗位要求也会比校招低,因此你能够“挑剔”一点,有机会最好选择你喜欢的部门,我当时没太注意这一点,因此特意补充。
如今是11月份,找实习的小伙伴们开始着手准备了吗,要知道,复习这种事,宜早不宜迟呀,学弟学妹们赶忙开始吧。
另外,本文可能没有把找实习的技巧和经验讲的很仔细,后面会继续推出这方面的文章。
除此以外,关于在网易游戏和百度实习的那些事,我也会写一篇文章,让你们提早了解实习生活是什样的。