mirror of
https://github.com/chefyuan/algorithm-base.git
synced 2024-12-01 00:08:53 +00:00
Compare commits
4 Commits
6593e8e5f8
...
b983af03f7
Author | SHA1 | Date | |
---|---|---|---|
|
b983af03f7 | ||
|
0b72191edf | ||
|
34936257b6 | ||
|
653ba54521 |
10
README.md
10
README.md
@ -53,7 +53,7 @@
|
||||
|
||||
> [**下载地址**](https://wwr.lanzoui.com/iJT03ty9ycd)
|
||||
|
||||
想要手机阅读的大佬,可以来我的[公众号:袁厨的算法小屋](https://cdn.jsdelivr.net/gh/tan45du/test@master/微信图片_20210320152235.wp1ysdbibsw.png)进行阅读,两个平台同步更新,另外想要和题友们一起刷题**的同学可以来我的小屋,**点击**刷题小队**进入,另外群里老哥还会不定期发布内推消息,面经等,需要的可以进一下,不过来的时候**记得备注**,希望这个群能对你们有一丢丢帮助吧,一起加油。
|
||||
想要手机阅读的大佬,可以来我的[公众号:袁厨的算法小屋](https://cdn.jsdelivr.net/gh/tan45du/test@master/微信图片_20210320152235.wp1ysdbibsw.png)进行阅读,两个平台同步更新,另外我最近建了一个秋招群,主要面向 2023 届,具体细节可以看这篇文章,[建了一个秋招群(2023)](https://mp.weixin.qq.com/s/nWcyTu8a-FXXgYjO4Sra1Q)需要的同学可以扫描二维码,点击求职交流,选择校招/社招。
|
||||
|
||||
<div align="center"> <img src="https://cdn.jsdelivr.net/gh/tan45du/test@master/美化.1kdnk85ce5c0.png" width = "150px" hight = "150px"/> </div>
|
||||
|
||||
@ -241,14 +241,6 @@
|
||||
- [从大学到秋招,我如何拿下腾讯 offer](https://mp.weixin.qq.com/s/-Uez375ECoBda_a3coOegw)
|
||||
- [在腾讯连拿六个五星](https://mp.weixin.qq.com/s/tgSgZ-VeZwqyQYiMu2a4HQ)
|
||||
|
||||
### 🍖 其他知识
|
||||
|
||||
- [C++程序喵大人 ](https://github.com/fightingwangzq/cpp-learning)
|
||||
- [C++拓跋阿秀](https://github.com/forthespada/InterviewGuide)
|
||||
- [编程资源](https://www.code-nav.cn)
|
||||
- [腾讯云开发鱼皮](https://github.com/liyupi)
|
||||
- [架构雷架](https://github.com/smileArchitect/JavaMap)
|
||||
|
||||
### 🍰 数据库学习
|
||||
|
||||
- [100 道 mysql 经典面试题](https://mp.weixin.qq.com/s/aFoFHGFJXhP4gMWzYhB0Tw)
|
||||
|
BIN
animation-simulation/.DS_Store
vendored
BIN
animation-simulation/.DS_Store
vendored
Binary file not shown.
BIN
animation-simulation/写写水文/.DS_Store
vendored
BIN
animation-simulation/写写水文/.DS_Store
vendored
Binary file not shown.
0
animation-simulation/写写水文/HR 问你职业规划.md
Normal file
0
animation-simulation/写写水文/HR 问你职业规划.md
Normal file
0
animation-simulation/写写水文/SQL题目.md
Normal file
0
animation-simulation/写写水文/SQL题目.md
Normal file
0
animation-simulation/写写水文/你是如何学习技术的.md
Normal file
0
animation-simulation/写写水文/你是如何学习技术的.md
Normal file
139
animation-simulation/写写水文/学弟问了我一个问题.md
Normal file
139
animation-simulation/写写水文/学弟问了我一个问题.md
Normal file
@ -0,0 +1,139 @@
|
||||
一位学弟,问了我一个问题。
|
||||
|
||||
![问题描述](https://img-blog.csdnimg.cn/93cb8f9ccbe442a1bec05fff68a2e8e3.png)
|
||||
|
||||
我在这里说一下我的看法,希望能够对有相同问题的学弟学妹,有一丢丢帮助。也欢迎各位大佬,在评论区写下自己的看法。作为感谢,我会从中选出 3 个最用心的评论,送出 3 个不大不小的红包。先在这里替学弟学妹们谢谢各位大佬嘞。
|
||||
|
||||
回想自身
|
||||
|
||||
我似乎从来没想过这个问题?
|
||||
|
||||
读大学的时候,每天的想法不是,不是今天学点啥,吃点啥,玩个啥游戏开心开心,每天想的是,我怎么练球才能把我哥们打爆,斗牛时,说垃圾话,怎么才能不落下风。寒暑假的时候,能够大冬天搁水泥地(不是篮球场,是一块空地)拍球,拍两三个小时,就是为了开学的时候,把他们斩于马下。
|
||||
|
||||
就这样打着打着篮球,忽然就到大三下学期了,然后就听到谁谁谁去哪个大厂实习啦,谁谁谁参加什么比赛得奖啦。
|
||||
|
||||
好家伙,我慌了啊。
|
||||
|
||||
突然不知道自己该干啥了,打球打球,打个锤子球,马上就毕业啦,心里咋就没数呢?
|
||||
|
||||
那天晚上我失眠了,也在那天晚上,做了一个可能影响我一生的决定。
|
||||
|
||||
嗯,我决定考研!
|
||||
|
||||
其实说白了,也就是为了逃避就业,为自己的菜找个借口。
|
||||
|
||||
第二天醒来,就直接背着书去了自习室,开始了朝 8 晚 10 的复习之路。从决定考研到考研前夕,为期八个多月的备考,我打球的次数不会超过 5 次,休息的总天数不会超过 3 天。
|
||||
|
||||
每次哥们叫我打球,我总是找一些借口推掉了,渐渐的他们打球的时候也就不喊我了,我也就安心准备考研啦。
|
||||
|
||||
备考的这段时间,我一直没有忘记锻炼,我会隔一天去一次健身房,每次锻炼一个半小时。我觉得我能坚持到考研,健身房也有很大的功劳。
|
||||
|
||||
毕竟备考还是很累的,一坐就是一整天,中午也不回宿舍睡觉,就在桌子上趴一会。所以要有一个好身体,才能扛得住。
|
||||
|
||||
读者:你这说了一堆,和你学弟问的问题也没啥关系啊!
|
||||
|
||||
厨子:哎嘛,别急别急,即然说啦,肯定是有用的的,马上就说到重点啦。
|
||||
|
||||
通过上面我的例子,我认为完成某个目标需要具备这几个特点。
|
||||
|
||||
- 抹平信息差
|
||||
- 执行力
|
||||
- 持之以恒
|
||||
|
||||
**抹平信息差**
|
||||
|
||||
其实很多时候,我们和别人都有信息差距,进而导致思维上的差距,然而思维上的差距是最难缩短的。
|
||||
|
||||
我们为什么考大学考研究生时,想要考好大学,毕业后想去大公司。
|
||||
|
||||
大公司好呀,钱多,福利好,技术氛围好。
|
||||
|
||||
嗯是的,进入好学校和好公司都可以理解成进入了一个好的平台。之前和一位 HR 聊了挺久,交谈中的一句话,让我仍记忆犹新。
|
||||
|
||||
应届生入职时,平台带给你的,远远大于你自身技术带给你的。
|
||||
|
||||
暂且不论这句话是对是错,聊天结束后我思考了这句话的含义,以下是我对这句话,某一个方面的理解。
|
||||
|
||||
在好的平台里,你会多了很多和大牛们交流的机会,耳濡目染,能够帮助你提升思维,帮助你消除信息差。学习他们的学习方式,交流方式等。
|
||||
|
||||
这个过程中,你可能意识不到你的进步,但是如果你养成记录的习惯,回过头来再看的话,你会发现自己真的进步很大,而且进步的过程本来就是悄无声息,而是在之后的某一时刻,你才会发现你进步了。
|
||||
|
||||
当然好的平台带给我们的远远不止这一点,而且我们每个人对 “好” 的定义也不相同,就不在这详细说啦。
|
||||
|
||||
我认为抹平信息差是完成某个目标的要做的第一件事,完成目标前,我们要先定下目标。
|
||||
|
||||
本科的时候,我们很多人甚至都不知道有保研,秋招,比赛这一说,你敢信?
|
||||
|
||||
**作为大学生的你们则可以通过一下几种方法帮助你们抹平信息差**
|
||||
|
||||
1.请教往届的师兄师姐,他们的经验分享或许对你帮助很大。
|
||||
|
||||
2.通过某些途径,看一些前辈的分享求职分享或者学习路线等,比如知乎,牛客,脉脉等。
|
||||
|
||||
就拿考研来说,如果你看过,其他师兄师姐的考研心得,那么你就有可能少走很多弯路,复习的更加充分,上岸的几率则更大。
|
||||
|
||||
有的时候,我们缺少和前辈面对面交流的机会,但是从他们的文字中,也能够学到很多。
|
||||
|
||||
3.多和比你优秀的人交流。
|
||||
|
||||
就比如《孔子家语》中的一句话,与善人居,如入芝兰之室,久而不闻其香,即与之化矣。这句话的意思是,与品行优良的人共同居住,就好比是进入栽满了芝兰香草的雅室,时间久了就闻不到香味了,因为他已经被同化了,变得同样的品行优良。
|
||||
|
||||
思维高度亦是如此。
|
||||
|
||||
**执行力**
|
||||
|
||||
如果我们将抹平信息差,看成是通过前辈们的指导,找到了满是成熟果实的果园,那么执行力就可以比做摘果子的竹竿。
|
||||
|
||||
我们不要想着我们找到了果园,就能够硕果累累。果实是有成熟期的,如果在特定的时间不摘的话,就会腐烂(机会流逝)。
|
||||
|
||||
所以我们想到什么事有搞头,就抓紧去做吧,不然,只会让机会白白流走。
|
||||
|
||||
种一棵树最好的时间是十年前,其次是现在。
|
||||
|
||||
这句话,没毛病,但是我们为什么不把握最好的时间,而是要退而求其次呢?
|
||||
|
||||
很多时候,我们都是通过和身边人的比较,而知道自身水平。
|
||||
|
||||
所以如果身边的人都在进步,你停滞不前,到你发现的时候, 欲望更大,需要的更多,所承受的压力则会更大。
|
||||
|
||||
所以现在觉得有搞头,就快闷着头往前冲吧!
|
||||
|
||||
**持之以恒**
|
||||
|
||||
写到这的时候,感觉要写不下去了,说的这些感觉大家都知道,但是没有经历过的话,很难有深刻理解。本科时,我浪费掉了太多时间,所以真的希望学弟学妹们能够把握当下,这四年真的能够学到太多东西。
|
||||
|
||||
还是接着往下说吧。
|
||||
|
||||
我们现在已经在**满是成熟果实**的果园里打果子啦。如果我们三天打鱼两天晒网,别人果园的果实都打完了,开始找下一个果园了,你的这个还没打一半,这可咋整。
|
||||
|
||||
所以我们在给自己定下目标之后,坚持下去。
|
||||
|
||||
我们可以通过一下几种方法帮助我们坚持。
|
||||
|
||||
**正反馈**
|
||||
|
||||
设立奖励机制,我们完成某个小目标之后,则可以奖励给自己某些东西,比如吃些自己想吃的,买些自己之前想买,但是没买的东西。就比如我之前考研的时候,我会在每天早上,给自己设定好,自己今天要做的题目。
|
||||
|
||||
设定过今天的学习目标之后,则能让我学习效率大幅度提升,努力完成今天的目标,完成之后,则会在回宿舍的时候,奖励自己好吃的。
|
||||
|
||||
**闭关**
|
||||
|
||||
是的,闭关。无论是考研的时候,还是准备秋招的时候,我都是自己一人去图书馆,然后将手机锁机,开始学习。
|
||||
|
||||
我觉得最好的学习状态就是,保证作息规律,每天重复同样的事,吃饭,学习,睡觉。
|
||||
|
||||
进入这个状态之后,你会非常的想学习,对学习之外的事,兴趣就变得没有之前那么大,自然而然的就坚持下来啦。
|
||||
|
||||
**回溯**
|
||||
|
||||
其实这个也和正反馈一致,我们可以每天晚上,整理今日所学。整理过后,你会发现你今天学到了很多东西,就会非常充实和踏实。感觉今天一天没有白过。自然而然的形成良性循环,帮助你坚持下去。
|
||||
|
||||
当然我们一定要注意锻炼,身体是革命的本钱,身体和脑子有一个动就好啦。
|
||||
|
||||
授人以鱼,不如授人以渔。希望这篇文章,能够对迷茫的学弟学妹有一丢丢帮助。这篇文章不是假大空,是我经历过,感觉浪费掉的大把时间真的可惜。
|
||||
|
||||
虽然人生是个长跑,不是冲刺跑。某个时期对你的影响,没有你想象的那么大,只要我们保持向上的心就好。
|
||||
|
||||
如果给我重新读大学的机会,我仍然会和哥们们好好打球,不过我会努力抹平信息差,对自己的职业生涯好好规划。
|
||||
|
||||
如果觉得这篇文章对你有点用,那就帮忙转发给你的朋友吧。好啦,今天就唠到这吧,拜了个拜。
|
@ -1,4 +1,4 @@
|
||||
今天不和大家吹牛玩了,唠唠嗑吧,说几个我逛 B 站经常看的几位 UP 主吧。看看里面有没有你关注滴。我知道在做的各位,很多都是在 B 站学跳舞的 🐶,我看的比较多的则是搞笑 UP,他们可都太逗了。
|
||||
今天不和大家吹牛玩了,唠唠嗑吧,说几个我逛 B 站经常看的几位 UP 主吧。看看里面有没有你关注滴。我知道在做的各位,很多都是在 B 站学跳舞的 🐶,我看的比较多的则是搞笑区 UP,他们可都太逗了。
|
||||
|
||||
### 导演小策
|
||||
|
||||
@ -11,3 +11,67 @@
|
||||
![](https://img-blog.csdnimg.cn/27b3da9294ee4378a8b392adae3bfe5f.png)
|
||||
|
||||
广场舞巨头鹅姨,鹅姨的跟班二花,会说 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 秋招的学弟学妹们,要尽快准备起来啦,早就是优势。
|
||||
|
||||
今天就唠到这吧,拜了个拜。
|
||||
|
166
animation-simulation/写写水文/秋招心得.md
Normal file
166
animation-simulation/写写水文/秋招心得.md
Normal file
@ -0,0 +1,166 @@
|
||||
### 背景
|
||||
|
||||
某中上 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**c:rpc 是分布式系统中最重要的一环,可以参考 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
|
||||
//1、cin的效率不如scanf,cin会有缓冲区。可以参考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
|
||||
}
|
||||
```
|
||||
|
||||
### 关于面试
|
||||
|
||||
- **面经非常重要**,面试中一半的问题都可以在牛客面经中找到。因此可以找牛客上相关高质量的面经自己做整理然后过一遍。
|
||||
- 面试一般分为**基础知识**和**项目经历**两部分,如果项目经历比较少就会着重问基础,如果面试官对项目经历感兴趣可能全部都会问项目。
|
||||
- 项目上每一个点,都要问自己:**除了这样做还能怎么做,你为什么选择这样做,这样做的优点是什么,以及这样做的底层是怎么实现的**。比如我做的网络库,最常见的问题:select,poll,epoll 优缺点,选择的原因,底层原理。当你回答完之后,再往下挖,可能就会问 epoll 为什么用红黑树,红黑树的底层原理和优缺点。知识点要学会发散。比如问完红黑树,面试官可能会问你其他的树和数据结构,比如 avl 树和红黑树的区别,红黑树和快表的区别。再发散问,可能问 redis 为什么用快表不用红黑树。总之,在准备面试时也要**学会发散地思考**。
|
||||
- 很多时候,面试官可能不了解 C++,或者说投递的岗位不是用的 C++,所以面试官不会问很多 C++的知识,而是会问一些操作系统或者网络或者数据库等通用的知识,因此这些**通用的基础知识一定要扎实**,否则怎么能比得过那些语言对口的竞争者呢
|
||||
- **掌握主动权**,面试官的问题很多都是从你的角度来问的,比如你的简历提到了 xxx,那么你讲一下 xxx 吧。再比如,你刚刚回答里面提到了 xxx,那么你讲一下 xxx。所以,自己是能够掌握一些面试中的主动权的。因此,自己掌握的知识点和看过的书都可以在简历上有所体现,在简历中的每一个点都足够熟悉,不熟悉的不放上去。然后在回答问题中,也要尽量回答自己熟悉的点,对于不熟悉的点可以快速带过,对熟悉的点可以适当展开。
|
||||
- 面试过程中要**适当反问面试官,了解面试官提问的意图**,可也以让他给你做适当的提示。比如一个很泛的问题可能你觉得有好几个方面,所以要了解面试官想让你深入哪个方面。
|
||||
|
||||
### 总结
|
||||
|
||||
- 以上是个人的一点心得,仅供参考,不一定适合所有人。因为自己导师比较放养,给了我很多空闲的时间可以去学习自己感兴趣的东西,也真的非常感谢我的导师,希望能让我顺利毕业哈哈哈。后续我也会整理一些面经,希望能帮助到大家。
|
471
animation-simulation/写写水文/给师弟师妹的一封信.md
Normal file
471
animation-simulation/写写水文/给师弟师妹的一封信.md
Normal file
@ -0,0 +1,471 @@
|
||||
# 给学弟学妹们的一封信
|
||||
|
||||
大家好,我是厨子,很荣幸收到地哥的邀请,来给大家分享一下我的秋招心得。
|
||||
|
||||
先说一下本人情况,中下游 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)
|
||||
|
||||
第二步:看面经(八股)
|
||||
|
||||
啥?你刚才还说不能只看八股,这刚调研完经典书籍,就开始看八股了?这不是自己打自己脸吗?先别骂,先别骂,听我接着往下说。
|
||||
|
||||
这时的八股和面试题,是为了让你知道面试时的重点,哪些知识点常考,这样我们就可以重点看那些常考的章节。
|
||||
|
||||
那些不常考的知识点就不用看了吗?当然也是需要看的,因为每个章节之间是有联系的,通过前面的章节引出后面的,可以帮助我们更好的理解,形成自己的体系结构。不过这些不是重点的章节,可以粗略学习,了解即可。
|
||||
|
||||
第三步:看书
|
||||
|
||||
这一步我建议大家看纸质书,我们可以在书上标注,后面二刷三刷的时候,也可以根据标注帮我们回忆。大家可以在看书的时候,自己做一下思维导图,帮助我们构建自己的知识体系。推荐的软件是 Xmind,ProcessOn。
|
||||
|
||||
第四步:看面经和八股
|
||||
|
||||
注意,这里是看不是背,我们通过面经里的问题来进行归纳整理,对面经的问题进行分类,然后自己通过翻阅书籍和文章来找到答案进行整理,记住哈,记得分类,后面便于补充,也有利于搭建我们的知识体系,例如这样
|
||||
|
||||
![](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,后面的重点放在了看一些集合的源码上,常考的几个集合,比如 ArrayList,LinkedList,HashMap,HashTable,ConcurrentHashMap 等,我个人建议大家自己 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 遍吧。后面的话则结合面经重点看某些章节,感觉考察最多的还是垃圾回收算法和垃圾收集器等,比如 CMS,G1。这些都是一些高频问题。
|
||||
|
||||
个人建议大家可以先通过书快速学习,快速学习时,如果遇到看不懂的地方,可以先做好标记,等后面二刷,三刷时再认真阅读,后面可以再结合面经,对重点章节深入学习。
|
||||
|
||||
这一块的话,对于 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。
|
0
animation-simulation/写写水文/重读活着.md
Normal file
0
animation-simulation/写写水文/重读活着.md
Normal file
Loading…
Reference in New Issue
Block a user