我的Java乱卷之路

一、准备进度

我的进度是寒假回家后开始刷LeetCode的题,前期是乱刷,后面跟着书按类型刷,刷题的同时看周志明老师的《深入理解JVM》,强烈推荐;寒假还刷了一遍《MySQL必知必会》,可以复习一些SQL。

开学后就开始投各种实习,面了腾讯11次,好几次都到最后一面了,但是最后因为实习时间无法保证没去成。我个人建议实习就算没法去,也要投,提前熟悉熟悉面试流程和知识点的侧重点比较好。

然后开始上午刷题,下午看知识点,我不建议背题,这样知识不系统,很容易忘,而且大厂会根据你的回答继续深挖,你背应付不过去的。

实习面了差不多了就建议别面了,好多大厂会有记录,我就是实习面腾讯面得多了,结果秋招人家都没捞我。

像Java容器这种可能没有具体的书籍,你得多去看看掘金啥的,把常见的容器总结总结:HashMap、ArrayList、LinkedList等等。

等到了秋招就可以开始投了,我今年感觉其实提前批很多时候比正式批简单,特别是大厂,不要怂,很可能正式批HC就没多少了,不好进了。

当然等你拿到第一个Offer的时候,你就不会慌了,就会松弛很多,这个时候最重要的就是心态和总结。不要碰个壁就不行了,难受好几天。每次面试写写面经,复盘复盘收获很大。一定要把面试不会的问题下来弄懂,要不然就白面了。

当然你肯定会碰见不太行的面试官,比如我碰见的很多字节跳动面试官就很无聊,问一些稀奇古怪的问题,后面我有保底offer后碰见这种,在反问环节我就把这些问题问回去,恶心恶心他。

到秋招基本看了以下书籍:

书籍/课程 推荐程度 备注
码出高效:Java开发手册 不太推荐,感觉啥都想讲,又啥都没讲清楚 孤尽老师还尽整一些偏知识点来大将特讲 但是我看这本书时啥都不知道, 可能是有一定知识储备后再看会比较好。
02-Java核心技术面试精讲-极客时间 很不错的课程,条理化具备了。
88-高并发系统设计40问 一般的课程,不推荐
JavaGuide面试突击版 题库式,拼凑怪,可以救急但不建议押宝 好多人喜欢用这个速成,但是真的不推荐
Java并发编程的艺术 并发讲的还算可以,但是有些老; 这方面目前没找到别的比较好的资料 实在读不下去可以试试老外的并发编程的实践
LeetCode 101 我刷算法题用的这个,c++写的,我看思路 然后自己实现,实现不了把c++翻译成Java,防止自己直接抄 一个谷歌无人车项目的工程师的开源 github可以下载
MySQL必知必会 复习SQL语句很好,可以很快过完
MySQL技术内幕 InnoDB存储引擎 太老了,拿5.1版本举例; 现在最起码都是5.7版本了 不建议看了
06-MySQL实战45讲 一定要看,拿下这门课,MySQL面试官基本问不住你 很多时候你可以拉着他分析 有的章节难度大,建议反复看看。 但是join那里过过就行了,面试官不太问
Redis深度历险:核心原理和应用实践 值得读,不是特别细节化,对Redis来说够用了 要是最后redis方面还是扛不住面试官,整整Redis设计与实现
剑指OFFER 最起码刷一遍 面试过程中很多原题的
深入理解Java虚拟机 一定要看,有些章节我看了不止一遍 但是机器码啥的那块就不用多看了
图解网络-小林 严格来说不算书,一个博主的博客集合,值得一看 我的HTTPS大框架最后就是这个书里看懂的
图解系统-小林 过知识点比较好
115-RPC实战与核心原理 可以一看,我同学力推的。当时是我RPC老被问住,但是看下来觉得有些文章有凑数的嫌疑。 可能受限于我知识储备,个人觉得一般
advanced-java 比JavaGuide之流强多了,分布式知识可以看一遍这个,比较系统化 github上的开源项目
05-趣谈网络 好课程,网络把这个拿下,网络方面别人问不住你 后悔时间晚了点才知道课程,开始读的时候秋招都结束了。
凤凰架构 周志明老师的新作,有开源文档。 受限于知识储备,我不太能拿下这门课,还在阅读中。

注:加粗的是建议读的,带序号的是极客时间的专栏课程。

二、知识点篇

