LZ本硕某985,专业是电子信息相关,秋招找的工作都是Java后端相关方向,投了有几十家,情况大致如下:
- 简历挂:
中电十四所(估计已经是招满了),陌陌(感觉是宣讲会直接放了简历就走了,所以简历没过)
- 笔试挂:
京东,搜狗,滴滴,招行卡中心,斗鱼提前批(Java后台方向),流利说(投太晚了,也估计灭hc了)
- 一面挂:
网易互娱,网易严选,oppo,vivo,腾讯PCG,58同城,美团,小米(正式批)
- 二面挂:
快手,小红书,小米(武汉部门补招)
- 流程走完,未offer
远景能源,Bigo,电信云计算
- offer
华为CBG,农行武汉研发中心,浦发武汉研发中心,招银网络科技,瓜子二手车,转转二手,斗鱼服务端(正式批),中国银联(实习转正)
可以看出来,秋招成绩很垃圾,投了这么多公司,offer屈指可数,且公司几乎都是末流互联网或国企,说实话最后结果虽然差强人意,但是留下了诸多遗憾,在这里也想给能看到我帖子的学弟学妹们一些经验,少走弯路。
个人情况
LZ本硕都是电子信息相关,本科时候没怎么好好学习,大四匆匆忙忙考了本校的研究生,还是专硕,两年,基本上入学到你找工作就一年的时间,本来时间就不太充裕,加上一些学习策略出了问题,导致自己秋招找工作时,竞争力很弱,最后offer情况很稀烂。
LZ从18年7月份因为实验室项目开始接触安卓开发,下半年的时间都在学习Java语言,事实证明这是个非常非常错误的行为,因为浪费了太多宝贵的时间,基本上是从过年之后才开始学习并发编程,虚拟机,算法,项目等这些东西,时间明显不够,且这里策略也有问题,边学习,边找实习,实习找的情况很不如意,因为自身能力当时就很欠缺的,不如花时间好好准备复习,后面我会给大家列举出一些我自己踩过的坑并给出我的建议,希望对大家有用。
谈谈面过的公司
国企(主要是银行类)VS互联网公司
- 运营商、银行、银联等这种国企都会有互联网相关的业务,待遇的话在薪酬上比互联网公司会有点差距,但是不累,压力不大,比较稳定,福利相对较好,但是同样上升慢,如果在二线城市的话,这可以是个不错的选择。(毕竟二线像样的互联网公司也不多)
- 典型公司:中国银联(楼主实习的公司),银行类的软开部门(推荐股份制银行,薪酬相对更高,如招商、浦发等),各运营商下的子公司等
- 互联网公司的节奏相对更快,对应的薪酬更好,技术栈和业务相对更先进和成熟,成长更快,跳槽更容易,但是肯定加班相对多,压力更大。
- 典型公司:这个不用举例了吧。。但是有些比较坑的公司,不建议去,比如58同城,瓜子二手车等
大公司VS小公司
大小公司,这里主要针对互联网公司说,国企的话,谈大小没有意义。
对应届生来说,当然还是推荐去大公司,大公司像BAT这种,培训体系完整,流程规范,牛人众多,对自身的成长是十分有利的,小公司的话有可能当你第二年你入职时所在的部门就撤了,或者公司活不下去了等等,当然大公司也不是没裁过应届生,比如某东,某易,不过大厂裁员毕竟是小概率事件。去大公司不管是对技术的成长,人脉的拓展等各方面都是比较好的,推荐大家能去大公司尽量去大公司。
一些建议
岗位选择
互联网的技术职位主要分这么几类:
前端、后端、客户端(Android&ios)、测试、算法、数据类(数据分析、数据库工程师等)
- 面试难易程度
算法 > 数据类 > 后端 > 客户端 > 前端 > 测试
- HC数量
后端 前端 > 客户端 > 测试 算法 > 数据类
大家可以根据自己的情况选择岗位,进行针对性的复习。就今年的情况来看 算法岗及其惨烈,尤其是CV方向,然后算法转开发的较多,基本上也都转的后端,所以今年后端情况也比较惨,尤其是Java后端,C++后端情况相对更好。这里给大家一些选择岗位的建议:
- 如果实验室是做算法相关的东西,且感觉参加比赛能拿名次,或有顶会论文等,总结就是实验室相关,且自己基础好,可以考虑算法,其他尽早抽身转开发。
- 开发岗的话,客户端跟前端相对简单些,一来是因为本身不难,二来是学客户端跟前端的同学不多,所以竞争不大。个人觉得,前端上手容易,对时间不是很富裕的同学来说,可以考虑。客户端上手跟面试难度也不是太高,大家可以看自己的兴趣选择。个人比较推荐前端,HC多,面试不难,更容易拿offer。
- 后端开发,这个单独拎出来讲,因为很大一部分人选择了后端开发,尤其是Java开发,后端相对来说技术含量更高,很多重要的计算机门类都会用到,比如并发,Linux,数据库等等,后端服务的好坏决定了项目的体验,所以后端相对来说更重要些,后端开发的发展上限更高,这也是相当一部分人选择后端的原因。尽管后端相对难些,竞争也激烈,大家如果时间充裕,学习能力还可以,我还是推荐大家选择后端开发,原因同上,特别是Java后端,Java语言上手快,且Java后端的市场更大。
- 数据类的HC较少,我本身了解不多,这个看大家自己选择了。
- 测试,不推荐报。
学习策略
- 学习语言要灵活,时间控制在一个月,掌握基本的语法之后,可以刷题来练习使用,LZ花了差不多半年的时间来学习语言,事实证明太浪费时间,且收效甚微,半年就是空闲时间来学习,不是脱产学习。
- 熟悉语言之后,开始针对岗位学习相关知识,就后端来说,算法、计网、多线程、虚拟机、数据库、设计模式、Linux等等,选一些比较经典的书看看,结合博客,视频等,熟悉相关知识。
- 一定要做开源项目,可以是github上的开源项目,也可以像慕课网这些网站上的优质项目,将知识落地,对业务有一个详细的认知。
- 从2月份开始,暑期实习的申请就开始了,这时候如果觉得自己学的还不错,可以去申请试试,但是如果学的一塌糊涂,不要像LZ一样,边申请,边学习,这样很伤神,还会打击自信心,不如好好学习一两个月再申请,到4、5月份还是有不少的实习岗位的,再退一步讲,实习这个事情也是有利有弊,实习可能错过7、8月份的提前批,且可能没有足够的时间复习秋招,所以如果找实习,希望大家能找一个尽量可以转正的,或大公司对自己秋招利的,否则可能得不偿失。如果大家想去华为工作,一定不要去华为实习!压价,且学不到东西,甚至可能放鸽子。
推荐公司
总的来说,国企在面试时相对简单,比较看重学校学历,互联网的话面试更偏技术,但是每家公司每个面试官也有自己的风格,比如有的面试官喜欢问项目,有的则全程对基础,这两种各有利弊,自己的临场发挥也很重要。
- 国企:中国银联(LZ暑期实习过,节奏慢,福利好,待遇在上海很有竞争力),银行研发中心(武汉的有,农行研发中心还不错),招行信用卡中心(不过笔面试都不简单)
- 互联网:快手,美团,这里不谈薪资如何,就面试来说,这两家公司不会去问项目,从头到尾都在考验基础,我觉得这是对大家最公平的方式,都是学生,就是考验你的学习能力如何,而且从语言、算法到数据库等都会涉及,考察的全面,让人很放心。但是很可惜,LZ都没通过面试,sad
公司面试风格
- 网易严选:项目问了问,重基础,后面有面经
- 网易互娱:两个面试官,全程分模块问基础
- oppo:玄学面试,很多人在一个酒店面试,体验很差,笔试也不正规
- vivo:笔试,三道编程(1h),技术面只有一面,太看运气,不太正规
- 美团:重基础,算法也会问,都是剑指offer原题或同级别,比较正规
- 小米:面试,不太正规,看面试官,基础问的不难,可能怼项目
- 快手:全程基础,最后加算法题,体验极好,就是拼学习能力
- 小红书:几乎全程算法+基础,没有问项目,比较难
- 华为:面试玄学,公司玄学,反正就很玄学
- 远景能源:项目+基础,面试也玄学,但是我挂在hr上了,因为我本来也不想去。。
- Bigo:报的Java开发,面试时候才发现是Android开发,难度正常,重基础
- 招银网络:难度正常,总监面会重项目
- 转转二手:很基础,算法题也不难
- 瓜子二手车:项目+基础,面试官玄学
- 斗鱼:全程基础,偶尔提提项目,但是没有算法题…
- 国企类:银行研发中心,面试普遍不难,看学校学历
下面是我的一些面试经历,想看的可以看看。
7.22 浦发银行(武汉)
- 7.22 投递
- 8.1 笔试,行测题
- 8.14 收到邮件,8.27武汉面试,看能不能调,打电话过去,直接说到时候9.1直接过去,感觉太不规范了吧
- 8.22号在高铁上接到电话,确认面试时间,定在9.1上午
- 9.1 面试,因为是调整时间了的,过去要等着,到11点多的时候叫我过去面试,面试前面还挺顺利,最后算法题。。上来把我看蒙了,确实不难,最后说了出来,不知道他们怎么看的,一共面了有20分钟不到吧,很基础的问了问,出来开始机试,三道题,eclipse不会用,手打代码,最后a了两道,第二道犯了个错,char类型的我在那用equals比较。。属实憨憨,挺可惜的
- 等一手offer吧,问工作人员说在国庆前后
7.29 网易严选(✘)
- 7.29投递,内推,8.5笔试,a了1.3,完全a的那道还是宁神做的,没想到进面试了
- 8.14 11:45面试,还从公司跑回住的地方,下午再过来上班,整个人都不好了,面试问题不难,但是吃亏在经验不足,主要是相关开源软件不熟悉“Redis、Netty等”,面试官原话:
对一个学生要求经验确实不太应该,但是我上午面的其他三个人都 写了这些,你这一对比就吃亏了
面试体验:题目不难,面试官nice,说一定选好方向,不然你到时候跳槽都不好跳,一定把自己朝着专家去努力
面试官评价:基础不错,思路清晰,经验不足
- 面试官说纠结给不给过,应该是凉了,等一手拒信,对了,面试官也是学通信的,哈哈
- 面经↓↓↓
一共半个小时左右,不算难,不会的是真不会。。最后说是不太符合岗位需求,但是纠结一下,应该就是挂了。。
1、自我介绍
2、项目介绍,难点(组织语言)
3、为什么用RabbitMQ
4、分布式锁,三个服务功能一样在不同的机器上,怎么调用,不知道,面试官说,使用一个数据库,使用某一个服务的时候先去获得锁,将某个字段置1,获得锁的命令,select…for update,
如果获得了锁,这个服务挂了,怎么办,加个超时时间,加在哪?数据库应该不能加,就加在业务逻辑,获得数据库锁之后,更新字段值之后设置超时时间
5、进程通信,控制对资源的访问,信号量,还有其他进程通信的方式吗,没说全
6、进程怎么管理文件,什么数据结构,数组。。。(这个不会)
7、close_wait,什么时候出出现这个状态,怎么查看多少个close_wait,netstat命令
8、进程线程区别
9、设计模式,问了工厂、装饰器
10、平常用什么管理代码,git,stash用过没,了解没用过
11、面试官:IT技能只写了Java基础、数据库这些,开源软件(netty、redis这些)不了解
对一个学生确实不应该要求什么经验,但是别人简历写了,自己就吃亏
12、可能面试官做分布式的,让我选好方向。。
后面反问,扯淡环节
7.31 华为优招
- 7.31,卡着ddl投的
- 没收到笔试,应该是实习笔试过不用笔试了
- 8.10 问卷反馈是否参加优招,回复参加
- 看到上海地区的优招面试,果然难度提升,加油吧
- 8.23 面试,瑟瑟发抖,面经
今年华为的难度明显提升了,不仅是面试流程面试难度上的,而且在简历筛选上也严格了,我当天面试的时候, 一个时间点的一批也就二十几个人吧,而且我的很多同学甚至都没收到面试通知
一面 40min
1、自我介绍
2、问项目,基本上自我介绍完,都会顺着你问项目,画了结构图(幸好提前准备了,线下面试一定会让你写写画画的),项目的话回答还算顺利,一面问的项目方面的,主要关注具体的实现以及所用的技术,只要是自己做的基本都没问题
3、撕代码,顺着项目问的,项目中用到了消息队列,就是“生产者-消费者”,面试官说你写一个线程安全的消费者和生产者模型吧,用了 队列对象的wait和notify实现,一个空,一个满,其实写的是有点问题的,应该使用synchronized + 对象的wait/notify,synchronized保证每次只能消费或生产
代码,参考:Java消费者生产者
4、基础知识基本没问
5、闲聊问答:代码量,Java自学,Java常用包(碰见很多次了,估计是测试你的熟练度),考研/保研,成绩,奖学金,专利,碰到问题怎么解决(看优质博客,关注优秀作者,google外网等)
一面很顺利,面试官很可能也不是做Java的
二面 30min
1、上来自我介绍,没说完,就开始问
2、基本还是项目为主,项目开始关注一些扩展,如何保证正确,如果通知失败的记录你们怎么处理的,重发到消息队列时队首还是队尾,还是业务技术为主,但是扩展了,回答的不是很好
3、手撕代码:题目比较简单,将一个数组中的全部0移动到数组末尾
很简单,但是没考虑完善,写的是先遍历一遍找出0的个数,再遍历一遍将所有的非零依次挪到数组前端,其实这个遍历就可以找出0的个数,只需一遍遍历,被面试官一眼看出,很尴尬
4、写代码的时候还被问到,另一个项目是不是用的现成的类库,问库名(SensorManager),我说忘了。。真的僵硬,说完忘了,面试官立即在简历上写了啥
二面不是很顺利,好几个问题回答的不好
三面 30min
1、盯着项目问,太宏观了,确实我也想过这些问题,但是没有途径了解,下周回公司争取弄清楚
“为什么做这个平台,之前是怎么通知的”
“服务商,能具体举个例子吗” 其实这个我也想过的,当时没说出来,可惜
“这个平台的交互方都是谁啊,调用方具体谁啊”
2、 证书(没有,还狡辩说看看书就行,被怼需要理论基础啊),竞赛(没有)
3、爱好,女朋友,城镇/农村,意向城市
等通知吧,一周内出结果
三面整体不太好,也有可能是所谓的压力测试吧,但是没有 竞赛、证书这些真的难受
希望评级不要太差,等消息!
8.7 shoppe(✘)
8.7投递,8.10笔试,a了1.67,笔试未过,本身也不算大厂吧,投递的是第二批笔试,笔试还做得垃圾,没过也在意料之中,越早越有机会。。
8.14 农行软开(武汉)
- 8.14投递,招聘网站体验不错
- 8.31 笔试,下午就收到了面试通知
- 9.4 上午笔试,答得还行,下午就收到面试通过的消息了
群面,一组七八个人,上来是一分钟的自我介绍,感觉其他人介绍的都很猛,我就说了半分钟左右,介绍的时候不能
说名字,只能说编号
接下来是两到题目,放在投影上,第一个是如何设计互联网银行系统,主要说是客户多,并发高,朝这个思路去写,
网上博客很对,第二个题是 将两个有序数组nums1和nums2合并到nums1,代码不难,就是两个题加起来只有几分钟
的时间,所以我的建议是尽量写第一个,因为第二个可以口述思路,第一个是要求画什么架构的,当然题目可能会
变,题目使用马克笔写在白纸上的,写完还要举起来给面试官看
最后是面试官对个别学生进行提问,都会问到,但是可能问的题不一样,也是看你回答来问的,问到的有 MySQL如何
分表,垂直跟水平分的区别,mvc的处理流程,springboot是怎么回事,这些都是先问你项目的框架,再展开问的
问我的是消息队列的优点和缺点,这个我是在回答设计那个系统的时候写了,其他也问了项目的问题
8.15 斗鱼提前批(✘)
- 8.15投递
- 8.16收到笔试通知,8.20正式笔试
- 8.20笔试,题目很简单,算是没有编程,都是选择和问答,等面试
- 9.1 没收到面试,让小郭问了,说我笔试成绩不够,爷缓缓打出一个 ? 玄学,正式批吧
8.16 中电14所(南京)
- 8.16投递,被小郭忽悠投一下,招聘网站体验极差!
8.17 Bigo
- 8.17投递
- 8.23笔试,选择 + 问答,体量惊人
- 8.26晚上快12点了,准备睡了,一个电话打过来,约第二天早上十点的面试,属实敬业,不过推了,周三面,等一手宁神面经
- 8.28 下午在公司外面长凳上面试,面试官是转Java的,有些问题他也不是很清楚,一直嘻嘻哈哈的,最后有收获的几个点
为什么使用抽象类,因为可以方便地使用模板方法;ConcurrentHashMap中读是不需要加锁的,因为使用了volatile关键字
不知道还有没有后续,现在都9.11了
8.17 京东(✘)
- 8.17投递
- 8.24笔试,笔试的过程简直复刻了实习时候的,编程两道都不简单,第一题都是有思路,然后最后几分钟想起来怎么改,然后最后没时间了。。。可能注定与东哥无缘吧
8.18 远景能源(✘)
- 8.18投递
- 8.21 下午5点突然电话面试,很匆忙,回答的一塌糊涂,挂了
面了两场(网易+远景),都要求广度,看来是需要刷刷面经啊,基础要看,别人不问也没辙啊,项目深挖,烂熟于心
其实也跟电话面试有关,沟通不彻底,所以如果准备的差不多的话,线下面其实更能展现出自己的能力。
- 9.10 约了11号下午6点主管电话面???招不到人吗?
8.19 电信云计算
- 8.19投递,测评选择选的人头大
- 9.10 晚上笔试,从小红书面完回来做的,差一道没做完
8.24 滴滴(✘)
- 8.24投递,官网写想在武汉面试的话,8.25简历截止,算是卡着ddl投的,之前听师兄说他有同学去滴滴,感觉不太好,培训机制不完善,我觉得应该还好,投着试试吧
- 8.27 笔试,太难了
8.26 腾讯(✘)
- 8.26官网投了WXG,炮灰就位
- 8.28 学长说显示初试了,8.29一看官网是测开。。还收到了笔试通知
- 9.2 晚上突然接到电话,测开面试,问了好些Java的问题,感觉自己基础知识方面还是记得不是很准确,是得背一背了,最后看我转测开的意愿不是很强,而且回答问题答得也不是太好,反手就是一个挂。。可以理解
8.26 搜狗
- 8.26内推,希望能给面试机会,听学长说挺好,不加班
- 9.8 笔试,贼难,就第一题有LRU的代码,还是只过了70,凉凉
8.29 小红书(✘)
- 8.29 投递了官网+openday,是个机会,好好把握(ps:改了改简历,把netty去掉了,四个技能长度递增,神清气爽)
- 9.3 笔试,太鸡儿难了,四道编程,劝退笔试
- 9.9 hr打电话约面试?看了下面经,感觉是劝退的
- 9.10 下午面完小米,赶到保利中心,面到8点半,两面,挂掉
一面
问了一个多小时,基本集中在代码跟数据库
快排,画图,算时间复杂度
找第k大的数,算时间复杂度,手写代码,
忘记两点:
快排,再次递归时需将 j - 1 或 j + 1,而不能还包含j;
是找第K大的数,所以应该是数组的倒数第k个
数据库查找,sql语句,如何将1000w数据依次拿出,limit m,n 每次可以取1000,循环取
硬币的最少个数,dp问题,最后没写出来转移方程。。
二面
上来找连通区域,所有的相邻的1组成一个连通域,手写代码,写的是dfs的算法,但以为是bfs,被面试官教育了,
然后就感觉我像是死记硬背的,没有想清楚
逆序对的个数,面试官问我是不是做过,我说是的
接着问 1000w数据中,进行Q = 20w 次查找,每次在区间(s,e)中寻找第k大的数,没思路,面试官说是
线段树 + 归并,没听说过
最后一个系统设计,怎么设计关注人那一栏,要显示最新的关注人的动态
1、数据库设计,发布人id 发布时间 发布内容
2、一个人关注了100w人,怎么解决,我说的是限制关注数
3、大v发布了内容,几千万粉丝,答 将粉丝在100w以上的博主的内容发布后,先扔到缓存中,
个人查看关注时先从缓存中拿,之后再插入到自己的数据库中
二面完出来等,过了有十几分钟,通知面试结束,碰到个计院的哥们,三面结束,同样挂
不过现场面体验是真的舒服,不会太紧张,线上面真的不确定因素太多了
8.31 小米(武汉)(✘)
- 8.31,赶在内推截止前投了下,找曹老师实验室师兄内推,一波三折,还在简历上发现个坑 研究生成绩其实比本科高,应该写研究生的成绩的,之前一直写的本科,失策
- 9.6 笔试,一道没a,真的难受,其实题目也不难,自己还是好久没写代码,有点生疏了
- 9.10 面试,没想到还收到面试了,笔试很烂的直接后果就是,上来就让写代码,一个求根的二分法,写了得有二十分钟,没有想好就匆匆的写,一边写一边改,面试官看起来很失望,最后写完简单问了接口 抽象类 设计模式,就结束了,很难受
代码还是不能丢,保持手感!
8.31招行卡中心
9.1 招银网络
- 9.1 投递,实习的时候就没信,看了下工资还可以
- 9.6 星期五笔试,笔试也不简单
- 9.9 下午电话面,8分钟,就问了5个问题,不知道啥情况
9.1 OPPO
- 9.1 投着玩玩,过了也不是很想去。。
- 9.8 笔试,用过的最烂的考试网站,无力吐槽
9.1 美团
- 9.1 实习的时候面试翻车了。。不知道有没有记录
- 9.4 晚上视频面试,面了70分钟吧,时间最长的一次
上来开始问项目,简单介绍了下
线程的状态,六种,阻塞跟等待的区别,线程阻塞的方式,sleep join object.wait,
jvm的内存分布,线程由初始化到就绪,jvm内存做了什么(不知道。。。)
锁,synchronized实现非公平咋实现。。可重入不可重入
hashmap存储结构,为什么变红黑树,红黑树的时间复杂度,hshtable跟cuncurrentHashmap锁的粒度
hashmap为什么推荐String做为key,我答hash冲突少吧。。其实是String是不可变类,更安全
rehash怎么做的
mvc的处理过程(记得不太好),struct了解吗。。不会也没关系
数据库的索引,b+树,hash索引,各自使用的场景(再熟练点),事务的ACID,A还忘了,艹,最后想起来是原子性
隔离级别,怎么解决幻读(临键锁),临键锁是啥。。。(没仔细看。。),分布式事务了解吗,(不了解)
撸代码,剑指offer原题 二叉树的下一个节点 题目还是要再熟悉下,写了太长时间
最后面试官说我 条理不清晰,有些公司会看你条理清晰,表述清晰,二面如果有的话会更加要求广度深度。希望能有二面吧。
9.1 搜狗正式批
9.4 vivo
9.4 爱奇艺
- 9.4 投了北京Java开发
- 9.8 笔试,不会写
9.5 网易互娱
- 9.5 投递,说是特么会收到9.7的笔试,结果没收到
9.6 斗鱼正式批
9.8 58转转
9.10 陌陌
9.10 快手
- 9.10 投递
- 9.11 坐了测评,希望能收到9.16的笔试