秋招总结(Java后端)

战绩

秋招陆续投了100多家公司吧,给面试的大概几十个,最后拿下若干意向或Offer,整个过程实在是太累了,估计这辈子再也不想这么搞一遍了。下面列出一些中道崩殂和最终搞定的公司吧:

  • 网易互娱(卒于二面)
  • 网易/阿里考拉(因为硬件条件痛失曲线进阿里的机会)
  • 大疆(笔试挂)
  • 拼多多(学霸批挂)
  • 依图(三面挂)
  • 百度(一面挂,因为秒杀系统)
  • 深信服(HR面挂)
  • 微策略(现场面,挂)
  • 腾讯(一面挂)
  • 猿辅导(正式批简历挂、补招简历继续挂,不配面试)
  • 英特尔(现场面,挂)
  • IBM(HR面,挂)
  • 亚马逊(笔试挂)
  • 爱奇艺(笔试挂)
  • bilibli(笔试挂)
  • 网易雷火(Offer)
  • 浦发(Offer)
  • 作业帮(仅有拖帮意向)
  • 新浪(备胎,仅有意向)
  • 美团(Offer还没批下来...等呗)
  • 宁波银行(Offer)
  • 京东(Offer)
  • 有赞(Offer)
  • 滴滴(Offer)
  • 大华(Offer)
  • 老虎证券(Offer)
  • 神策数据(Offer)
  • 星环科技(Offer)
  • 艾耕科技(Offer)
  • 富途(Offer)
  • 哈啰出行(Offer)
  • 杭州银行(Offer)
  • 寒武纪(Offer)
  • 工商银行杭州(Offer)
  • 华为(Offer)
  • 阿里巴巴(还没凉透...)
  • 字节跳动(累积10面拿下Offer,哭了)

心得

作为一个本硕双非、没有项目、大厂实习以及比赛名次菜鸡,整个秋招的感觉过的是身心俱疲。我的策略就是提前准备,广撒网捞大鱼。在准备方面,分基础、项目和算法讲吧。

基础

基础这块没啥说的,Java基础、多线程、分布式、JVM、集合类、Spring、数据库等。详细内容可以参考我的博客,下面也会给出我个人结合网上资料总结的知识点。

基础更新

下面给出我的书单(必须),仅供大家参考:

  • 剑指Offer(算法类)
  • Java多线程核心技术(技术类)
  • Java并发编程的艺术(技术类)
  • 深入理解Java虚拟机第二版(技术类)
  • Redis设计与实现(技术类)
  • RocketMQ技术内幕(技术类)
  • Java核心技术卷1/2(技术类)
  • 高性能MySQL(技术类)
  • 数据结构严蔚敏版(基础类)
  • 计算机网络、操作系统的王道408系列(基础类)
  • CyC2018的CS-Note 与 JavaGuide(GayHub上面试相关得总结)

项目

项目因为我只参加了一个军工项目,所以有点吃亏。平时我自己也会搞点项目弥补下,自己手撸了一个分布式机器学习的小框架(仅支持BSP);还有一个秒杀系统(你们懂得)。秒杀系统其实虽然没有啥难度,但是涉及到的一些技术,例如Redis、MQ(Kafka,RockerMQ)、MySQL以及Nginx我都找了相关的书籍去看去学,还学习了大规模系统架构的相关知识,了解淘宝的设计架构。但是,我自己都觉得这些项目太low了,面试官看不上我也不怪他们,没法实习我是真的伤。

算法

算法就提前刷吧,我是大概一年前陆陆续续开始做题。因为我们学校ACM挺强的,所以本科期间也选修过老刘的ACM课,虽然课上听的都是集训队的爱情故事,算有一丢丢丢丢丢丢丢丢丢丢基础吧(HDOJ100来道)。平时主要在LeetCode上刷题,刷了大概300道吧,周末经常搞一下周赛(签到水平)。LintCode上也有200来道吧,这个环境也不错的呦。整个秋招面下来,感觉面试中的算法题都集中在剑指Offer上,只要把这本书吃透足以应付绝大多数的面试官(面试官最爱问数组题,可以套路他们),牛客上提供剑指Offer的在线测评。很多大厂的笔试,几乎没碰到过原题,题目甚至都是ACM级别的,实验室有个兄弟笔试结束后在CodeForce上搜到了类似题,所以大厂笔试就随缘吧。