1.很多面试官容易问的显而易见的知识点,其实有很多东西可以挖。比如常见的TCP中的拥塞控制,我们书本中学得那一套即慢启动啥的叫RENO算法,业内谷歌还开源了一套BBR,可以有效降低传输时延,并保证较高的吞吐量。

2.线程池-jdk是计算密集型,Tomcat是IO密集型,故加了一些改进,先加线程,再放队列。

3.HashMap和同步的HashMap,里面知识点很多,啥时候扩容,为什么用红黑树,为啥要求初始化是2的次方,然后比较偏的就是为啥默认大小是16,链表>8时变红黑树。源码里写过,是在泊松分布的二项分布下通过0.75的负载因子算出来的。**可以看看我写的这篇不是很好的博客总结。

4.常见逻辑题啥的总结总结,现在很多面试官喜欢整赛马、称小球这些题。

5.很多知识点比较复杂,可能得花很长时间,经常反复才能会,比如异步IO,除了多去掘金上看经典博客以外,可以翻翻经典的书,比如我真正理解finalize是看了《Java编程思想》中这里的章节。**总之把握两个方面:如果一个知识点特别难懂,不是历史原因,就是你切入点的问题。**比如异步IO你要是从语言角度去切入,很难理解,从操作系统切入就很容易。

6.还有很多开源可能去看看大概,以防一问三不知。如Nginx、ZooKeeper、消息队列啥的。

7.场景题是最难整的一种,不好说,但是一些经典的需要明白。如:微信扫码登录、游戏排行榜啥的、分布式锁的两种实现(Redis实现和ZooKeeper实现的区别)。

三、算法

我的Java乱卷之路_第1张图片

1.先找一本按题型分类的算法书刷一边,注意DP很重要,要多刷刷。GitHub上有好的,推荐LeetCode101。

2.然后刷剑指offer。

3.刷LeetCode中的top100,就是有个标签可以选热题,有100道,注意这100道很高频,哪怕hard也得刷,要不然容易翻车。

4.然后就是每天一道每日一题保持手感,然后重复刷剑指offer和top100。

四、小建议

1.有些厂家会因为你有大厂offer而不要你,比如我的陌陌和shein,但也有些可能会加分,比如美团的时候。HR面的时候要注意。

2.小公司很多其实没必要面,爱乱问,问的东西没有任何参考意义。

3.陌陌商业化面试;问得很刁钻,很多问题容易措手不及,感觉还是有技术含量。比如:10*100和100*10哪个数组内存占用大,是100*10,因为100*10有100个指针,10*100只有10个。

4.阿里会抓着你问原理,对算法反而不看重。但是原理会抓着你问。很难混进去(当然有幸存者偏差,阿里应该也有不太行的部门)。

5.腾讯面试官很参差不齐,有技术大拿,但是我也碰见过一边打游戏一边面试我的人,很无聊。但是我面微信支付第一面就面得很爽,棋逢对手的感觉。腾讯今年开得特别高,光房补就4k,可以去offershow的小程序上看看。

6.美团是喜欢问你原理的细节,有时候确实没考虑到,比如问你不可重复读和脏读的区别,大部分公司都是问你幻读和不可重复读的区别。

7.京东面试很迷,好多时候都回答上来了,但是最后挂了。最后的秋招的物流面试还行,没让你回答八股文,先给你一个简单的场景让你实现,然后一步一步复杂化。

8.小米没必要面,钱多事少,面试官态度也不太行。中兴也没必要,需要线下面,价钱一般,面试也不问技术问题。

9.今年的黑马是蔚来,能开到27*14.5,还有700股期权,分四年解锁,好多在合肥也能开到这个价钱。广联达今年在西安Java能开到20-24k*15,也不错。

10.博客写起来,但是不建议写流水账,也不建议写的和笔记一样,要有自己的思考。

简历上附上自己的博客和github或gitee。github或gitee上个人主页的贡献度亮起来,因为好多公司很无聊,喜欢问你代码行是多少,这时候可以把这个截图给他。

11.总的来说建议多投。比如今年蔚来这个价格就很出乎意料。但是不建议瞎投,很多没必要投小米、中兴之类的。建议按自己了解和看好的领域投,比如我投网易云完全是因为我用过这个产品,但是去年开了好多18k,今年直接给我开了很高25k。

12.附上几个小工具

比较厉害的公众号:

算法:宫水三叶、labuladong(很多算法看着豁然开朗,比如二分的注意事项啥的)

技术:美团技术团队(强推,质量很高),架构师之路(时水时不水,topk问题就是他给我回答了),码农的荒岛求生,techGuide(经常复盘笔试题,明年不知道还会不会),小林coding,很多技术文章可以去掘金社区,知乎上很多高质量文章都是搬运掘金的

