秋招回顾(java)

序言

我的秋招起于7月初,终于9月中旬,拿到的offer如下:vipkid提前批测试开发(感谢第一个给我发offer的公司),海康威视java研发,oppo colorOs,华为优招安卓研发,百度测试开发,瓜子二手车java研发。

这一路有过心酸,有过自我怀疑,有过焦虑,感觉每个找工作的人都会有这么一个心理过程,大概是一开始的初生牛犊不怕虎,连连受挫的怀疑人生,再到offer选择的纠结。

比起我的同学我还是太渣了,大神们在提前批收割offer的时候,我还是一个连hashmap的底层都说不利索的人,身边的朋友接连面试的时候,我连笔试都做不好,9月份秋招战役打响之后,连面试都寥寥无几,Spring只能说出AOP和IOC。

到现在都记得贝壳一面挂的那个星期天,我一个人在博物馆迷茫的四处走,想哭都哭不出来的委屈,跟二姐发微信的时候手都是颤抖的,我记得那天的阳光很大,但是我的手和心都是冷的,那一刻的我不知道我会不会没有工作了,那个星期真的是我最凄惨的一个星期,面啥挂啥,还都是一面挂,远景,去哪,途牛,用友,大疆终面,贝壳的六连挂真的把我打击到怀疑人生。贝壳面试官问我要不要转产品的时候我真的都有点崩溃了,当时想我可能技术真的很差劲吧。

感谢那段时间一直陪着我的二姐,这是一个很毒舌的女人,她说话总是一阵见血,那天的我,决定咬牙放弃一周的笔面试,沉下心去学习,我告诉自己,这个年纪一定要有壮士断腕的勇气。

那一个星期大概是我秋招的转折点,在这周之后面试就顺利了很多。拿到的offer除了vipkid和华为都是这周之后拿到的(也没几个。。。2333333)。

找工作其实真的心态很重要,相信自己,坚持努力,天道酬勤。

准备工作

我找工作的时候一开始有点杂,大概是什么都想做的那种,觉得测开可以培养一个人的全面思考的思维,java又是本身学过的东西,还想做android觉得很酷,然后就三个都投,一开始还投了一家大数据,感谢他把我简历刷了,不然我真的不知道面试怎么尬聊。

测开

测开我就推荐一本书《软件测试的艺术》

因为只看过这本,233333。

java研发

首先呢,是一定要有项目经验的,我就是吃亏在没有项目经验上了,所以一开始面试的时候呢,就一直是处于“背书”的状态,其实如果书背的好的话,也是可以的,毕竟校招,面试官对动手能力的要求也不是很高,基础好的话好培养么。

项目经验的话我是这样的,看慕课网,这个真的是一个超级赞的网站,基础和项目都有,可以跟着敲一下代码,然后呢,我就是读源码(这个吧,正好当时要做实验,我就每天读实验框架的源代码)。

其实比较推荐读github上star数多的项目源码,然后自己给自己划定一个需求自己实现。(这些我都没做到,我觉得能做到的应该是大佬sp级别的了)

基础的话比较推荐下面的书目。

《java编程思想》《java核心技术》(这俩看一本就行)

《深入理解java虚拟机》(重点是GC,内存模型,双亲委派机制)

《java程序员面试宝典》(这本很重要,最好能背下来,就是看着目录就能说出内容的那种熟练度)

《剑指offer》(面试的手撕代码半数以上都缘于这本书啊)

数据库和高并发是属于扩展加分项。SQL一定要熟练。(但是下面这两本书我都没有怎么看,只是推荐了经典书目)

《高性能MySQL》《SQL技术内幕》《redis设计与实现》

《java并发实战》

框架的话我觉得把《Spring源码解读》读完就好了,重点理解AOP和IOC就好了,spring这个框架其实大概算是java项目的典范了。

网络方面的话,我是看天勤的考研书,我真的觉得那本书讲的挺好的,当然,也有人推荐图解系列(日本)这就见仁见智了,内容都差不多。

设计模式的话,重点是单例模式,用在哪里,三种线程安全的写法。其他模式了解定义和如何使用就好了。

如果了解微服务器,MQ,Dubbo,区块链的话更好了,加分项。

安卓

安卓大概就是在java研发的基础上加两本书

《第一行代码》《android权威指南》

面经

其实很佩服那些能把面经写出来的人,我一开始还会记自己面试都问到了什么,后来面的太多,要提升的东西太多了,都没有时间记下来,就把常问的和印象深刻的写下来吧给大家做参考。

测开

1.为什么选择做测试开发?

2.测试各种东西(水,电梯,冰箱,程序balabala)

3.在项目中都进行了什么测试?

4.测试方法的分类

5.情商类:出现bug如何与程序员沟通之类

java研发

1.基础类。《java程序员面试宝典》上的问题,就不赘述了

2.各种集合类。hashmap源码(问的最多) 和hashtable的区别

                          arraylist和linkedlist的区别

                          还有各种线程安全比较和扩容机制的对比

3.如何使用框架(ssh,spring,mybatis,springmvc)?

4.spring 的AOP和IOC如何实现?

5.如何实现并发?线程的实现方式?并发解决的问题?各种锁的问题

6.数据库:SQL语句,索引,引擎,并发级别和可能出现的问题

7.jvm:GC,内存模型,内存分配机制

8.网络:tcp三次握手四次挥手,和udp的区别,http的头部(get和post的区别),输入url之后会出现的过程,和https的区别,cookie和session

安卓

1.四大组件(生命周期)

2.安卓虚拟机

3.linux相关知识

4.矢量图和位图以及各种单位

5.view的绘制相关问题

6.显式和隐式intent

7.handler机制

8.网络/数据以及开源框架

9.动画相关

所有以上,都会手撕代码。

emmm,面大疆终面的时候,终面面试官问我,怎么编写程序节能(不是时间复杂度也不是空间复杂度,节约电能,emmmm),问的我一脸懵逼,大疆其实挂我挂的我挺忧伤的,就是感觉我俩鸡同鸭讲,最想去的公司把我挂了,而且是我认识的终面全过了的情况下,心塞啊。

offer抉择

这个offer抉择我自己是考虑清楚的,但是我决定之后,很多人都说我选择错了,还有人直接说我冲动愚蠢,这个吧,还是要综合自己的内心,自己下决定,别人说啥都白搭。

我个人认为,钱真的不是最重要的,虽然我们总说面向工资编程,但钱真的不能作为第一决定因素。因为拿多少钱干多少活,尤其是互联网,根本不存在高薪还轻松的工作。

所有的决定都要自己下,听从你的内心,无论别人怎么说,坚定你自己的内心,其实我也动摇过,在各种被diss的时候也想过自己是不是做了错误的决定,但是落子无悔,不管作什么决定,努力就好了,时间会告诉你答案。

尾声

秋招就算结束了,给自己一个总结,然后彻底翻篇。

上面写的如果想起来之后会回来补充的,祝所有看到这篇文章的人都能找到心仪的工作,前程似锦~!

你可能感兴趣的:(秋招回顾(java))