算法部分更新

近日总结了一下我整个刷题过程中的代码,地址为:https://github.com/zx950519/zx950519.github.io/tree/master/_posts ,标题为:“Java算法系列” ,分为:

  • 字符串
  • 位运算
  • 背包问题
  • 贪心动归
  • 链表
  • 深广搜
  • 数学
  • 数组
  • 二分

个人觉得,面试官在面试时偏向出数组、链表、数学、二分这类题目,因为输入简单,而且答案固定。反倒是动归,我基本没遇到过,撑死就是迭代题。下面给出一些其他人总结的高频题,其中部分是我自己额外加的,字丑见谅:
算法推荐1
算法推荐2
算法推荐3

有部分大厂,喜欢对一个简单问题,展开夺命连环式追问,下面给出几个剑指Offer上的案例供大家分析:

  • 面试题3:数组中重复出现的数字
  • 面试题39:数组中出现次数超过一半的数字。这题是阿里碰到的,变型题有找两个数字,出现次数均超过1/3;找n个数字,出现次数均超过1/n+1
  • 面试题53:在排序数组中查找数字,参考Java算法系列中的二分查找
  • 面试题56:数组中数字出现的次数,参考Java算法系列中的位运算

最后希望大家做算法题还是要多动脑多思考,尽量少靠背诵!最近发现牛客上有算法视频课,左神大名也有所耳闻。看了下相关课程内容觉得比较适合正在求职的同学用它来构建解题思路以及查漏补缺(https://www.nowcoder.com/courses/cover/live/350?coupon=AmPd42S 当时买还是全价买的,现在好像可以优惠140元,有需要的同学可以试试,几百块换一个20w-40w的Offer,你懂得。

资料

我自己有一个GitPage当博客(后续考虑迁移到牛客博客),自己也有GayHub仓库,地址如下:

我已经把一些重要资料整理并发布到GitPage上,大家可以访问博客查看学习,标题统一为:Java学习系列之xxx或Java算法系列之xxx。郑重声明,这些资料大量参考了JavaGuide、CS-Note以及CSDN博客,原创部分为25%左右,感谢大佬们的付出。

建议

建议只能给到和我一样(双非、没项目、没实习、没比赛)的同学们,大佬们请绕路。大项目、实习以及比赛是必须要有一个的,最好有大厂实习,提前了解公司环境并争取转正是最好的路子。我们实验室有一些有大厂实习或项目的同学要么直接转正,要么就是简历内容殷实,这都是实实在在能体验到的,有的同学几轮面试下来就讲大厂的实习经历就ok,都不问基础的。如果你上述几个路子都走不通,只能像我一样苦逼的撒大网,但是这么搞太累,我最多一天干五个面试;有一次上午跑上海面京东,下午回杭州滨江面网易,中间路上插空再面个滴滴,实在顶不住。我这个人头也铁,一开始觉得没有这些东西都是虚的不重要,我玩命学基础就行,但是现实给了我狠狠一巴掌。很多面试官看你对答如流,觉得你是刻意准备过的,人家就说了,我们看重的是候选人的潜力(嗯,我明白你意思,要985是吧,告辞)而非既往经历。

建议部分更新

  • 建议大家平时养成刷题的习惯,最好每天都刷
  • 学知识最好能养成积累的习惯,自己搞个博客记录一下学习的内容,也方便复习、有条件最好给别人讲,你能给别人讲明白,这个知识才算真正理解
  • 提前准备,瞅着今年这架势,最好给出6个月以上的准备时间
  • 千万不要拿到一个满意的Offer就停下来,因为任何一家公司都可能鸽你,没必要在社会的第一堂课就交学费(白给)
  • 精力足就海投,面试到麻木才能在任何时间接起阿里的电话,1分钟进入状态;多面HR,增加你谈判,忽悠的经验
  • 适当的运动还是要有的。md,我现在肚子一圈肉,跟米其林轮胎似的
  • 找战友,一起讨论一起进步
  • 能大厂实习就大厂实习,这个至关重要

吐槽

都说现在是互联网寒冬,秋招广撒网的我也见识到了不少公司的奇葩行为,列举如下:

  • 某公司,面试前一定要候选人先做一个小项目,跟HR交涉无果,给我发了一个他们公司的文章,题目大概是“为什么我一定要你在面试后做一个项目?”但是我还没面试呢,凭啥在你身上浪费那么多时间?
  • 某公司,池子深不见底,临时通知签约,不带三方不谈薪资,不谈业务内容,我反正ft了。
  • 某公司现场面,找了三个没比我大几岁的员工当面试官,我做自我介绍的时候有个人竟然在玩手机,轮到他提问时,贼装x的问了我一个问题,我回答了一下,他冷笑着说你回去自己敲一遍代码吧。我这么杠的一个人回去当然敲了一遍,结果我说的答案是对的。
  • 某公司,Offer永远都在审批中,等不起。
  • 某谣传要上市的公司,二面面试官是个娘x,阴阳怪气的,总是打断候选人回答问题。
  • 某公司,二面中公然抛出他们生产场景中遇到的问题,让我想一下有啥解决方案没?还是这家公司,HR面的时候,这位女HR全程不给你好脸子(别说是压力面),一副我欠了它100万似的,差点没忍住想喷。

说了这么多消极的事儿,表扬几个公司吧:

  • 华为的面试体验极好,从面试官那学到了好多,能看出这些面试官是真的有丶东西
  • 美团的面试体验极好,整个秋招只有美团的面试官认真看了简历的每个细节,问了我的博客和GayHub项目
  • 阿里的面试体验极好,算法的最优解实在想不出来,面试官还会引导你

难顶的时候怎么扛过去

没Offer的那段时间我是怎么扛过去的? 答案就是看点沙雕番降智,比如:

阿库娅

笨女孩

番名:为美好的世界献上祝福!与 笨女孩

整个秋招最难受的一天就是阿里笔试那天,先是遇到神仙笔试题,然后就是FGO抽紫发美少女cba,结果500石下去毛都没有,后面氪了两单也没出,心情差到了极点,导致我现在根本不想点开这个手游。

看到有些同学失眠,其实我考研的时候也有失眠的经历,不过我只有在考研那两天吃了一片,平时还是靠谷维素调节律,尽量不要碰和褪黑素,多靠运动和强大的内心,干就完了!

致谢

秋招这几个月,每天都上牛客,首先要感谢牛客这个平台,为我们提供交流、学习的机会,希望牛客的发展越来越好。其次,要感谢实验室的兄弟们以及帮助我们的师兄师姐导师们,大家经常聚在一起讨论面经、讨论算法的解决思路,给我了很多帮助。最后要感谢牛客上的许多陌生人,大家都分享了很多面经以及排坑指南,万分感谢,好人一生平安!我也希望这点经验分享也能帮助到其他人!

广告

我所在的学校以及实验室是杭州电子科技大学云技术研究中心(云计算)。我们实验室师资力量强悍,软硬件资源齐全,每年的毕业生去向均为阿里、腾讯、字节跳动、滴滴、网易、华为等知名互联网或通信公司。感兴趣的考研同学请访问:http://cloud.hdu.edu.cn/lab/

PS

如果大家觉得我上面总结的有啥遗漏,或你有啥想问的,欢迎评论区提出。我希望这个帖子能帮助更多跟我一样硬件条件差的同学,希望将来大家都能大厂做兄弟!!!

#网易雷火##京东##滴滴##校招##Java工程师##面经#
全部评论
请问楼主意向最后是没有给offer吗?是你拒绝了还是还在等呢?
3 回复
分享
发布于 2019-11-11 18:18
露珠去哪了啊
2 回复
分享
发布于 2019-11-11 18:19
小红书
校招火热招聘中
官网直投
楼主是什么岗位鸭?
点赞 回复
分享
发布于 2019-11-11 18:16
深信服怎么会hr面也会挂
点赞 回复
分享
发布于 2019-11-11 18:18
是我太菜了吗,除了华为主管面挂,其他基本都是简历挂,好羡慕
点赞 回复
分享
发布于 2019-11-11 18:22
膜拜同校大佬
点赞 回复
分享
发布于 2019-11-11 20:18
膜拜
点赞 回复
分享
发布于 2019-11-11 20:28
膜拜同校大佬
点赞 回复
分享
发布于 2019-11-11 22:14
厉害,真的验证了机会是留给有准备的人,我还是太渣了
点赞 回复
分享
发布于 2019-11-11 23:18
这也太那他妈的励志牛逼了吧
点赞 回复
分享
发布于 2019-11-12 01:12
大佬
点赞 回复
分享
发布于 2019-11-12 09:13
tql
点赞 回复
分享
发布于 2019-11-12 09:20
太强了吧,大佬
点赞 回复
分享
发布于 2019-11-12 10:20
tql
点赞 回复
分享
发布于 2019-11-12 10:52
😡大佬
点赞 回复
分享
发布于 2019-11-12 11:18
Tql
点赞 回复
分享
发布于 2019-11-12 11:42
百度面秒杀系统,所以挂了是咋回事。。。。我正好想做这个项目往简历上写
点赞 回复
分享
发布于 2019-11-12 12:38
膜拜,向师兄学习
点赞 回复
分享
发布于 2019-11-12 15:48
我一共面了七家,腾讯阿里百度头条美团旷视同程,拿到了腾讯头条美团旷视同程五家的offer,然后就没再面了。不知道你们面这么多家干嘛...
点赞 回复
分享
发布于 2019-11-12 15:57

相关推荐

1.Java里Int占用几个字节?取值范围是多少?答:Java中int占4个字节,也就是32位。int的取值范围就是 [10000000 00000000 00000000 00000000 , 01111111 11111111 11111111 11111111],是补码,正数的补码和原码一样,负数的原码是补码的所有非符号位取反+1,int是有符号整数,第一位是符号位。所以最大值+2^31-1,最小值-2^31-1+1=-2^31。2.什么场景下会用接口,或者使用接口的意义是什么?答:1.多态性实现:接口允许Java等面向对象编程语言实现多态性。一个类可以实现多个接口,这意味着它可以有多种形态或行为。2.解耦:通过接口,可以定义一组方法而不实现它们,这允许我们编写灵活且松耦合的代码。具体实现可以在不影响使用接口的客户端代码的情况下更改。3.规范制定:接口定义了一组规则或契约,所有实现该接口的类都必须遵守这些规则。这有助于确保所有实现了特定接口的类都有共同的方法和行为。3.Integer i1=100,i2=100,i3=200,i4=200  请问i1==i2 ?  i3==i4?    答:true,false。由源码我们可以看到Integer的范围是“-128~127”,当i在这个范围内是从IntegerCache中直接获取,当超越这个范围才会new 一个新的Integer对象出来。 4.父类 obj = new 子类()  obj的类型是父类还是子类呢?obj.method是父类的方法还是子类的?答:子类。obj 是父类的引用,指向了一个子类对象。子类没有重写的父类中的方法obj 会调用父类中没有被重写的方法,当被重写时会调用子类中的方法。父类 obj = new 子类 可以,子类 obj = new 父类不可以!猫黑猫的关系!
点赞 评论 收藏
转发
108 794 评论
分享
牛客网
牛客企业服务