小工具:https://codetop.cc/home,按公司部门分类的算法题

校招薪水:到时候会总结各公司的薪酬档次

应届生职前菌:招聘信息大汇总

offershow小程序:可以查薪资

各大公司作息:https://docs.qq.com/sheet/DQVlXSXZTc3ZLWFlH?tab=yu4090&_t=1635252375483

下个微软的To Do,代办清单啥的,用着特别爽,把面试不会的知识点放上去,一个一个消灭。

如果有战友,可以建个语雀之类的知识小组,一起更新进度和面经。

牛客分享一些面经,管理员可能会拉你进一个微信群,都是大佬,很多问题可以讨论。

五、开奖时候的注意事项

1.构成。比如有些是绩效,有些是基本工资。比如荣耀是17+4k,17k是基本工资,4k是绩效工资,荣耀是95%的人都能拿满绩效。有绩效一定得问多少人能拿满。
2.十几薪。比如大多数公司是14薪,也有15薪和16薪的。14薪的意思是,2个月工资算成年终奖,然后按你的评级系数,这个时候要问多少人能拿满这个2个月年终奖,也就是1.0以上的系数。一般是163和172,163也就是10%是更高的年终,60%是大多数也就是3个月年终,30%是淘汰之类的,也即90%的人都能拿满。172同理。
3.社保公积金比例。缴纳基数,比例。比如上面荣耀的例子,荣耀是按17k的基本工资交社保和公积金,而且只交5%,华为也一样。一般北京大多数互联网公司都是按12%交公积金。

4.有股票的话问每年解锁比例是多少,签字费的话问啥时候发。

5.福利,补贴,餐补。

6.加班这种事你问HR一般得不到真实答案,你得同公司的人去打听。
作者:李爱乐
链接:https://www.nowcoder.com/discuss/787782?source_id=profile_create_nctrack&channel=-1
来源:牛客网

六、面经大汇总:
字节跳动面了好几次,我碰见的面试官都比较傲慢,问一些自己也不会的内容:
https://www.nowcoder.com/discuss/702004
https://www.nowcoder.com/discuss/741552
爱奇艺面试体验很不错,我面了四面技术面和一面HR,就是流程慢,一周面一次的感觉,是不是说明也不加班:
https://www.nowcoder.com/discuss/702007
B站一面面试官还行,虽然 后面发现每个人都是这么问,问题都不换;二面领导很一般,题库式问法:
https://www.nowcoder.com/discuss/709068
百度太尴尬了,二面死在智力题上:
https://www.nowcoder.com/discuss/709084
美团优选,面试官都不错,有加面,开奖开发base最高那一档,没签字费啥的:
https://www.nowcoder.com/discuss/711452
陌陌有道问题还是有独到之处,最后HR面把我挂了
https://www.nowcoder.com/discuss/724830
WXG一面很爽,但是二面感觉技术栈不匹配,问得很难受
https://www.nowcoder.com/discuss/725105
网易云音乐,很不错,面试官都不错,循循善诱,最后开奖也是开发最高那一档,很遗憾最后没有去成,大力推荐大家有机会都投一下
https://www.nowcoder.com/discuss/737409
阿里我笔试那次简单,拿了个满分,但是没面几下,盒马乌龙了,HR先把我挂了才面我,高德问题都答上来了,结果挂了
https://www.nowcoder.com/discuss/747286
https://www.nowcoder.com/discuss/788150
奇葩滴滴,当时是没有面试了,实在不知道投啥,结果投了滴滴,非要说我软件工程专业不可能没学过模电
https://www.nowcoder.com/discuss/767080?
七、最后的总结
我觉得我秋招最难的并不是面试的时候,因为那时候努力还是有用的,哪怕碰到很多面试官面完还夸你了结果把你挂了。我觉得最难受的时候是我10月份开始,每天等开奖的时候,那时候努力已经起不到任何作用了,因为没有公司可以面,那种无力感才是最难受的,那时候都准备春招了。结果最后开了好几个sp,心态才慢慢变好。当然遗憾是秋招腾讯没面我,阿里乌龙了,这两个确实挺遗憾的,还是挺想期待一下被金钱打败的感觉的。
所以,大家加油。不论秋招还是春招,都有机会,能面试就有机会,害怕的就是没面试了才慌。

你可能感兴趣的:(总结,java,面试,程序人生)