diff --git a/docs/.vuepress/sidebar/books.ts b/docs/.vuepress/sidebar/books.ts index 95984433..4eb3f76b 100644 --- a/docs/.vuepress/sidebar/books.ts +++ b/docs/.vuepress/sidebar/books.ts @@ -2,26 +2,32 @@ export const books = [ { text: "计算机基础", link: "cs-basics", + icon: "computer", }, { text: "数据库", link: "database", + icon: "database", }, { text: "搜索引擎", link: "search-engine", + icon: "search", }, { text: "Java", link: "java", + icon: "java", }, { text: "软件质量", link: "software-quality", + icon: "highavailable", }, { text: "分布式", link: "distributed-system", + icon: "distributed-network", }, ]; diff --git a/docs/.vuepress/sidebar/high-quality-technical-articles.ts b/docs/.vuepress/sidebar/high-quality-technical-articles.ts index 78fd27dc..115d679b 100644 --- a/docs/.vuepress/sidebar/high-quality-technical-articles.ts +++ b/docs/.vuepress/sidebar/high-quality-technical-articles.ts @@ -41,6 +41,7 @@ export const highQualityTechnicalArticles = [ "technical-preliminary-preparation", "screen-candidates-for-packaging", "summary-of-spring-recruitment", + "my-personal-experience-in-2021", "how-to-examine-the-technical-ability-of-programmers-in-the-first-test-of-technology", "some-secrets-about-alibaba-interview", ], diff --git a/docs/.vuepress/sidebar/open-source-project.ts b/docs/.vuepress/sidebar/open-source-project.ts index 0a24bc22..a6f22c7b 100644 --- a/docs/.vuepress/sidebar/open-source-project.ts +++ b/docs/.vuepress/sidebar/open-source-project.ts @@ -2,29 +2,36 @@ export const openSourceProject = [ { text: "技术教程", link: "tutorial", + icon: "book", }, { text: "实战项目", link: "practical-project", + icon: "project", }, { text: "系统设计", link: "system-design", + icon: "xitongsheji", }, { text: "工具类库", link: "tool-library", + icon: "codelibrary-fill", }, { text: "开发工具", link: "tools", + icon: "tool", }, { text: "机器学习", link: "machine-learning", + icon: "a-MachineLearning", }, { text: "大数据", link: "big-data", + icon: "big-data", }, ]; diff --git a/docs/books/cs-basics.md b/docs/books/cs-basics.md index f1a18599..1923b3cb 100644 --- a/docs/books/cs-basics.md +++ b/docs/books/cs-basics.md @@ -1,7 +1,7 @@ --- title: 计算机基础必读经典书籍 category: 计算机书籍 -icon: computer +icon: "computer" head: - - meta - name: keywords diff --git a/docs/books/database.md b/docs/books/database.md index 5d2fc4a8..1305027d 100644 --- a/docs/books/database.md +++ b/docs/books/database.md @@ -1,7 +1,7 @@ --- title: 数据库必读经典书籍 category: 计算机书籍 -icon: database +icon: "database" head: - - meta - name: keywords diff --git a/docs/books/distributed-system.md b/docs/books/distributed-system.md index e8f90c0f..c271144a 100644 --- a/docs/books/distributed-system.md +++ b/docs/books/distributed-system.md @@ -1,7 +1,7 @@ --- title: 分布式必读经典书籍 category: 计算机书籍 -icon: distributed-network +icon: "distributed-network" --- **[《深入理解分布式系统》](https://book.douban.com/subject/35794814/)** diff --git a/docs/books/java.md b/docs/books/java.md index dcc05f58..332b4374 100644 --- a/docs/books/java.md +++ b/docs/books/java.md @@ -1,7 +1,7 @@ --- title: Java 必读经典书籍 category: 计算机书籍 -icon: java +icon: "java" --- ## Java 基础 diff --git a/docs/books/search-engine.md b/docs/books/search-engine.md index 72dd3110..b87563c1 100644 --- a/docs/books/search-engine.md +++ b/docs/books/search-engine.md @@ -1,7 +1,7 @@ --- title: 搜索引擎必读经典书籍 category: 计算机书籍 -icon: search +icon: "search" --- ## Lucene diff --git a/docs/books/software-quality.md b/docs/books/software-quality.md index 5f1a6872..1696314b 100644 --- a/docs/books/software-quality.md +++ b/docs/books/software-quality.md @@ -1,7 +1,7 @@ --- title: 软件质量必读经典书籍 category: 计算机书籍 -icon: highavailable +icon: "highavailable" head: - - meta - name: keywords diff --git a/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md b/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md new file mode 100644 index 00000000..b5645dd7 --- /dev/null +++ b/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md @@ -0,0 +1,201 @@ +--- +title: 2021校招我的个人经历和经验 +category: 技术文章精选集 +author: 月色真美 +tag: + - 面试 +--- + +> **推荐语** :这篇文章的作者校招最终去了飞书做开发。在这篇文章中,他分享了自己的校招经历以及个人经验。 +> +>
+> +> **原文地址** : https://www.ihewro.com/archives/1217/ + +## 基本情况 + +我是 C++主要是后台开发的方向。 + +2021 春招入职字节飞书客户端,入职字节之前拿到了百度 offer(音视频直播部分) 以及腾讯 PCG (微视、后台开发)的 HR 面试通过(还没有收到录用意向书)。 + +## 不顺利的春招过程 + +### 春招实习对我来说不太顺利 + +实验室在 1 月份元旦的那天正式可以放假回家,但回家仍然继续“远程工作”,工作并没有减少,每天日复一日的测试,调试我们开发的“流媒体会议系统”。 + +在 1 月的倒数第三天,我们开了“年终总结”线上会议。至此,作为研二基本上与实验室的工作开始告别。也正式开始了春招复习的阶段。 + +2 月前已经间歇性的开始准备,无非就是在 LeetCode 上面刷刷题目,一天刷不了几道,后面甚至象征性的刷一下每日一题。对我的算法刷题帮助很少。 + +2 月份开始,2 月初的时候,LeetCode 才刷了大概 40 多道题目,挤出了几周时间更新了 handsome 主题的 8.x 版本,这又是一个繁忙的几周。直到春节的当天正式发布,春节过后又开始陆陆续续用一些时间修复 bug,发布修复版本。2 月份这样悄悄溜走。 + +### 找实习的过程 + +**2021-3 月初** + +3 月 初的时候,投了阿里提前批,没想到阿里 3 月 4 号提前批就结束了,那一天约的一面的电话面也被取消了。紧接了开学实验室开会同步进度的时候,发现大家都一面/二面/三面的进度,而我还没有投递的进度。 + +**2021-3-8** + +投递了字节飞书 + +**2021-4 月初** + +字节第一次一面,腾讯第一次一面 + +**2021-4 中旬** + +美团一、二面,腾讯第二次一面和二面,,百度三轮面试,通过了。 + +**2021-4 底** + +腾讯第三次一面和字节第二次一面 + +**2021-5 月初** + +腾讯第三次二面和字节第二次二面,后面这两个都通过了 + +#### 阿里 + +第一次投了钉钉,没想到因为行测做的不好,在简历筛选给拒绝了。 + +第二次阿里妈妈的后端面试,一面电话面试,我感觉面的还可以,最后题目也做出来了。最后反问阶段问对我的面试有什么建议,面试官说投阿里最好还是 Java 的… 然后电话结束后就给我拒了… + +当时真的心态有点崩,问了这个晚上 7 点半的面试,一直看书晚上都没吃… + +所以春招和阿里就无缘了。 + +#### 美团 + +美团一面的面试官真的人很好。也很轻松,因为他们是 Java 岗位,也没问 c++知识,聊了一些基础知识,后面半个小时就是聊非技术问题,比如最喜欢网络上的某位程序员是谁,如何写出优雅的代码,推荐的技术类的书籍之类的。当时回答王垠是比较喜欢的程序员,面试官笑了说他也很喜欢。面试的氛围感觉很好。 + +二面的时候全程就问简历上的一个项目,问了大概 90 分钟,感觉他从一开始就有点不太想要我的感觉,很大原因我觉的是我是 c++,转 Java 可能成本还是有一些的。最后问 HR 说结果待定,几天后通知被拒了。 + +#### 百度 + +百度一共三轮面试,在一个下午一起进行,真的很刺激。一面就是很基础的一些 c++问题,写了一个题目说一下思路没让运行(真的要运行还不一定能运行起来:)) + +二面也是基础,第一个题目合并两个有序数组,第二个题目写归并排序,写的结果不对,又给我换了一个题目,树的 BFS。二面面试官最后问我对今天面试觉得怎么样,我说虽然中间有一个道题目结果不对,但是思路是对的,可能某个小地方写的有问题,但总体的应该还是可以的。二面就给我通过了。 + +三面问的技术问题比较少,30 多分钟,也没写题目,问了一些基本情况和基础知识。最后问部门做的什么内容。面试官说后面 hr 会联系我告诉我内容。 + +#### 字节飞书 + +第一次一面就凉了,原因应该是笔试题目结果不对… + +第二次一面在 4 月底了,很顺利。二面在五一劳动节后,面试官还让学姐告诉我让我多看看智能指针,面试的时候让我手写 shared_ptr,我之前看了一些实现,但是没有自己写过,导致代码考虑的不够完善,leader 就一直提醒我要怎么改怎么改。 + +本来我以为凉了,在 5 月中旬的时候都准备去百度入职了,给我通知说过了,就这样决定去了字节。 + +#### 感悟 + +这么多次面试中,让我感悟最深的是面试中的考察题目真的很重要,因为我在基础知识上面也不突出,再加上如果算法题(一般 1 道或者 2 道)如果没做出来,基本就凉了。而面试之前的笔试考试反而没那么重要,也没那么难。基本 4 题写出来 1~2 道题目就有发起面试的机会了。难度也基本就是 LeetCode top 100 上面的那些算法。 + +面试中做题,我很容易紧张,头脑就容易一片空白,稍不注意,写错个符号,或者链表赋值错了,很难看出来问题,导出最终结果不对。 + +## 入职字节实习 + +入职字节之前我本来觉得这个岗位可能是我面试的最适合我的了,因为我主 c++,而且飞书用 c++应该挺深的。来之后就觉得我可能不太喜欢做客户端相关,感觉好复杂…也许服务端好一些,现在我仍然不能确定。 + +字节的实习福利在这些公司中应该算是比较好的,小问题是工位比较窄,还是工作强度比其他的互联网公司大一些。字节食堂免费而且挺不错的。字节办公大厦很多,我所在的办公地点比较小。 + +目前,需要放轻松,仓库代码慢慢看呗,mentor 也让我不急,准备有问题就多问问,不能憋着,浪费时间。拿到转正 offer 后,秋招还是想多试试外企或者国企。强度太大的工作目前很难适应。 + +希望过段时间可以分享一下我的感受,以及能够更加适应目前的工作内容。 + +## 求职经验分享 + +### 一些概念 + +#### 日常实习与正式(暑期)实习有什么区别 + +- **日常实习如果一个组比较缺人,就很可能一年四季都招实习生,就会有日常实习的机会**,只要是在校学生都可以去面试。而正式实习开始时间有一个范围比较固定,比如每年的 3-6 月,也就是暑期实习。 +- 日常实习相对要好进一些,但是有的日常实习没有转正名额,这个要先确认一下。 +- **字节的日常实习和正式实习在转正没什么区别,都是一起申请转正的。** + +#### 正式实习拿到 offer 之后什么时候可以去实习 + +暑期实习拿到 offer 后就**可以立即实习**(一般需要走个流程 1 周左右的样子),**也可以选择晚一点去实习**,时间可以自己去把握,有的公司可以在系统上选择去实习的时间,有的是直接和 hr 沟通一下就可以。 + +#### 提前批和正式批的区别 + +以找实习为例: + +- 先提前批,再正式批,提前批一般是小组直接招人**不进系统**,**没有笔试**,**流程相对走的快**,一般一面过了,很快就是二面。 +- 正式批面试都会有面评,如果上一次失败的面试评价会影响下一次面试,所以还是谨慎一点好 + +#### 实习 offer 和正式 offer 区别 + +简单来说,实习 offer 只是给你一个实习的机会,如果在实习期间干的不错就可以转正,获得正式 offer。 + +签署正式 offer 之后并不是意味着马上去上班,因为我们是校招生,拿到正式 offer 之后,可以继续实习(工资会是正式工资的百分比),也可以请假一段时间等真正毕业的时候再去正式工作。 + +### 时间节点 + +> 尽早把简历弄出来,最好就是最近一段时间,因为大家对实验室项目现在还很熟悉,现在写起来不是很难,再过几个月写简历就比较痛苦了。 + +以去年为例: + +- 2 月份中旬的时候阿里提前批开始(基本上只有阿里这个时候开了提前批),3 月 8 号阿里提前批结束。腾讯提前批是 3 月多开始的,4 月 15 号结束 +- 3-5 月拿到实习 offer,最好在 4 月份可以拿到比较想去的实习 offer。 +- 4-8 月份实习,7 月初秋招提前批,7 月底或者 8 月初就是秋招正式批,9 月底秋招就少了挺多,但是只是相对来说,还是有机会, +- 10 月底秋招基本结束,后面还会有秋招补录 + +--- + +- **怎么找实习机会**,个人觉得可以找认识的人内推比较好,内推好处除了可以帮看进度,一般可以直推到组,这样可以排除一些坑的组。提前知道这个组干嘛的。 +- **实习挺重要,最好是实习的时候就找到一个想去的公司,秋招会轻松很多**,因为实习转正基本没什么问题,其次实习转正的 offer 一般要比秋招的好(当然如果秋招表现好也是可以拿到很好的 offer)身边不少人正式 offer 都是实习转正的。 +- **控制好实习的时间**,因为边实习边准备秋招挺累的,一般实习的时候工作压力也挺大,没什么时间刷题。 + +### 面试准备 + +#### 项目经历 + +我觉得我们实验室项目是没问题的,重要是要讲好。 + +- **项目介绍** + +首先可能让你介绍一下这个项目是什么东西,以及**为什么要去做这个项目**。 + +- **项目的结果** + +然后可能会问这个项目的一些数据上最终结果,比如会议系统能够同时多少人使用,或者量化的体验,比如流畅度,或者是一些其他的一些优势。 + +- **项目中的困难** + +最后都会问过程中有没有遇到什么困难、挑战的,以及怎么解决的。这个过程中主要考察这个项目的技术点是什么。 + +> 困难是指什么,个人觉得主要是花了好几天才解决的问题就是困难。 + +举两个例子: + +**第一个例子是排查 bug 方面**,比如有一个内存泄露的问题花了一周才排查出来,那就算一个困难,那么解决这个困难的过程就是**如何去定位这个问题过程**,比如我们先根据错误搜索相关资料,肯定没那么容易就直接找到原因,而是我们会在这些资料中找到一些**关键词**,比如一些工具,那么我们对这个工具的使用就是解决问题的一个过程。 + +**第二个例子是需求方案的设计**,比如某个需求完成,我们实现这个需求可能有多个可行的设计方案。解决这个困难的过程就是**我们对最终选择这个方法的原因,以及其他的设计方案的优缺点的思考**。 + +[面试中被问到:你在工作中碰到的最困难的问题是什么?*发现问题,解决问题.-CSDN 博客*面试中问到工作中遇到困难是怎么解决的](https://blog.csdn.net/u012423865/article/details/79452713) + +有人说我解决方法就是通过百度搜索,但实际上细节也是先搜索某个错误或者问题,但是肯定不可能一下子就搜到了代码答案,而是找到一个答案中有某个关键词,接着我们继续找关键词获取其他的信息。 + +#### 笔试 + +找实习的笔试我觉得不会太难,一般如果是 4 道题目,做出来 1-2 道题目差不多就有面试的机会了。 + +刷题老生常谈的问题,LeetCode Top100。一开始刷题很痛苦,等刷了 40 道题目的时候就有点感觉的,建议从链表、二叉树开始刷,数组类型题目有很多不能通用的技巧。 + +- ::一定要用白版进行训练::,一定要用白板,不仅仅是为了面试记住 API,更重要的是用白板熟练后,写代码会更熟练而且思路更独立和没有依赖。 +- 算法题重中之重,终点不是困难题目,而是简单,中等,常见,高频的题目要熟能生巧,滚瓜烂熟。 +- 面试的笔试过程中,如果出现了问题,**一定要第一时间申请使用本地 IDE 进行调试**,否则可能很长时间找不到问题,浪费了机会。 + +#### 面试 + +面试一般 1 场 1 个小时候分为两个部分,前半部分会问一些基础知识或者项目经历,后半部分做题。 + +**基础知识复习一开始没必要系统的去复习,首先是确保高频问题必会**,比如计算机网络、操作系统那几个必问的问题,可以多看看面经就能找到常问题的问题,对于比较偏问题就算没答上来也不是决定性的影响。 + +- **多看面经!!!!!!** 不要一直埋头自己学,要看别人问过了哪些常问的问题。 +- 对于实习工作,**看的知识点常见的问题一定要全!!!!!**,不是那么精问题不大,一定要全,一定要全!!!! +- **对于自己不会的,尽量多的说!!!!** 实在不行,就往别的地方说!!!总之是引导面试官往自己会的地方上说。 +- 面试中的笔试和前面的笔试风格不同,面试笔试题目不太难,但是考察是冷静思考,代码优雅,没有 bug,先思考清楚!!!在写!!! +- 在描述项目的难点的时候,不要去聊文档调研是难点,回答这部分问题更应该是技术上的难点,最后通过了什么技术解决了这个问题,这部分技术可以让面试官来更多提问以便知道自己的技术能力。 \ No newline at end of file diff --git a/docs/high-quality-technical-articles/readme.md b/docs/high-quality-technical-articles/readme.md index a82b9581..a4ea3775 100644 --- a/docs/high-quality-technical-articles/readme.md +++ b/docs/high-quality-technical-articles/readme.md @@ -26,6 +26,7 @@ - [从面试官和候选者的角度谈如何准备技术初试](./interview/technical-preliminary-preparation.md) - [包装严重的IT行业,作为面试官,我是如何甄别应聘者的包装程度](./interview/screen-candidates-for-packaging.md) - [普通人的春招总结(阿里、腾讯offer)](./interview/summary-of-spring-recruitment.md) +- [2021校招我的个人经历和经验](./interview/my-personal-experience-in-2021.md) - [如何在技术初试中考察程序员的技术能力](./interview/how-to-examine-the-technical-ability-of-programmers-in-the-first-test-of-technology.md) - [阿里技术面试的一些秘密](./interview/some-secrets-about-alibaba-interview.md)