先说一下我的情况,24岁,小厂码农1.5年,普通本科CS相关专业。
项目经验较少,期间在网上找了很多学习资料,自学了springboot,mysql,redis,数据结构,操作系统。也看了几本算法+java相关的书籍。
第一份工作足足找了两个月,还是一个皮包公司,只是看中了我本科的学历,能给的薪酬还没同公司文员高……
干满1年就准备跳槽了,现在很多中大厂面试时工作经验是硬性条件,我也慢慢变得圆滑开始 “优化简历” ,虽然懂些算法原理,但是理论就是理论,面试人随便一问就露馅了……
拒绝我的理由清一色都是:工作经验不符合要求!
我当时还是裸辞,真的是经历了太多的绝望,但路是自己选的,还是要坚持下去。我决定振作起来,重新梳理备考计划,向一个关系较好的阿里码农朋友求教。
我记得他当时原话是这么说的:“有点难,但是也不是不行~”
我哪管得了这么多,只要能上岸,现在苦点算得了啥呢!!毕竟干我们这行,说白了就是青春饭。
要是不在好的平台积累工作经验,迟早要被行业淘汰!(不是我消极,事实就是如此…)
之后,我按他的建议方向“突击”了五周,每天抽出5个小时认真备考(是真的…认真打卡学习那种儿…)。很庆幸经过4轮面试,现在已就职字节2个多月啦。
我想这之中的酸甜苦辣只有经历过这件事的人才知道,过程中走了太多的弯路也浪费了不少时间,庆幸的是结果是好的。
如果你有信心通过自己的努力拿到大厂offer,我就把当时他给我的建议一起分享出来。
(❗干货警告:文末附2022大厂最新面试真题~)
★备战内容主要分为3个大方向
1、了解算法面试高频考点,会用万能模板—— 【冲刺算法】
2、如何精简刷题,刷1道顶别人3道—— 【科学刷题】
3、没有大项目经验,怎么通过Java面试—— 【项目经验】
(ps:可以根据自己的实际需求参考一下,文末也有详细总结,建议按自己实际情况合理规划学习~)
一、冲刺算法:了解算法面试高频考点,会用万能模板
毫无疑问,算法是各大厂面试中的重头戏。也是我们需要分配时间最多的部分。
因为算法本身知识体系太多,短期内想做到掌握不太符合实际,我们要根据面试需求有侧重性的准备。
注:越红的考的可能性越大,灰色部分一般出现概率较低
我学长当时就用的《北大算法课》里面老师总结的大厂高频题拿到的字节offer,这也是他当时强烈推荐给我的。
**耗时45天才整理出《Java核心笔记》,足足5000页,已全部打包在网盘里了,有需要的读者朋友们可以帮忙关注支持一下,[点击即可入手]
这门课程是由北大ACM令狐老师主讲,从他多年面试官的经验,总结出90%国内大厂算法面试高频考点内容,帮助我们在有限的时间内掌握面试重点。
分专题讲解高频知识点
如这两年大厂高频题主要以哈希表、二分法、拓扑排序算法为主,而动态规划作为历年考察的重难点,也是需要花时间攻克的。
这些高频考点老师都会在课程中分专题去细致讲解,面试碰到这些题型都可以直接套用 “模板小抄“ 去解题了。
模板套用不同风格题型
这套模板小抄就在《北大算法课》当中,感兴趣的同学可以去听一下,课程分享了具体怎么用模板更好,bugfree等超全干货。
【注册即学】名企大厂高频考点拆解|北大算法面试
(ps:只需注册点免费听课就可以学习了,还有模板小抄也是免费领的,真的别再错过了~)
模板实操
这份“算法模板小抄“里还包括了大厂面试中常考的算法解题思路和模板。是真的香!我就是用这套小抄通过面试的,并且面试官还挺满意~
二、科学刷题:如何精简刷题,刷1道顶别人3道
像我之前一直是用leetcode刷题,题库很庞大,但是体验下了我自己最大的感触就是越刷越乏! 尤其是到了后面效率极低,前面刷的题也都没记住,人都麻了……
后面也是一个业内朋友推荐的国内lintcode刷题工具,它家的题型都是紧随大厂的真题实时更新的,保证了题库的新鲜度。
**耗时45天才整理出《Java核心笔记》,足足5000页,已全部打包在网盘里了,有需要的读者朋友们可以帮忙关注支持一下,[点击即可入手]
(#也是注册就能免费刷起来了,题目都是按知识点归类的,特别适合冲刺刷题~)
如果你有明确的目标公司,建议你可以多刷该公司的常考题、必考题,国内各大厂的真题它都有收录。可以说是很方便了。
还可以根据实际需求按照类型的形式刷各种题目。题库按算法、数据结构、难度等不同维度进行了分类,特别适合分专题练习。
多找几道同类型题目操练一下,感觉立马就有了,其他算法知识点也是如此,举一反三,贼好用,突击面试就用它更有效果。
三、项目经验:没有大厂经验,怎么通过Java面试
还是以阿里为例吧,社招基本以P6为起点,P5、P5+是校招, 在面试之前可以先了解一下流程标准。
★这里关于Java面试大概可以分为3个部分:
1、Java基础,这个之前算法已经完全能应对面试了;
2、掌握Java Web技术栈,实操一些简单项目;
3、掌握Java进阶技能,包括网络编程、并发编程、JVM等。
如果你的java基础还很薄弱,应该考虑的问题是如何巩固基础知识,比较推荐的是阿里P8高级技术专家杨逍老师的《Java面试突围课》讲座。
java知识点详解
先比较快速的过了一遍视频,让自己心里有个底。然后,直接学里面的专题板块:OOD、SpringBoot、JDBC、SQL、Mybatis、Linux、JVM,这几个视频讲的比较细,建议多看几遍。
面向对象部分
这门课重点讲大厂的面试真题,还有其中涉及的底层代码逻辑,通过知识点结合面试真题串讲,在剖析大厂面试套路上很有一套,很适合缺乏完善知识体系,技术更不上的程序员。
(也是注册报名就能免费试听了,这波羊毛还不去薅~)
关于面向对象设计的基本原理与设计模式、JVM虚拟机、SpringBoot项目实战、SQL优化等知识点也会深入讲解,贼好理解!
还能带你真实还原面试可能出现的问题,老师会用自己多年的任职经验告诉你怎么规避面试时可能遇到的“坑”。
总结
1、如果你有一定算法&数据结构基础,近期准备国内大厂面试,建议你通过《北大算法课》提高专业能力。(学习周期:4周)
2、如果你想通过科学的刷题提高算法&数据结构能力,建议你试试国内lintcode刷题工具。
3、如果你想进入BATJ级大厂,但简历总是石沉大海,面试屡败,推荐你学习《Java面试突围课》这门课程,手把手教你解题方法。(学习周期:8周)
**耗时45天才整理出《Java核心笔记》,足足5000页,已全部打包在网盘里了,有需要的读者朋友们可以帮忙关注支持一下,[点击即可入手]
写在最后——2022大厂最新面试真题
★字节跳动
(一) 简单:
·翻转链表
·两数之和
·岛屿的个数
·最大子数组
·合并两个排序链表
·二叉树的层次遍历
·大整数加法
·合并区间
·有效的括号序列
·二叉树的中序遍历
·爬楼梯
(二) 中等:
·最长无重复字符的子串
·第K大的元素Ⅱ
·二叉树的锯齿形层次遍历
·买卖股票的最佳时机
·三数之和
·两个链表的交叉
·最近公共祖先
·搜索旋转排序数组
·接雨水
·螺旋矩阵
·二叉树的右视图
·合并K 个排序链表
·重排链表
·全排列
·下一个排列
·最长上升子排列
·翻转链表
·带环链表
·最长回文子串
·丢失的第一个正整数
·对称数
·路径总和Ⅱ
·最大正方形
·最长有效括号
·验证二叉查找树
·链表排序
·换硬币
(三) 困难:
·K组翻转链表
·LRU缓存策略
·带环链表Ⅱ
★腾讯
(一) 简单
·两数之和
·字符串的相加、重复输出、切片
·二分查找
·爬楼梯
·有效括号序列
(二) 中等
·最近公共祖先
·装最多水的容器
··和大于S的最小子数组
·颜色分类
·递增的三元子序列
·最大子数组之和为K
·最长无重复字符的子串
·第K的元素Ⅱ
·回文链表
·最长上升子序列
·三数之和
·买股票的最佳时机
·路径总和Ⅱ
·两数最大和
·零钱兑换
·有效的括号字符串
(三) 困难
·寻找数据流的中位数
·K组翻转链表
·LRU缓存策略
·转换字符串到整数
·基础计算器Ⅲ
·滑动窗口的最大值
★阿里
(一)简单
·最大子数组
·有效的括号序列
·BST的最小绝对差
·最短无序连续子数组
·转换字符串到整数
·搜索二维矩阵
(二)中等
·三数之和
·第K大的元素Ⅱ
·比较版本号
·全排列
·二叉树的中序遍历
·最长公共前缀
·奇偶链表
·最大的交换
·最长无重复字符的子串
·x的n次幂
(三)困难
·寻找数据流的中位数
★网易
(一)简单
·不同的路径Ⅱ
·二叉搜索树的最近公共祖先
·合并两个排序的间隔列表
·翻转链表
·合并两棵二叉树
(二)中等
·有效的括号字符串
(三)困难
·加油站之间的最小距离
·不同的路径Ⅲ
·寻找数据流的中位数
★京东
(一)简单
·两两交换链表中的节点
·二叉树的中序遍历
(二)中等
·三数之和
·有效的括号字符串
·生成括号
·递增的三元子序列
·二叉树叶子顺序遍历
·第K大的元素Ⅱ
(三)困难
·寻找数据流的中位数