This commit is contained in:
chefyuan 2021-09-23 16:39:49 +08:00
parent 6593e8e5f8
commit 653ba54521
11 changed files with 808 additions and 1 deletions

BIN
.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,139 @@
一位学弟问了我一个问题
![问题描述](https://img-blog.csdnimg.cn/93cb8f9ccbe442a1bec05fff68a2e8e3.png)
我在这里说一下我的看法希望能够对有相同问题的学弟学妹有一丢丢帮助也欢迎各位大佬在评论区写下自己的看法作为感谢我会从中选出 3 个最用心的评论送出 3 个不大不小的红包先在这里替学弟学妹们谢谢各位大佬嘞
回想自身
我似乎从来没想过这个问题
读大学的时候每天的想法不是不是今天学点啥吃点啥玩个啥游戏开心开心每天想的是我怎么练球才能把我哥们打爆斗牛时说垃圾话怎么才能不落下风寒暑假的时候能够大冬天搁水泥地不是篮球场是一块空地拍球拍两三个小时就是为了开学的时候把他们斩于马下
就这样打着打着篮球忽然就到大三下学期了然后就听到谁谁谁去哪个大厂实习啦谁谁谁参加什么比赛得奖啦
好家伙我慌了啊
突然不知道自己该干啥了打球打球打个锤子球马上就毕业啦心里咋就没数呢
那天晚上我失眠了也在那天晚上做了一个可能影响我一生的决定
我决定考研
其实说白了也就是为了逃避就业为自己的菜找个借口
第二天醒来就直接背着书去了自习室开始了朝 8 10 的复习之路从决定考研到考研前夕为期八个多月的备考我打球的次数不会超过 5 休息的总天数不会超过 3
每次哥们叫我打球我总是找一些借口推掉了渐渐的他们打球的时候也就不喊我了我也就安心准备考研啦
备考的这段时间我一直没有忘记锻炼我会隔一天去一次健身房每次锻炼一个半小时我觉得我能坚持到考研健身房也有很大的功劳
毕竟备考还是很累的一坐就是一整天中午也不回宿舍睡觉就在桌子上趴一会所以要有一个好身体才能扛得住
读者你这说了一堆和你学弟问的问题也没啥关系啊
厨子哎嘛别急别急即然说啦肯定是有用的的马上就说到重点啦
通过上面我的例子我认为完成某个目标需要具备这几个特点
- 抹平信息差
- 执行力
- 持之以恒
**抹平信息差**
其实很多时候我们和别人都有信息差距进而导致思维上的差距然而思维上的差距是最难缩短的
我们为什么考大学考研究生时想要考好大学毕业后想去大公司
大公司好呀钱多福利好技术氛围好
嗯是的进入好学校和好公司都可以理解成进入了一个好的平台之前和一位 HR 聊了挺久交谈中的一句话让我仍记忆犹新
应届生入职时平台带给你的远远大于你自身技术带给你的
暂且不论这句话是对是错聊天结束后我思考了这句话的含义以下是我对这句话某一个方面的理解
在好的平台里你会多了很多和大牛们交流的机会耳濡目染能够帮助你提升思维帮助你消除信息差学习他们的学习方式交流方式等
这个过程中你可能意识不到你的进步但是如果你养成记录的习惯回过头来再看的话你会发现自己真的进步很大而且进步的过程本来就是悄无声息而是在之后的某一时刻你才会发现你进步了
当然好的平台带给我们的远远不止这一点而且我们每个人对 的定义也不相同就不在这详细说啦
我认为抹平信息差是完成某个目标的要做的第一件事完成目标前我们要先定下目标
本科的时候我们很多人甚至都不知道有保研秋招比赛这一说你敢信
**作为大学生的你们则可以通过一下几种方法帮助你们抹平信息差**
1.请教往届的师兄师姐他们的经验分享或许对你帮助很大
2.通过某些途径看一些前辈的分享求职分享或者学习路线等比如知乎牛客脉脉等
就拿考研来说如果你看过其他师兄师姐的考研心得那么你就有可能少走很多弯路复习的更加充分上岸的几率则更大
有的时候我们缺少和前辈面对面交流的机会但是从他们的文字中也能够学到很多
3.多和比你优秀的人交流
就比如孔子家语中的一句话与善人居如入芝兰之室久而不闻其香即与之化矣这句话的意思是与品行优良的人共同居住就好比是进入栽满了芝兰香草的雅室时间久了就闻不到香味了因为他已经被同化了变得同样的品行优良
思维高度亦是如此
**执行力**
如果我们将抹平信息差看成是通过前辈们的指导找到了满是成熟果实的果园那么执行力就可以比做摘果子的竹竿
我们不要想着我们找到了果园就能够硕果累累果实是有成熟期的如果在特定的时间不摘的话就会腐烂机会流逝
所以我们想到什么事有搞头就抓紧去做吧不然只会让机会白白流走
种一棵树最好的时间是十年前其次是现在
这句话没毛病但是我们为什么不把握最好的时间而是要退而求其次呢
很多时候我们都是通过和身边人的比较而知道自身水平
所以如果身边的人都在进步你停滞不前到你发现的时候 欲望更大需要的更多所承受的压力则会更大
所以现在觉得有搞头就快闷着头往前冲吧
**持之以恒**
写到这的时候感觉要写不下去了说的这些感觉大家都知道但是没有经历过的话很难有深刻理解本科时我浪费掉了太多时间所以真的希望学弟学妹们能够把握当下这四年真的能够学到太多东西
还是接着往下说吧
我们现在已经在**满是成熟果实**的果园里打果子啦如果我们三天打鱼两天晒网别人果园的果实都打完了开始找下一个果园了你的这个还没打一半这可咋整
所以我们在给自己定下目标之后坚持下去
我们可以通过一下几种方法帮助我们坚持
**正反馈**
设立奖励机制我们完成某个小目标之后则可以奖励给自己某些东西比如吃些自己想吃的买些自己之前想买但是没买的东西就比如我之前考研的时候我会在每天早上给自己设定好自己今天要做的题目
设定过今天的学习目标之后则能让我学习效率大幅度提升努力完成今天的目标完成之后则会在回宿舍的时候奖励自己好吃的
**闭关**
是的闭关无论是考研的时候还是准备秋招的时候我都是自己一人去图书馆然后将手机锁机开始学习
我觉得最好的学习状态就是保证作息规律每天重复同样的事吃饭学习睡觉
进入这个状态之后你会非常的想学习对学习之外的事兴趣就变得没有之前那么大自然而然的就坚持下来啦
**回溯**
其实这个也和正反馈一致我们可以每天晚上整理今日所学整理过后你会发现你今天学到了很多东西就会非常充实和踏实感觉今天一天没有白过自然而然的形成良性循环帮助你坚持下去
当然我们一定要注意锻炼身体是革命的本钱身体和脑子有一个动就好啦
授人以鱼不如授人以渔希望这篇文章能够对迷茫的学弟学妹有一丢丢帮助这篇文章不是假大空是我经历过感觉浪费掉的大把时间真的可惜
虽然人生是个长跑不是冲刺跑某个时期对你的影响没有你想象的那么大只要我们保持向上的心就好
如果给我重新读大学的机会我仍然会和哥们们好好打球不过我会努力抹平信息差对自己的职业生涯好好规划
如果觉得这篇文章对你有点用那就帮忙转发给你的朋友吧好啦今天就唠到这吧拜了个拜

View File

@ -1,4 +1,4 @@
今天不和大家吹牛玩了唠唠嗑吧说几个我逛 B 站经常看的几位 UP 主吧看看里面有没有你关注滴我知道在做的各位很多都是在 B 站学跳舞的 🐶我看的比较多的则是搞笑 UP他们可都太逗了 今天不和大家吹牛玩了唠唠嗑吧说几个我逛 B 站经常看的几位 UP 主吧看看里面有没有你关注滴我知道在做的各位很多都是在 B 站学跳舞的 🐶我看的比较多的则是搞笑 UP他们可都太逗了
### 导演小策 ### 导演小策
@ -11,3 +11,67 @@
![](https://img-blog.csdnimg.cn/27b3da9294ee4378a8b392adae3bfe5f.png) ![](https://img-blog.csdnimg.cn/27b3da9294ee4378a8b392adae3bfe5f.png)
广场舞巨头鹅姨鹅姨的跟班二花会说 rap 的烫嘴阿姨爱和三舅合影的三炮每个人物都个性鲜明绝了 广场舞巨头鹅姨鹅姨的跟班二花会说 rap 的烫嘴阿姨爱和三舅合影的三炮每个人物都个性鲜明绝了
![2021-09-13 21.56.41](/Users/yuanbangjie/Documents/动画/2021-09-13 21.56.41.gif)
### 才疏学浅的才浅
这个真的是巨佬也是我关注特别久的 UP 刚开始关注的时候才几千粉丝现在已经 350 万了
当时还跟着他的视频给女朋友做了两个印章不知道咋回事视频找不到了
![我做的印章](https://img-blog.csdnimg.cn/e2294dac7350447b8fe0d572e2cd9d34.png)
可是后来他开始做刀了
![](https://img-blog.csdnimg.cn/d7f25b635d80406eb406bd34e4cc55f1.png)
再后来他开始做面具开始制杖了
![](/Users/yuanbangjie/Library/Application Support/typora-user-images/image-20210913224757736.png)
这下我真的搞不定了才浅做面具和制杖的视频还登上了央视真的太牛了也喜欢手工的老哥可以去看一哈非常牛的一位 UP
### 小潮院长
哈哈小潮 TEAM 的大哥大他的不要做挑战真的太好笑啦来回看了好几遍每次都笑的肚子痛
这个还掀起了 B 站的模仿热潮真的是一个既有才又有趣的 UP
![](https://img-blog.csdnimg.cn/5f0d27231c5b4d46b8a85d0f14c52683.png)
### 张若宇
张若宇一个喜欢敷面膜的老哥他的视频有一个特点那就是短短短一分钟的视频节奏把握的特别好BGM 配的也恰到好处属实让他玩明白了视频中最喜欢看的就是陶陶一个酷爱吃肘子的 活宝
![](https://img-blog.csdnimg.cn/9d9034a4af114924bdf7516164eeef7e.png)
亲切的口音和热闹的家庭氛围让我很喜欢看他们的视频也是一个非常有才 UP
### 野球帝
很久很久之前就关注了野球帝当时的我还很小一看就看到现在
野球帝团队的人也越来越多也越来越热闹
说实话真的很羡慕他们那种氛围既可以和兄弟们一起打球又能一起工作
和喵哥说的似的等退休之后开个篮球场和烧烤店和兄弟们打完球一起撸撸串吹吹牛好不惬意
![](https://img-blog.csdnimg.cn/fd31c23d431b470f99a769a62ec332f6.png)
依旧干货满满另外多说一句别让通演傻子啦他快改不过来啦哈哈
喜欢篮球的哥们可以关注一波
KBT篮球训练营
这不和喵哥约了国庆节决一死战我俩每天都在群里说一些垃圾话都觉得能把对方打爆不能光吹牛批不干活所以咱们得把训练安排上一位干货满满的 UP 为你指出平常没有注意到的细节都是很实用的动作打喵哥应该足够了
![](https://img-blog.csdnimg.cn/059dfed9cd2b4fd3bd16cc28f926b429.png)
好啦今天是纯唠嗑局大家也可以把自己常看的优质 UP 打在评论区
后面会继续给大家更新一些关于面试事另外多说一句2023 秋招的学弟学妹们要尽快准备起来啦早就是优势
今天就唠到这吧拜了个拜

View File

@ -0,0 +1,128 @@
### 背景
某中上985传统工科本硕本科期间只上过大学生程序设计和微机原理两门计算机相关的公共基础课研一开始准备转行恰好研一暑假因为疫情无法返校遂背着老师投递了华为中央软件院的暑期实习非应届投递暑期实习是有风险的华为对计算机基础要求比较低对学历背景较好的非科班同学比较友好研二暑假通过了百度字节阿里腾讯美团携程的后端开发岗实习去了阿里淘系实习秋招目前收获阿里字节拼多多美团网易意向书腾讯华为米哈游录用排序中在春秋招的面试基本没有挂过
### 个人心得
#### 基础知识
- **基础知识是非科班和科班区别很大的一部分**科班有一整套系统的计算机学科培养体系我在准备基础的时候是按照考研课程进行系统学习的考研的基础课程能让你很大程度地接近科班学生的基础推荐b站的王道考研课程可以二倍速快速过一遍配合讲义标注一些重点日后可以反复观看这些基础不仅能方便日后学习编程语言和扩展知识时的理解在秋招面试中也经常会涉及
- **这里重点提一下算法** 算法和数据结构课程中涉及的知识都是非常基础的一定要熟稔于心在这个基础上可以刷leetcode题来提升自己的能力通常刚开始刷会有一些曲折比如遇到的题经常不会然后一道题写大半天我一般遇到不会的题超过10分钟没思路就会看题解然后按题解的思路再尝试自己写出来如果实在写不出来就照着题解自己敲一遍仔细领会每一句代码的意图然后再做标记第二天或者过几天我会再尝试自己写一遍重复几遍就会了这样至少能保证你刷到过的题你都能掌握刷题顺序的话推荐按分类刷我个人用的大力出奇迹直接按题号顺序刷但是一开始刷的会有点吃力另外的话可以刷一刷每日一题和周赛春招前我大概刷了600+的题周赛全国排名3000+
- ![](https://img-blog.csdnimg.cn/6a51c04e6bd24367a4e0b40a2e4d9a4e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ2hpbmVzaXNjaGd1eQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
#### 编程语言
C++和C语言其实很像上述算法与数据结构课程的或者说理工科学校应该都会有的程序设计类的基础课都会教一些C语言的基础在这些基础上看下列书应该就足够了下面的书我基本上都看过一遍或者挑章节看过受益匪浅当然语言还是要多用多写可以通过刷题和项目来反复巩固和记忆
##### 书籍推荐
- C++primier第五版比较厚但是很全面可以慢慢看
- STL源码剖析可以配合b站侯捷的视频一起食用讲得非常好
- 深入理解C++对象模型看前几章应该就够了
- Effective C++个人感觉书上的知识点有些陈旧
- Modern Effective C++有C++11新特性
- C++并发编程实战学习并发的基础知识就够了书在实现上用的C++11多线程但在实际的开发中使用的大多是posix多线程
##### C++岗位的选择
C++的岗位相比与java会相对少一些的java拥有更好的生态使得它在业务开发上可以更灵活和方便不过校招一般不会对语言做限制如果大家在秋招中想继续从事c++相关的开发那可以留意一下以下C++岗位可以去看看官网对应的JD然后对自己感兴趣的岗位做针对性的查漏补缺
- 游戏服务端和客户端网易互娱和雷火米哈游腾讯IEG
- 推荐和搜索引擎阿里和pdd两家java为主的大厂在这块用的都是C++
- 机器人自动驾驶开发无人驾驶企业华为车BU
- 音视频流开发比如B站
- 用C++比较多的互联网企业腾讯和百度
#### 扩展知识
这个部分我就介绍以下自己看得一些视频和书给大家做参考
##### linux
linux是后端开发工程师必知必会的操作系统而且要对底层原理有详细的了解
- 深入理解Linux内核可以结合操作系统课程对照着来看有些部分在实际实现上和操作系统课程所讲的有些出入
- UNIX环境高级编程 堪称圣经的APUE介绍的是unix系统的基本原理和系统调用可以说是必看觉得书太厚了看不下的推荐一个B站的[课程](https://b23.tv/YjZyNv)讲得非常好可以跳过前面数据结构的部分直接看后面的
- UNIX网络编程介绍了UNIX网络方面的原理和调用方法是对APUE的扩充如果这本书看不下去的可以直接看下面这本
- Linux多线程服务端编程:使用muduo C++网络库介绍了如何使用C++开发高性能服务器这本书个人认为写的非常好我也是照着这本书写了自己的服务器的项目
- man手册可以直接在命令行查看系统调用的使用方法
##### 数据库
- 数据库基本原理B站有很多类似的课程我看的是东南大学的数据库原理及应用
- Mysql必知必会讲mysql的用法也可以去看B站狂神的视频
- MySQL技术内幕 InnoDB存储引擎这本书写得非常不错有很多面试常见的知识点
##### Nosql
- Redis设计与实现介绍了redis的源码设计redis有很多设计非常巧妙的数据结构以及它在时间和空间上的高性能是怎么做的总之里面有很多让人印象深刻的点另外redis本身是用c语言写的所以感兴趣的话还可以直接去看源码
- b站狂神讲redis使用讲的也挺好的
##### GCC+GDB
这部分都是C++开发和调试的辅助工具有些面试比较喜欢问这个b站也有类似视频都大同小异我这部分准备地也不好
- 常见编译选项
- GDB原理
- GDB常用命令
- 线上进程如何调试
##### 设计模式
- 常见的设计模式用途和优缺点
- b站上有设计模式的课程我看的是[李建忠的课程](https://b23.tv/OyZBky)感觉讲得挺好的
##### 分布式系统设计
- 这部分知道CAP/BASE是啥应该就够了我看了一遍[这个](https://b23.tv/OyZBky)感觉和没看一样哈哈
##### docker
这部分的话只是自己感兴趣所以看的面试一般不会问
- b站狂神的docker教程教你如何使用docker
- 自己动手写docker教你如何实现一个docker以及docker底层的原理docker是用go写的还可以顺带学一下go照着敲一遍最后写出来还是蛮有成就感的
### 关于项目
C++一般都是用来造轮子所以在项目上大多都是偏底层的一些工具和java选手对比起来在面试中会吃亏一些java选手对高并发实际的业务场景中的问题和解决方法会有更深刻的认识下面举一些常见的项目
- **网络库/web服务器**基本C++的人手一个牛客也有卖类似的课程我也是参考muduo写的这个的话最好测一测QPS来体现那能达到的效果
- **数据库**写一个简易数据库这个部分可以看MIT的数据库课程里面的作业就是写一个数据库除此之外前面提到redis就是用C写的所以也可以用C++写一个类似的简易版非关系型数据库
- **tinySTL**实现STL常用的容器和函数能够对底层数据结构有更清晰的认识
- **rp**crpc是分布式系统中最重要的一环可以参考Dubbo和grpc实现一个简易RPC
- **flamingo**如果时间充裕的话推荐这个写一个类似QQ的软件github上搜一下就有感觉比较牛逼而且资料和教程都很全
### 关于笔试
- 笔试通常都是**ACM模式需要自己处理输入和输出**对C++其实不太友好
- 输入的处理**未给定行数的情况**不知道行数可以用
```cpp
string s;
while(cin>>s) {
...
}//可以读到EOF
```
- **万能头文件**
```cpp
#include<bits/stdc++.h>//包含了所有常用的头文件
//牛客和赛马都能用有些编译器不支持
```
- **学点python**前面提到笔试对C++其实不太友好比如笔试经常会用到字符分割字符串和数字转换C++可能要写for分割用atoi或者to_string做转换用python就会很方便再比如一些大数相加用C++只能用字符串或者链表来做加法python就不用考虑溢出
- **选择合适的数据结构**比如之前的笔试题如果按题目的意图可能你要建立链表节点的结构然后针对输入去解析数字构建链表写翻转链表的函数再遍历链表输出但实际上这题只需要用字符串就可以对整个输入的字符串做reverse再针对每一个数进行一次reverse就可以了
- **取巧**对于一些输出true/false或者数字的题实在写不出来随便打印一个答案可能就能拿几十分
```cpp
//翻转链表
//输入1,23,456,78
//输出78,456,23,1
```
- **其他一些辅助手段**
一些ACM选手喜欢加一些这样的操作提高码字速度和IO速度但个人感觉对于一般的笔试而言提升效果有限
```cpp
//1cin的效率不如scanfcin会有缓冲区可以参考ACM比赛时用到的优化方法
//2用宏定义比如#define pair<int, int> PII这样每次敲定义的时候只要敲PII就够了
#include <bits/stdc++.h>
using namespace std;
//#define ACM_LOCAL
#define fi first
#define se second
#define il inline
#define re register
const int N = 1e5 + 10;
const int M = 5e5 + 10;
const int INF = 0x3f3f3f3f;
const double eps = 1e-5;
const int MOD = 1e9;
typedef long long ll;
typedef pair<int, int> PII;
typedef unsigned long long ull;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
//solve
}
```
### 关于面试
- **面经非常重要**面试中一半的问题都可以在牛客面经中找到因此可以找牛客上相关高质量的面经自己做整理然后过一遍
- 面试一般分为**基础知识****项目经历**两部分如果项目经历比较少就会着重问基础如果面试官对项目经历感兴趣可能全部都会问项目
- 项目上每一个点都要问自己**除了这样做还能怎么做你为什么选择这样做这样做的优点是什么以及这样做的底层是怎么实现的**比如我做的网络库最常见的问题selectpollepoll优缺点选择的原因底层原理当你回答完之后再往下挖可能就会问epoll为什么用红黑树红黑树的底层原理和优缺点知识点要学会发散比如问完红黑树面试官可能会问你其他的树和数据结构比如avl树和红黑树的区别红黑树和快表的区别再发散问可能问redis为什么用快表不用红黑树总之在准备面试时也要**学会发散地思考**
- 很多时候面试官可能不了解C++或者说投递的岗位不是用的C++所以面试官不会问很多C++的知识而是会问一些操作系统或者网络或者数据库等通用的知识因此这些**通用的基础知识一定要扎实**否则怎么能比得过那些语言对口的竞争者呢
- **掌握主动权**面试官的问题很多都是从你的角度来问的比如你的简历提到了xxx那么你讲一下xxx吧再比如你刚刚回答里面提到了xxx那么你讲一下xxx所以自己是能够掌握一些面试中的主动权的因此自己掌握的知识点和看过的书都可以在简历上有所体现在简历中的每一个点都足够熟悉不熟悉的不放上去然后在回答问题中也要尽量回答自己熟悉的点对于不熟悉的点可以快速带过对熟悉的点可以适当展开
- 面试过程中要**适当反问面试官了解面试官提问的意图**可也以让他给你做适当的提示比如一个很泛的问题可能你觉得有好几个方面所以要了解面试官想让你深入哪个方面
### 总结
- 以上是个人的一点心得仅供参考不一定适合所有人因为自己导师比较放养给了我很多空闲的时间可以去学习自己感兴趣的东西也真的非常感谢我的导师希望能让我顺利毕业哈哈哈后续我也会整理一些面经希望能帮助到大家

View File

@ -0,0 +1,476 @@
# 给学弟学妹们的一封信
大家好我是厨子很荣幸收到地哥的邀请来给大家分享一下我的秋招心得
先说一下本人情况中下游 211 CS专业面试的为 Java 后台开发岗位
再说下我的秋招战绩参加了大概 40 - 50 场面试最长记录是连续通过了 32 场面试目前是拿到了大概 13 个录用意向 腾讯百度等一线一些二线互联网也有银行开发岗和研究所面试前我给自己定的目标是能够拿到 2 个二线互联网公司的 offer 即可入职前可以有个选择没想到远远超过了当时定下的目标
下面我会说一下我的学习路线和面试心得希望能够对学弟学妹们有一丢丢帮助
以下是我的分享大纲
![大纲](https://img-blog.csdnimg.cn/efb4519dec124b758dd5e7330e78af01.png)
## 1.备战秋招前的准备
#### 1选准方向
目前主流的几种方向是 算法岗大数据后台开发前端测试开发等后台开发又可分为 C++开发工程师Java开发工程师等这一步骤大家自己规划可以参考知乎脉脉等一些网站的回答一旦选准自己的方向就不要再轻易改变不然会影响你的复习节奏和进度
#### 2端正态度
我们提到面试大多数人脑子里蹦出的第一个词那就是八股文但是面试真的可以****靠八股文吗
那面试八股文重要吗重要非常重要
那你这不是前后矛盾吗一会说不能只靠八股文一会又说八股文非常重要
哎嘛不要着急听我慢慢说
我们先来看一下一位 Javaer 校招需要准备的东西有哪些
- 数据结构与算法
- 操作系统
- 计算机网络
- Java 基础
- MySQL
- Redis
- Java 并发编程
- Spring 全家桶
- Linux
- 设计模式
- 1-2 两个能拿得出手的项目
上面的内容或多或少会在面试中问到有的面试官侧重于项目有的面试官喜欢问基础知识也就是我们常说的八股还有的面试官喜欢问实际开发中遇到的问题也就是场景题但是我认为面试官在提问之前他们心里已经有他们的答案你如果能说出他心里的那个点然后再对其延伸则有可能让面试官眼前一亮的但是如果你一直没有说出他想要的那个点一昧的对其拓展这个答案或许就有点些冗余
或许面试时面试官想要的状态是看到你对技术的自信知其然知其所以然这样自然而然能够得到一个好的面评
那么我们如何才能做到上面提到的呢那就是看书你会发现看过某个科目 2-3 遍书之后你对这个科目是有自信的因为你有这门科目的知识架构有自己的理解知道它们之间的联系那么你回答时则会得心应手记住是看 2-3 遍哦一遍的话只能大概了解大致脉络不能让自己深刻理解所以到重复看你会发现那些好书每次看的时候都会有新的收获
那么面向面试我们应该如何学习一项新科目呢我们就以 MySQL高频考点来举例吧
第一步调研
这一步很好理解我们需要了解该项技术的经典书籍这样能我们学习时事半功倍我一般是自己进行搜索现在是开源的时代大家都很喜欢分享自己的心得你可以通过知乎论坛等搜索到某项科目的经典书籍但是不要只看一个帖子多看几个这些帖子中多次提到的书籍就是我们的学习目标
![](https://img-blog.csdnimg.cn/a3bc62b23f994897a01d2f3a55b7463a.png)
第二步看面经八股
你刚才还说不能只看八股这刚调研完经典书籍就开始看八股了这不是自己打自己脸吗先别骂先别骂听我接着往下说
这时的八股和面试题是为了让你知道面试时的重点哪些知识点常考这样我们就可以重点看那些常考的章节
那些不常考的知识点就不用看了吗当然也是需要看的因为每个章节之间是有联系的通过前面的章节引出后面的可以帮助我们更好的理解形成自己的体系结构不过这些不是重点的章节可以粗略学习了解即可
第三步看书
这一步我建议大家看纸质书我们可以在书上标注后面二刷三刷的时候也可以根据标注帮我们回忆大家可以在看书的时候自己做一下思维导图帮助我们构建自己的知识体系推荐的软件是 XmindProcessOn
第四步看面经和八股
注意这里是看不是背我们通过面经里的问题来进行归纳整理对面经的问题进行分类然后自己通过翻阅书籍和文章来找到答案进行整理记住哈记得分类后面便于补充也有利于搭建我们的知识体系例如这样
![](https://img-blog.csdnimg.cn/92c846fe20ac4162960927a964b29bac.png)
后面我会在聊聊复习模块给大家推荐一些这个科目还不错的书籍帮助大家进行复习
**另外我建议自己去图书馆或者自习室闭关和准备高考或者考研一样准备秋招朝八晚十每天睡前整理一下今天学到的东西成功不是一蹴而就的需要我们一点一点的积累这个过程充满未知和挑战的所以大家要先调整好自己的心态然后埋头向前**
## 2.聊聊复习
整个模块可以浓缩为一个字那就是早早就是优势秋招对我们来说是非常重要的一场考试所以我们越早准备越有把握
我大概是去年的 9 月份开始准备的感觉稍微晚了一些不过也完全来得及
现在还没有开始准备的同学要行动起来了再晚的话就来不及啦
我秋招时主要准备了以下科目每个科目都看了 1 - 2 本书或课程
- 数据结构与算法
- 操作系统
- 计算机网络
- Java基础
- MySQL
- JVM
- Redis
- Java并发编程
- Spring全家桶
- Linux
- 设计模式
- 1-2两个能拿得出手的项目
星星的数目代表被考到的频率星星越多我被考到的次数越多大家可以先按照我的考察频率进行复习后面再进行微调
### 数据结构与算法
这里可以分为两类同学科班和跨考生
科班同学的话或多或少都会有一些基础所以可以直接上手刷题另外觉得自己有些生疏的话可以看下先快速过一遍大话数据结构帮你快速回忆
如果是非科班的话还是建议大家先系统学习一遍面试时不仅仅是让你手撕代码还会问一些课本上的内容比如某些排序算法的比较等推荐书籍同样是大话数据结构我认为这本书既简单又详尽
刷题时推荐大家使用这两个网站
- Leetcode
- Acwing
前期可以使用 Leetcode 进行刷题刷够一定量之后感觉自己对某些题目有一些思路之后再使用 Acwing Acwing 可以帮助我们模拟考场环境因为你笔试的时候大多都是 Acwing 模式
LeetCode 刷题时可以按照标签刷可以先按照数组每个标签刷几道经典题目等到感觉自己有些自己想法的时候则可以刷leetcode hot 100 剑指 offer前期注重数量后期注重质量把那些经典高频的题目多刷几遍 因为面试时面试官让你写的大多都是经典题目你曾经刷过的那些所以我们要把这些题目烂熟于心
还有极其重要的一点
尽早参加周赛或者计时刷题这样是为了让大家适应笔试面试环境培养思维的敏捷性遇到问题时快速找到突破点这样笔试面试时大家则不会慌张和局促
另外再给大家推荐两个学习算法的仓库吧
- https://github.com/chefyuan/algorithm-base
- https://github.com/youngyangyang04
第一个适合入门选手可以结合大话数据结构一起复习仓库大概有 150 张动画模拟经典的排序算法及二叉树执行逻辑还有一些模块下的经典题目帮助刚开始刷题的同学快速入门培养自信心
另一个是卡尔哥的仓库里面对每个模块下的经典题目都进行了总结非常适合校招的同学基本刷完这些题大家就能够对每个模块有自己的心得啦
算法这块还是建议大家多多重复百炼成钢经典题目多刷几遍
推荐书籍大话数据结构剑指 offer
### 项目
项目的话建议大家准备两个有实习经验的同学可以把自己的实习项目写上这一块也是面试时的重点甚至有的公司一整场面试全在问项目项目我们不仅要提前准备项目中用到的技术点我们也要提前准备并提前思考面试官会问到那些题目并阅读一些相关博客
这一块也要尽早准备不断完善我是之前做过一个含金量还可以的项目然后又**跟着地哥星球里的慕课视频做了一个秒杀项目每行代码都自己打了一遍并加了一些其他功能**所以项目这一块准备的还算充分不过刚开始时也处处碰壁具体原因在下个模块再和大家详细唠
大家这里可以去 Github慕课网哔哩哔哩找一些开源项目自己动手敲一下代码面试时则会更加自信
推荐平台Github哔哩哔哩慕课地哥的星球
### 计算机网络
感觉除了项目计算机网络问的是最多的了三次握手四次挥手HTTPS打开网址的过程七层模型等这些都属于是高频考点另外面试官还会进行一些拓展比如三次握手过程中客户端和服务端的状态变化或者某一次握手时有一方断开会怎样等问题所以我们需要把这一块掌握熟练
我当时的复习路线是这样的
网络是怎么连接的两遍
图解HTTP两遍
图解TCP/IP重点章节阅读2-3遍
计算机网络自顶向下重点章节阅读
趣谈网络协议百分之 60 章节某些章节看了 2-3遍
还有 小林 coding 的一些文章有时候还会用 wireshark 抓一下包刚开始我是很排斥网络的后面学起来越学越有趣算是相对简单的一门课程
我认为大家还是要系统学习一下有自己的知识体系后面对知识点的穿插很有帮助
### Java基础
Java基础的话我没有看太多书籍因为我之前就学习过 Java后面的重点放在了看一些集合的源码上常考的几个集合比如 ArrayListLinkedListHashMapHashTableConcurrentHashMap等我个人建议大家自己 debug 一下跟着执行一遍看下每个函数的逻辑能让你的印象更深刻
剩下的就可以根据某些面经和文章整理一下 Java 常考的面试题后面你会发现面试的时候这块的问题都被你掌握啦
所以这块的学习重点就放在容器源码的阅读和面经上吧另外如果没有学习过 Java 的同学可以看下这个视频看了几个视频感觉这个讲的最好https://www.bilibili.com/video/BV1uJ411k7wy?from=search&seid=7142847222883537630&spm_id_from=333.337.0.0
推荐书籍Java编程思想Java核心技术卷
### MySQL
数据库也算准备的比较充分因为之前我写过挺多 SQL 语句并且把牛客 80 SQL 题都给刷了并且还阅读了一些书籍主要有以下几种没有基础的同学可以按这个路线学习
- MySQL 必知必会一遍
一本小册子一天就能搞定帮你快速入门 MySQL另外大家在学习时可以自己下载一下 MySQL 官方的学习库然后自己动手实践一下虽然速度慢了一些但是能够让你学习的更加扎实
![在这里插入图片描述](https://img-blog.csdnimg.cn/94505d023f6e4cf9ab179925ac7420a6.png)
官方的 employees 我们可以用来练习一下连接explains 命令等
- 数据库系统概论好多遍之前总看这本书
玫红色书皮的那本书很多学校用来当作教材这本书对数据库基础知识查询语句范式等讲的比较详细这本书因为我之前学过几遍后面再看的时候很快就读完了个人认为还不错的一本书有的学校研究生复试会考数据库那么可以看下这本书考点全面覆盖
- 高性能 MySQL重点章节若干遍
非常牛皮的一本书很多知识点在里面讲的很细适合进阶的同学如果你看了这本书面试时常考的那些知识点你就可以得心应手啦
- MySQL 技术内幕重点章节
这本书我没有完整的看下来看了部分章节比如那些常考的知识点事务索引等也是非常棒的一本书推荐给面试的同学
- MySQL 45 看了百分之 70 大概某些章节反复阅读
这门课我看了大概百分之七十前面的十几讲 看了大概 3-4 每次都有新收获这门课适合有一定基础的同学如果没有学过 MySQL 的话看的时候可能会有些吃力
- 从根上理解 MySQL某些章节
这个是掘金小册也非常棒但是我发现的有点晚了后面抽着看了大概 1/ 2 小册子对某个知识点说的很细很透
视频的话我看的比较少之前看过 MOOC 哈工大战德臣 老师的课程非常牛的一位老师讲课风格也很棒没有基础的同学可以看一下这个视频
### 操作系统
操作系统的话相对网络考的少一些不过也是一门重点科目大家可以结合哔哩哔哩的视频进行学习感觉这门科目比网络难一些基础较薄弱的同学可以看下王道或者天勤就是考研书籍那里写的没有那么复杂可能帮助你快速入门后面的话再针对某些重点阅读其他书籍进行深入学习
推荐视频https://www.bilibili.com/video/BV1d4411v7u7?from=search&seid=6302178952751913801&spm_id_from=333.337.0.0
https://www.bilibili.com/video/BV1uW411f72n?from=search&seid=6302178952751913801&spm_id_from=333.337.0.0
推荐书籍操作系统考研书籍深入理解计算机系统小林Coding 图解操作系统 电子书
### JVM
JVM 的话我只看了深入理解 Java 虚拟机看了大概 3 遍吧后面的话则结合面经重点看某些章节感觉考察最多的还是垃圾回收算法和垃圾收集器等比如 CMSG1这些都是一些高频问题
个人建议大家可以先通过书快速学习快速学习时如果遇到看不懂的地方可以先做好标记等后面二刷三刷时再认真阅读后面可以再结合面经对重点章节深入学习
这一块的话对于 Javaer 来说也属于必考的科目大家需要认真学习
### Redis
虽然我之前没有用过 Redis但是我感觉这门科目还是比较容易入门的我主要看了两本书
Redis设计与实现这本书看了大概三遍吧非常简单且全面的一本书
Redis核心技术与实战这是极客时间的一门课程后面的话主要是看这门课程某些重点章节看了好几遍还自己安装了 Redis进行实践并用到项目上
考察比较多的问题就是底层数据结构数据表现形式数据不一致性问题穿透击穿等都相对比较简单看过书的话基本都不会有太大问题不过这一门课也是考察重点大家需要认真学习
### Java高并发
这门课我也主要看了两本书
Java并发编程之美一遍半
Java并发程序设计两遍
感觉第一本书可以帮助我们入门对一些锁和容器线程安全等概念有一些了解后面的话可以看Java并发程序设计我认为这本书非常好当时看了两遍还做了笔记并自己动手实践和看了一些线程安全容器的代码
这一块我也没有特别多的心得因为我感觉我自己学的也不太好勉强可以应付面试不过我的建议是自己多动手实践对技术保持热情
常考的问题synchronized 底层原理volatile底层原理ReentrantLock底层原理线程池等这一门科目也是 Javaer 必考科目大家需要认真学习
### Linux
这个的话考察的还比较多因为平常我也会使用 Linux 所以这一块也没有太为难这个在以后的企业开发中会经常使用所以我们有必要提前进行学习个人建议时间充裕的话可以看下 UNIX网络编程那本书虽然比较厚但是干货满满啃完之后能够收获很多
### 设计模式
设计模式的话考察的不是特别多不过也被问了几次经常的话就是让你手写一个单例模式或者让你介绍你熟悉的几种设计模式不会考察的太深大家可以通过这个网站进行学习
https://refactoringguru.cn/design-patterns/structural-patterns
或者通过大话设计模式进行学习了解几种常见的设计模式足够应付面试啦
### Spring全家桶
这一块的话我主要是看的视频面试时问的也不太多校招的话更多的还是注重基础知识不过我们的项目中会经常被问到
大家可以看下这个 UP 的视频我认为讲的很不错通俗易懂
https://www.bilibili.com/video/BV1Cv411p7cQ?spm_id_from=333.999.0.0
大家不要白嫖人家的视频哈顺手给人点个赞
## 3.说说面试
面试模块分为投递面试前面试中面试后 四个模块我们分别对这四个模块详细介绍
### 1投递
投递前我们首先有一份自己的简历大家不要忽略简历的重要性简历是我们的敲门砖是进入大厂的第一步
你的技术很牛批你要在你的简历中展现出来不然简历都过不了面试机会都没有拿什么去给面试官吹牛呢
所以简历这一关至关重要
你的简历应该多次迭代不要从头至尾只用一个简历我大概迭代了快 20 个版本有时候还会针对公司的应聘要求进行微调并且面试互联网和研究所国企室使用不同的简历互联网公司或许更加注重技术层面而国企和研究所或许要求更加全面一些比如学生干部的经历
简历中切记不要有错别字和错行没有对齐的情况简历是你的门面从简历中就可以看出你这个人做事是否认真
还有需要注意的地方是 Java 不要写成 java Python 不要写成 python诸如此类的细节也需要注意
另外投递时建议大家可以先投些小厂和中厂先提前积累一些面试经验然后再进行进攻你心仪的公司你想想是有若干场面试的老油条通过大厂面试的概率大还是没有面试经验的小白大呢
### 2面试前
#### 流程介绍
在这里先给大家介绍一下面试的流程
![在这里插入图片描述](https://img-blog.csdnimg.cn/5eaef7dc6d2b4c988724cdc31463320e.png)
上面绿色的步骤则是有可能被淘汰的步骤
当然有的公司校招技术面是两面或者没有 HR 看具体情况不过大部分流程是这样的
从上面的流程来看顺利通过面试拿到一个 offer 不是特别容易的事所以我们需要认真准备努力通关顺利拿到 offer
我们今天来说一下刷人比较多的步骤
##### 笔试
笔试淘汰率还是比较高的不过具体的淘汰率要视公司耳钉笔试成绩好的话面试的时候会是加分项这一关没有别的好办法那就是多刷题借用野球帝的一句话多多重复百炼成钢不过建议大家多练练 ACM 模式因为很多公司都是需要自己写输入输出的大家可以去 **Acwing** 多多练习百度搜即可
##### 技术一面
一面面试官大多喜欢考察这些问题基础知识也就是我们常说的八股文+项目+开放性问题+手撕算法
不过也不绝对有的面试官他就不直接问你八股而是将那些基础知识渗透到实际开发中遇到某些情况是该如何解决以此来考察你是否具体了解了某个知识点就比如给你一个 SQL 语句问你应该在哪个属性上创建索引最好为什么这样做这时候如果你平时只背八股文可能就会答的不是特别好
具体说明大家可以看这篇文章
另外项目建议大家早准备然后慢慢完善并且自己提前思考面试时面试官可能问到的点然后拓展学习做到有备无患
算法题的话大多都是一些简单或者中等的经典题目大家平常多重复积累即可也有的面试官会给你一个算法题让你说思路不用动手写这个看面试官
另外面试官让你写算法题的时候不仅仅是考察你的算法能力也是在考察你的代码是否规范所以各位平常刷题的时候一定要注意代码规范该大写的大写该小写的小写注意空格和换行毕竟谁看到一堆写的贼乱的代码都会头疼
如果你的算法题思路干净代码整洁那是不是能够让面试官眼前一亮嘞
##### 技术二面
能够进入二面说明你的表达能力和基础知识是没有问题的
所以二面的面试官多是对你的项目进行拓展和深挖
比如项目中某个点如何实现遇到某些问题应该如何解决项目中印象最深的点是哪里你认为你的项目有什么不足项目开发过程中遇到了什么困难拓展的话则会是根据具体项目来拓展
另外项目的介绍也非常重要一般刚开始面试官会让你介绍一下项目的整体架构所以这时候我们需要用简洁的语言向面试官讲清楚项目架构让他能够搞懂你的项目了解项目背景
所以项目介绍和一些项目中的问题我们可以提前准备拓展问题的话因为都是围绕项目来的也不会是太偏的问题
##### 技术三面
技术三面多是一些领导经过了一面二面之后说明前两个面试官对你的技术是认可的三面面试官则会考察的更加全面问的问题也会更加广泛一般也会先让你聊聊项目对项目中的某个点进行提问问问你学校的研究方向等
##### HR 面试
HR 面试的话一般就不涉及技术问题了多是问一些生活上的问题对你的价值观性格等做一些简要了解比较常见的问题有这些
你找工作时比较看重的几点
你现在都拿到了哪些公司的 offer
你对自己的职业生涯有什么规划
说说你自己的优缺点
HR 面基本就是唠嗑局还挺有意思的
好啦到这里我们大概了解了面试流程那么面试前我们应该做什么呢
我每次面试之前都会花一些时间看一下之前的面经和自己整理的重点以便面试时可以快速的答出来保持一个熟练度因为更加熟练的回答会显得你更加自信掌握的更加扎实
#### 面试形式
**一对一**
这种形式比较常见一个面试官对一个学生通过这个面试后则会在若干时间内参加另一个面试官的面试大厂一般都是三轮技术面小厂的话则两轮
**一对多**
一个学生多个面试官俗称群面这种面试形式多是在一些银行或者国企一个会议多个面试官同时进入然后轮流进行提问每人大概十几分钟就是把后面几轮面试都集中在了一场
**多对一**
非常新颖的面试方式一个面试官多个学生多是在终面里会以小组讨论的形式几个同学针对某个产品进行讨论各抒己见从各个方面分析产品并在最后对讨论进行总结虽然只有一个面试官在会议里但是后面会有其他面试官旁听这场讨论如果你在这场讨论中能够让旁听的领导留下深刻的印象后面则会有大领导联系你想和你聊聊之类的俺有幸被大领导喊着聊了半个钟头就闲聊这半个钟头让我受益匪浅
这种面试考察的则更加全面表达能力思维逻辑看你能不能够在小组讨论中脱颖而出个人还是比较喜欢这种面试方式让我更加放得开
### 3面试中
这里给大家介绍一下面试中需要注意的几个点这几个点把握不好有可能就会导致你和 offer 失之交臂
#### 自我介绍
我认为自我介绍是非常非常重要的一环这是你能够自由发挥向面试官展示自己的地方让面试官了解你的地方我们应该好好把握住这个机会
所以我建议大家应该提前写好自我介绍并不断迭代面试前将其背下来时长大概为 2 - 3 分钟
我们在这两三分钟努力展现出自己的优势展现出积极向上好学等品质比如你获得了什么奖学金参加了什么比赛有什么爱好并且将爱好变成了特长考了一些证书等这一块大家可以自由发挥但是要认真对待我认为真的非常重要
#### 面试时的态度
浓缩为几个字自信且谦虚
不过自信源于自身实力所以需要前期好好准备
面试时要对自己自信有内而外的自信给面试官一种你会的很多的感觉即使内心慌的一批不过这个自信的感觉会随着你面试的次数增加而增加刚开始面试时会很紧张后面的话对你就洒洒水啦
谦虚自信和谦虚并不矛盾自信不是自傲是对自己实力的肯定而不是目中无人在生活中亦是如此
给面试官一种谦虚好学的感觉能够让你的面试更加顺利
#### 反问环节
反问环节也非常重要一个坏的提问有可能让你全盘皆输我们也可以通过面试官对你回答问题的认真程度来判断面试官对你的态度
如果面试官如果很认真的在回答你的问题那么你的这场面试八成有戏反问时我们可以问以下几个问题即使不加分也不会减分
**公司的新人培养制度**
我们也可以换个方式提问可以说自己企业级开发经验较少技术不够成熟咱们公司的话是如何针对应届生入职培训的怎么来帮助校招生快速适应企业级开发的一方面展示了自己谦虚的态度另一方面又表示对该公司感兴趣希望可以入职
**该部门的主要业务**
这个问题可以表现出你对这个部门感兴趣如果面试官很认真的在给你回答并且使劲夸他们部门多么多么好那多半这场面试有戏了
**您觉得我应该在入职前具备哪些特性才能够更好的胜任这份工作**
这个问题可以展现出自己谦虚好学的一面还能通过面试官的回答知道自己哪里需要提升
另外建议大家反问环节不要问面试官加班情况薪资待遇福利等因为这个时候你还没有通过面试此时提问不太合适这些问题在后面都会告诉你的
对还有一点我们应该珍惜我们每一次的面试机会不仅仅是面试机会来之不易更多的是多了一些和前辈们面试官交流的机会一个很好的学习机会尤其是三面的时候因为那个层面的面试官多是技术大牛思维眼界远高于我们所以有时候他们说的某些话能够让你受益匪浅
不过我们也不用因为他们是技术大牛就让自己唯唯诺诺变得不自信面试是一个双选的过程我们可以通过这场面试来了解彼此他们判断你是否适合这个部门我们判断这个部门是否适合自己可以通过面试官提问的问题面试体验精神面貌等来判断这个部门是否适合自己
### 4面试后
另外面试后我们应该尽快复盘这场面试吸收掉这场这场面试刚开始时我是对这场面试进行录屏面试结束后观看录屏看自己哪块需要提升哪些问题回答的不好然后进行查阅资料完善自己武器库
面试中有没有咬字不清摇头晃脑的情况然后再对其进行总结在下场面试中进行改正
随着你面试的次数增加你复盘所花的时间也就越来越少后面的话我则是只录音不录屏看自己哪个问题答的不够透彻哪些问题没有回答到重点然后快速翻阅图书或者查询文章对这个问题进行完善
在面试中进步是最快的你参加的多了也就不紧张了
## 4.心态
不知道我说了一堆废话 有没有人看到这里或许有人好奇为什么把心态放在最后而且还自己占了一个模块
我觉得心态在秋招中至关重要
因为我们都是普通人不可能通过所有的面试
那么我们面试失败后应该怎么做呢
可以难受吗可以但是只能今天难受吃个饭睡个觉第二天该干啥干啥你失败的面试对你以后的面试更加重要因为失败面试中问到的问题则是你的薄弱之处需要改进的地方把这场面试吃透则能让你收获很多下次也就不会在同样的地方失败我们既要有保持学习的谦虚也要有你们淘汰我是你们损失的傲气相信自己就完事啦
其实我刚开始参加大厂面试时也是连连碰壁连续参加了三个大厂的提前批都在折戟在二面后面经过复盘我发现二面问的更加深入多是基于项目进行拓展所以我后面着重针对项目进行拓展阅读一些博客尽可能思考面试中可能会提问的点
对项目进行充分准备之后则连续通过了后面的 30 多场面试拿到了 10 offer
其实我觉得失败一点不可怕一点点都不可怕的是失败后我们一蹶不振并且不进行改进下次面试时仍被相同的问题难住再次失败我们在一次次失败中进步我相信你一定能够拿到满意的 offer
另外再送给大家一句话相信自己你是一个不可多得的人才他们在面试你你同样也在面试他们最后能不能入职就看彼此是否有缘
好啦就唠到这啦拜了个拜我是厨子一位普通的球友希望大家在秋招中都能够拿到自己满意的 offer