├── .DS_Store ├── 2023 届实习秋招 ├── (2023届研究生秋招)C++研发-如何准备秋招(实习)-ATP.md ├── (2023届研究生秋招)Java后端开发-打造属于你自己的简历-TechMan-YuZe.md ├── (2023届研究生秋招)Java后端开发-普硕秋招历程-旧意微凉.md ├── (2023届研究生秋招)Java后端开发工程师-Tomax 的秋招分享-Tomax.md ├── (2023届研究生秋招)测试开发-实习和秋招踩坑经验分享-苏陌小生.md ├── (2023届研究生秋招)自动驾驶感知算法-用随机梯度下降来优化秋招-Muyun99.md ├── (2023届研究生秋招)芯片产品工程师-不妨一试-Neal.md ├── (2023届研究生秋招)芯片软件开发-芯片软件求职之路-EricPei..md ├── (2023届研究生秋招)软件开发-IC 秋招的一道光-Cooling.md └── (2023届研究生秋招)软件开发-谈谈寒冬下我的校招历程-MrBean.md └── README.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NUAA-Open-Source/A2OS-INTERVIEW/646ef4d70a106401305e997e9861bec3099f28a3/.DS_Store -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)C++研发-如何准备秋招(实习)-ATP.md: -------------------------------------------------------------------------------- 1 | ## 如何准备秋招(实习) 2 | 3 | **作者介绍** 4 | 5 | - 作者:ATP 6 | 7 | - 邮箱:2478464504@qq.com 8 | 9 | - 最终去向:百度凤巢 研发岗 10 | 11 | 一般的秋招流程包括笔试+三轮面试,偶尔会有4-6轮面试的情况,取决于你投递的公司。最后一轮面试可能是hr面或主管面,前者不会问技术问题。准备阶段可以划分为代码能力、八股文、实习项目三块,至少在秋招时间的三个月之前准备,越早准备越好。 12 | 13 | 代码能力这一块需要较长的时间练习(ACM大佬除外),并保持手感。最常用的刷题网站就属leetcode了,刷题数量不是特别重要,保持在200+大致就行,重点在于覆盖面要广。如果时间不够,可以只刷剑指offer和专项突击两套题,做到对里面的题都很熟练为止。时间足够的话也可以按类型刷题,直到对每一种类型的常见题目都熟悉。(简单题5分钟解决,中等题20-40分钟解决,难题有思路即可) 14 | 15 | 俺给一个leetcode题目分类pdf,可以按[Releases · halfrost/LeetCode-Go (github.com)](https://github.com/halfrost/LeetCode-Go/releases/)来刷题。我大概刷了300-400题。 16 | 17 | 重点!!!保持手感,写代码需要持之以恒。刷了足够的题目后,也要保持每天一题的习惯。(笔试时忘记函数用法的选手流泪。。。) 18 | 19 |   20 | 21 | 八股文比较简单,背就完事了(不要死记硬背!!!),包括计算机网络、操作系统、mysql等计算机基础,以及语言相关内容(c++相关八股文,或java八股文),redis在java用的比较多,c++选手时间充裕的话也可以看看。此外,对这些内容要有举一反三的能力,思考+理解。最后,温故而知新。(背了忘,忘了继续背……复习才能拿高分) 22 | 23 | 最好用的网站就是[小林coding (xiaolincoding.com)](https://xiaolincoding.com/),不过c++和java八股文要自己找。 24 | 25 | 实习经历很重要,导师能放你出去最好。如果不让去,看看能不能偷偷去。。。(实习的准备流程与秋招流程一样,俺就是实习转正) 26 | 27 | 项目要有自己的特色,烂大街的项目不会勾起面试官太大的兴趣,面试官见的太多了,容易提一些刁钻的问题(然后答不上来就尴尬了……)。可以在网上找一个感兴趣的项目来做。常见问题:你这个项目难点在哪里?与其他类似项目相比,你的特色是什么?你在xx模块用了xx方法,你认为还有没有优化的点?这个项目给你带来了哪些提升? 28 | 29 | 面试方面,面试官一般是根据你的简历内容来提问的,外加一些八股文。此外,通常会给一道题目要你现场写出来,一般不会太难。可以这样回答:“我思考一下。。。我对这道题的解题思路是xxx,那我现在开始写。。。”如果没写出来,可以这样回答:“我的代码思路是xxx,这里在xxx有些问题,我认为可能是xxx导致的,时间关系我应该来不及修改了”。给出了你的思路,并交代了问题,让面试官认为你起码是有思路的,只是存在一些小问题。 30 | 31 | 面试阶段会有一些隐形内容,包括个人语言组织能力和思维清晰程度等。面试最主要的是冷静思考,不要慌张。(需要练习,可以先找同学模拟一下,也可以先投一些小厂锻炼一下。)被问到你不会的,也不要直接说“我不会”,可以这么说“对这一块内容,我只是大致的了解过,不是特别熟悉”,面试官可能就不会问了,或者问一下非常基础的内容。 32 | 33 | 其他(程序员基础能力,不一定问,一定要会):git用法、linux常用命令等等。 34 | 35 | 加分项:论文、竞赛等等。 -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)Java后端开发-打造属于你自己的简历-TechMan-YuZe.md: -------------------------------------------------------------------------------- 1 | ## 打造属于你自己的简历 2 | 3 | **作者介绍** 4 | 5 | - 作者:TechMan-YuZe 6 | - 邮箱:[931624690@qq.com](mailto:931624690@qq.com) 7 | - 最终去向:阿里 Java 后端开发 8 | 9 | 在我们准备找实习或者准备秋(春)招时,我们第一步需要做的就是做一份简历。无论我们平时学了多少东西,创造了哪些成绩,我们都需要通过这 1/2 页简历来全部表现自己,毫不夸张地说,简历就是我们的门面。我相信我们每个人都有自己心中理想的简历样式,因此本文主要从我个人找实习以及秋招的经历出发,给出我认识最适合做简历的方式(不一定适合你)。 10 | 11 | ### 个人情况 12 | 13 | 211 南航本硕,本科是物联网工程专业,硕士研究生是计算机科学与技术专业。平时喜欢研究各种技术,热衷于后端方向。在导师不让实习的情况下与导师一直 Battle 到 6 月初,最终今年在深圳华为云实习了 2 个月。本人从 7 月初开始投递提前批,9 月初结束投递正式批,秋招一共投递了 38 家公司(提前批和正式批分开计算,下同),获得了 22 家企业的面试资格,约进行了约 50 场技术面试,最终收获了以下带薪 Offer: 14 | 15 | - 南京 16 | - 荣耀 17 | - 帆软 18 | - 小米 19 | - 中兴 20 | - 上海 21 | 22 | - 蔚来 23 | - 携程 24 | - 兴业数金 25 | - 杭州 26 | 27 | - 阿里 28 | - 同花顺 29 | - 北京 30 | 31 | - 美团 32 | - 合肥 33 | 34 | - 科大讯飞 35 | 36 | 简历投递以及面试流程详情:https://www.wolai.com/techman-yuze/mLzLc26ozMkdeyjT2korJW 37 | 38 | ### 找到适合你的简历制作方式 39 | 40 | 由于每个人的专业、经历和知识储备都不一样,因此没有一种方案能适合所有人,大家根据自己的情况自行选择。 41 | 42 | #### Word 模板 43 | 44 | 因为 Word 的简单易用、容易上手等特点,相信大部分人的第一选择都是使用 Word 模板来制作简历。在一开始找实习时,一开始我也是跟大家一样,用超级简历来制作我的简历,虽然超级简历有一个免费简历模板的额度,但我相信这远远是不够的,我们在投递不同的公司时肯定不能都只用一份简历进行投递,需要对不同公司不同岗位的需求进行微调,因此使用超级简历等类 Word 模板在线简历制作工具,缺点就是很多功能需要会员,这点是我不能忍受的。当然你不介意付费,那当我没说。 45 | 46 |  47 | 48 | 第二种方式就是使用本地的 Word 模板。虽然这样你的简历份数都不受限制了,但当你想按照你自己的理想的简历样式去更改 Word 模板时,你会发现,Word 模板的自由度极低,**这就是我为什么不喜欢使用 Word 模板来制作简历的最大原因,你无法通过代码随心所欲的控制所有效果**。 49 | 50 | 51 | 52 | #### LaTex 模板 53 | 54 | LaTex 相比于 Word,很大的一个优势就是作为内容编辑者的我们无需关注简历的排版,让我们只需要关注简历的内容本身。与 Word 的问题一样,当你想实现你自己的理想的简历样式时,如果你对 LaTex 的模板机制不熟悉,你根本无从下手,这与学习 LaTex 如何写公式和制作表格完全不同,你需要做的是去修改样式源文件。 55 | 56 | 推荐一个 LaTex 简历模板:https://github.com/billryan/resume/tree/zh_CN 57 | 58 | 59 | 60 | #### 在线 Markdown 简历制作 61 | 62 | 对使用前两者方式制作简历得过程和效果不满意后,我最终还是决定使用 Markdown 来制作我的简历,Markdown 我相信是绝大部分接触过编程人首选的文本编辑方式。目前我使用过最好的在线 Markdown 简历制作工具就是 [**木及简历**](https://www.mujicv.com/)**。** 63 | 64 |  65 | 66 | 推荐使用木及简历有以下这么几个原因: 67 | 68 | 1. 支持本地导入 md 文件创建简历 69 | 70 |  71 | 72 | 2. 模板丰富 73 | 74 | 3. 支持常见的衬线字体(Times New Roman 和思源宋体)和无衬线字体(苹方、思源黑体和阿里巴巴普惠体) 75 | 76 |  77 | 78 | 4. 支持矢量图标,让你的简历更加灵动 79 | 80 |  81 | 82 | 5. 智能一页(内容太多无法一页) 83 | 84 | 6. 支持 CSS 自定义样式(这点是最重要的,能够通过代码随心所欲的控制简历的样式,这也是我后续决定自己制作 Typora 主题的主要原因) 85 | 86 | 7. 支出导出 md 文件 87 | 88 | 8. 支持行内代码块(可以用来写技术选型所用到的技术,这点是 Word 和 LaTex 很难做到的) 89 | 90 | **木及简历对绝大部分的人来说绝对够用了,但它也存在一些问题:** 91 | 92 | 1. **无法设置导出 PDF 的页面大小(默认是 A4 纸)** 93 | 2. **导出 PDF 时,无法设置页边距(这点在你的个人信息一行放不下时很重要)** 94 | 3. **所支持的字体有限(虽说够用,但不能设置自己想要的字体)** 95 | 96 | #### 终极方案:Typora 主题(TechMan Resume Theme) 97 | 98 | 基于木及简历目前存在的问题以及我个人比较喜欢通过 CSS 代码来实现样式,我决定自己制作一个 Markdown 主题满足自己的需求。同时,到目前为止,这是我觉得最适合我自己的简历制作方式。 99 | 100 | 目前支持自定义 Markdown 主题的写作软件也很多,如 Typora、Obsidian 等,但 Typora 支持设置导出 PDF 页面大小和页边距是我选择它的原因,Typora 支持设置导出 PDF 页面大小和页边距的意义在于你可以导出一页很长的 PDF 从而达到所谓“简历不能超过一页”的需求,同时也能避免因为分页引发的很多问题。 101 | 102 |  103 | 104 | 同时 Typora 也支持自定义导出 PDF 的样式(有些 Markdown 写作软件只支持自定义预览样式,但不支持自定义导出 PDF 的样式,这就会出现你预览的时候是你想要的效果,但导出后却完全变了),只要在主题样式文件下面新增 `@media print` 样式,在其内部填入预览样式即可。 105 | 106 | ```CSS 107 | @media print { 108 | .typora-export * { 109 | -webkit-print-color-adjust: exact; 110 | } 111 | /* 你自己的样式 */ 112 | } 113 | ``` 114 | 115 | **我心里理想的简历样式:** 116 | 117 | 1. **名字是宋体、楷体等衬线字体** 118 | 2. **个人信息统一对齐** 119 | 3. **二级标题蓝色字体,背景浅蓝色,同时文本与左边界有一定的距离** 120 | 4. **技术选型使用行内代码块描述,同时行内代码块使用等宽字体** 121 | 5. **除名字和行内代码块字体外,其余统一使用同一种衬线或者无衬线字体族** 122 | 123 | 于是按照我理想的简历样式,便有了以下 TechMan Resume Theme 的效果(示例正文使用苹方字体): 124 | 125 |  126 | 127 | ### TechMan Resume Theme 的使用方法 128 | 129 | 1. 安装 Typora(如果没有) 130 | 131 | 2. 下载主题压缩包(包含 CSS 主题文件以及主题所需要的字体文件) 132 | 133 | - GitHub:https://github.com/TechMan-YuZe/TechMan-Resume-Theme 134 | 135 | - Gitee:https://gitee.com/techman_yuze/tech-man-resume-theme 136 | 137 | - 阿里云盘:https://www.aliyundrive.com/s/DYVFqshgWvU 138 | 139 | 3. 将相应的 CSS 文件和字体文件夹移动到 Typora 的主题目录下(找不到目录的可以从 Typora 的 **偏好设置 → 外观 → 打开主题文件夹** 打开相应的文件夹 140 | 141 |  142 | 143 |  144 | 145 | 4. 重启 Typora,从主题选择 TechMan Resume 即可(TechMan Resume 是无衬线字体版、TechMan Resume Serif 是衬线字体版) 146 | 147 | ### 简历排版规则 148 | 149 | #### 关于空格 150 | 151 | 目前 Markdown 还不支持类似 Word 和 LaTex 在中文字符和西文字符之间“插入”一定间隙的功能,因此需要手动在中文字符和西文字符之间插入半角空格(或者通过 VS Code 或者 Obsidian 的 Pangu 插件自动格式化 Markdown 源代码,解决空格问题),同时在加粗部分与未加粗部分之间插入一个半角空格,以凸显加粗部分。 152 | 153 | 更多中英文混合排版规则请参考 [**中文文案排版指北**](https://github.com/sparanoid/chinese-copywriting-guidelines/blob/master/README.zh-Hans.md)。 154 | 155 | #### 专有名词大小写 156 | 157 | 有些 HR 或者面试官在筛选简历时会非常介意专有名词大小写的正确性。想象一下,假如你是面试官,看到应聘者在简历中写出类似“mysql”、“springboot”、“jdk”、“innodb”等名词时,会不会觉得很难受? 158 | 159 | 以下给出关于 Java 后端领域的一些常见的专有名词书写方式(其他领域或者下面没有提到的可以去官网查找相应的书写方式): 160 | 161 | ##### Java 语言 162 | 163 | Java、OOP、JVM、JRE、JDK、JavaSE、JavaEE、JMM、synchronized、volatile、AQS、CAS、JUC、happens-before、as-if-serial、BIO、NIO、AIO、OOM... 164 | 165 | ##### 数据库及中间件 166 | 167 | MySQL、MyISAM、InnoDB、MVCC、MyCAT、ShardingSphere、Redis、MongoDB、Elasticsearch、JDBC、ORM、MyBatis、MyBatis-Plus、RabbitMQ、RocketMQ、Kafka... 168 | 169 | ##### Spring 技术生态 170 | 171 | Spring、IoC、AOP、Servlet、i18n、WebFlux、WebSocket、Spring MVC、Spring Boot、Spring Cloud、Spring Cloud Netflix、Eureka、OpenFeign、Ribbon、Hystrix、Zuul、Consul、Spring Cloud Gateway、Spring Cloud Alibaba、Nacos、Sentinel、Seata... 172 | 173 | ##### 运维及云原生 174 | 175 | Linux、Git、GitHub、DevOps、Jenkins、CI/CD、Docker、Kubernetes、KubeSphere... 176 | 177 | ##### 其他 178 | 179 | Maven、Nginx、Tomcat、RESTful、HTTP、HTTPS、XML、JSON、Dubbo、Zookeeper、HTML、CSS、JavaScript、Node.js、jQuery、Vue、React... 180 | 181 | ### 基于 TechMan Resume Theme 实现你理想的简历样式 182 | 183 | 按照 CSS 文件中的注释修改你喜欢的样式即可,如果简历内容比较少,可以适当增大标题、段落、单元格、有序 / 无序列表的行高,反之减小相应的行高。 184 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)Java后端开发-普硕秋招历程-旧意微凉.md: -------------------------------------------------------------------------------- 1 | ## 普硕秋招历程 2 | 3 | **作者介绍** 4 | 5 | - 作者:旧意微凉 6 | 7 | - 邮箱:fightingpeng01@163.com 8 | 9 | - 最终去向:中兴 后端开发 10 | 11 | ### 背景与定位 12 | 13 | 211本硕,计算机科班,学院中最普通的硕士一枚,没有顶刊顶会,没有大型的竞赛项目,导师在跳槽之前不允许学生实习,所以开始就没有做实习的打算。因为实验室师兄之前都找的java开发,最后还找到了不错的工作,所以就借鉴他们的经验,目标锁定在java的后端开发。之前很少接触java的框架,只熟悉一些java基础,所以算是为了找工作,短时间内冲刺学习一波。然后,知道自己的水平有限,以及准备的时间没有很充足,所以就把目光定位在了中小厂。 14 | 15 | ### 学习与准备 16 | 秋招准备开始时间算是在前年将近过年的时间,那个时候自己脑中没有一个完整的学习路线,加上内心比较浮躁,所以最开始就是在实验室刷题,每天下午的时候b站上回顾java基础的视频,晚上在leetcode上刷一两道题。这样状态保持到了年后,寒假归来算是相对认真的准备秋招,学习的内容路线: 17 | - java基础 18 | - java并发编程 19 | - 数据库mysql 20 | - Spring 21 | - Mybatis 22 | - SpringMVC 23 | - SpringBoot 24 | - Redis 25 | - 各种消息中间件 26 | - 参考网上做一个java项目 27 | 28 | 本以为有充足的时间去学完这些东西,但是事实是我只学到了redis那里就已经六七月份了,因为自己没有投提前批和准备实习所以剩下的时间就做了一个简单的java项目,同时这个在七月中旬开始背八股,方式很简单就是参考网上别人总结的按部就班的进行,技术栈的学习参考b站,项目的话b站或者慕课网。整体的时间线: 29 | - 2021.12~2022.9 刷题 30 | - 2022.2~2022.7 学习数据库与java框架 31 | - 2022.7~2022.9 做了一个java项目,同时背八股 32 | 33 | 大概过程是这样,具体的时间安排要根据实际情况自己调整。最后就是做一个总结,建议大家找实习或者投递提前批,因为按照今年的这情况,身边首先获得offer的人都是实习或者走提前批的兄弟,更重要的是提前批的面试难度听周围的认识的人说不太一样。提前批的难度明显要低的多,所问的八股都是最常见的八股,所以想要找实习背八股的时间就要提前,不用都背,背常见的就行,后期面试慢慢补充,八股网站放后面。那么如果你没有实习,一定一定要自己找个项目做一做,因为技术面试基本上不会有纯八股面试,甚至有的面试就是直接实习或者项目问到底,所以没有时间实习的同学,一定要准备一些小项目,不然没实习,没项目,面试官根本不知道问什么。 34 | 35 | 最后说一下刷题,面试过程一般的公司,都经过笔试、一面技术面、二面技术面、hr或主管面。大厂可能技术面加一,小厂可能技术面减一,这些都可以在一面的反问环节可以知道。但是手撕题目基本就贯穿了整个过程,笔试就不多少了,技术面最担忧的莫过于手撕代码,手撕的难度基本上就是中等水平,困难题很少出现。所以刷题的时候主要好刷题的比例,我自己的leetcode刷了330道题目,简单:中等:困难 = 3:6:1。对于我的中小厂面试已经非常够用了。刷题的方式前期我是按照代码随想录类型刷的,后期根据codetop按找最近出现的频率刷做补充。 36 | 37 | 主要参考的网站: 38 | [代码随想录](https://www.programmercarl.com/) 39 | [codetop](https://codetop.cc/login) 40 | [javaguide](https://javaguide.cn/) 41 | [javakeeper](https://javakeeper.starfish.ink/) 42 | [牛客面经](https://www.nowcoder.com/users/762061523) 43 | 44 | ### 秋招 45 | 秋招投递时间实在八月中旬到九月中旬陆续投递,投递渠道主要是牛客,自己投递了三十多家公司,与周围的人相比确实少很多,最终通过笔试给面试机会的大概有15家左右,其中五家自己放弃了面试主要是研究所还有恶评如潮的公司,剩下的十家都走到了终试。面试过程就是上面说的,java八股就是常见的基础八股最多(java基础、juc、jvm、计网、mysql、redis),技术八股一般根据你做的项目用的东西来问,像我就不会消息队列,他们问我就说没有用到,技术面这个需要好好准备,手撕代码环节出现问题基本就g了,但是一般手撕题目都是中等好好准备就没有太大问题。最后我觉得值得一提的就是有主管面一定要表现良好,因为我自身举例,技术面试没有发挥好,主管面我聊的很开心,最后我拿到的offer比我同背景室友高一级,真的很离谱,虽然是些hr问题,但是你要表现出你的态度,尊重人、灵动。切记不要莫的感情的死记硬背这些话术,以自身举例最好。我室友技术很厉害,但是一到终面就说不来,就很吃亏。 46 | 47 | ### 秋招总结 48 | 自己本硕都没有实习,所以没有实习的小伙伴也不要忧虑好好准备就行。最终拿到了广联达小sp,神策数据,荣耀sp,中兴,还有两三个没开奖,可能希望不大。今年的开奖结果比较晚,到后面真的纯考验心态,见着室友都签了三方,焦虑感一下就上来了,自己没忍住,就签了一个不是很满意的公司,奋斗几个月,最后环节自己出了差错,但是因为三方的原因有的公司就不等了。以我自身的例子,算是给大家一个忠告,到最后还是要有魄力,最后环节可能就是选择大于努力,不要像我一念之差薪资将近减半,有详细问题的话给了在上面牛客的私信我。 49 | 50 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)Java后端开发工程师-Tomax 的秋招分享-Tomax.md: -------------------------------------------------------------------------------- 1 | ### Tomax 的秋招分享 2 | 3 | > 我们无法预估行业的寒气会持续到什么时候,只好努力给自己增添些取暖的底气。 4 | 5 | **作者介绍** 6 | 7 | - 作者:Tomax 8 | - 邮箱:1121584497@qq.com 9 | - 最终去向:蚂蚁 Java 开发 10 | 11 | #### 基本情况 12 | 13 | 来自南航,本软工,硕计科,Java选手,专注后端开发,leetcode700+,字节+腾讯后端实习,项目经历较多。 14 | 15 | 今年秋招: 16 | 17 | - 投递了 **25\+** 份简历 18 | - 完成了 **15\+** 公司的笔试 19 | - 参加了 **12** 家公司的 **30+** 场面试 20 | - 通过了 **9** 家公司的面试并且进入池子,历时最短的池子<2周,最长的池子>3月 21 | - 收到了 **8** 家公司的意向/offer 22 | 23 | including: 24 | 25 | (非常感谢这些公司的机会🙏) 26 | 27 | - 杭州:蚂蚁、阿里、快手、同花顺 28 | - 南京:华为(目前只有13级的offer,15级的还在漫长的审批)、满帮、荣耀、小米 29 | 30 | 下一站:蚂蚁 31 | 32 | #### 我的时间线 33 | 34 | > 去年差不多也是这个时间段开始正式准备春招/秋招的 35 | 36 | - 2021.11 - 2022.2 37 | 38 | 开始高频率的刷题(leetcode周赛、每日一题、hot题、剑指offer等),之后主要通过leetcode周赛保持手感和热度。此外就是复习Java后端技术栈的框架、中间件。 39 | 40 | - 2022.3 41 | 42 | 开始参加春招,主要投递南京有岗位的一些公司,顺利拿到字节的实习offer(字节的面试效率很高,从面试到offer差不多用了两周) 43 | 44 | 春招最直接的感受是腾讯几乎取消了暑期实习招聘(相比前几年)、阿里走完面试流程就没有下文,但由于实习offer拿的顺利,所以心态上对秋招的预期还是比较好的💪。 45 | 46 | - 2022.4 47 | 48 | 搞论文📖。 49 | 50 | - 2022.5 51 | 52 | 入职字节,开启打工人模式😎。 53 | 54 | - 2022.6 55 | 56 | 实习、论文大修,顺带着复习秋招🥱。 57 | 58 | - 2022.7 - 2022.8 59 | 60 | 实习。开始秋招提前批的简历投递,最初的心态是投几个自己感兴趣的大厂就好了,投太多简历笔试、面试太累了,后续发现形势不太对劲:很多公司推迟秋招、取消提前批、测评挂人、简历筛选不过......,于是又投递了许多份简历。 61 | 62 | 另外比较遗憾的是字节部门无转正hc😢,南京、杭州跨部门转正hc稀少,询问时基本都有合适人选,最终没能申请转正。 63 | 64 | 这两个月面试很少,笔试较多。 65 | 66 | - 2022.9 67 | 68 | 面试非常密集的一个月。直至月底仍然0意向0offer(对比前两年很多同学同时间已经开始签三方了),加上持续高强度的笔试、面试,非常焦躁的一个月😡。 69 | 70 | - 2022.10 71 | 72 | 国庆小长假,假期结束后的第一天,快手发意向,总算是好起来了,然后陆续收到了其他几家公司的offer,于是结束了秋招,持续时间太久,心态上已经不想再继续面试了😂。月底离职,结束了5个多月的实习。 73 | 74 | - 2022.11 75 | 76 | 意向的公司开始陆续开奖,快手的薪资最让人心动🤤,但是对蚂蚁的业务方向更有兴趣(面试官给出的感觉非常好),所以最终还是选择了蚂蚁。 77 | 78 | #### 秋招要做啥 79 | 80 | > 要做的事情可太多了,能做的事情更多😣。根据自身的情况,做好取舍。 81 | 82 | 从简历投递到最终offer,每一步都可能会发生候选人的筛选、排序,这个过程主要包括:简历筛选、测评、笔试、面试,有些方面是无法改变的(学历),有些方面需要长时间的准备,而有些方面可以通过短期的准备实现比较高的收益。整体而言,可以从如下几个方面准备,争取能拿到自己可以拿到的最好的offer。 83 | 84 | 秋招前的准备: 85 | 86 | - 编程题:算法/数据结构+编程能力 87 | - “八股”:后端基础+计算机基础 88 | - 实践经历:实习+个人项目 89 | 90 | 秋招开始: 91 | 92 | - 简历的制作和投递 93 | 94 | - 测评环节 95 | 96 | 以往的经验是测评并不重要,基本只有华为的性格测试挂人比较多,今年的经验是测评需要好好做(态度上需要认真对待),甚至可以花一些时间做一些行测题的练习,避免测评成为offer的拦路石。 97 | 98 | - 面试:来自面试官全方位的考察 99 | 100 | (下面是对于这些方面的一些浅薄见解) 101 | 102 | #### 编程题 103 | 104 | > 没有太多捷径,多刷题、多总结、多思考是比较简单的学习模式 105 | 106 | ##### 要点 107 | 108 | 笔试、面试中都会有做编程题的环节,主要考察如下内容: 109 | 110 | - 算法/数据结构(重点) 111 | - 设计模式 112 | - 并发编程 113 | - 场景功能关键代码 114 | - sql 115 | 116 | ##### 前提 117 | 118 | 掌握算法/数据结构的基本知识,对于科班的同学通常本科或者考研都会学习相关课程,非科班同学需要自行完成相应课程的学习,主要途径包括:mooc课程浙大数据结构、《算法(第四版)》、《数据结构与算法分析》等。 119 | 120 | 除此之外,如果想要准备全面的话,还需(内容涉及过多,可以按需准备) 121 | 122 | - 学习常用的设计模式:《Head First 设计模式》或直接搜索相关博客速食。 123 | 124 | - 学习并发编程 125 | - Java的JUC包学习:掌握ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier等工具的使用。 126 | - 掌握生产者-消费者模式的常见实现,leetcode有相应练习 127 | - 学习CompletableFuture等工具的使用 128 | - 学习sql的基本语法:菜鸟教程+leetcode sql练习 129 | 130 | ##### 专题刷题 131 | 132 | 数据结构和算法其实是很庞杂的,但是常用的大致可以分为几种类型,按照专题的形式进行刷题可以通过不停的练习更扎实的掌握不同类型问题的思考和方法的使用。并且逐步养成对于一类题型的解题思路。 133 | 134 | 有一些优质的网站和书籍提供了相关的内容,例如: 135 | 136 | - [LABULADONG 的算法网站](https://labuladong.github.io/algo/) 137 | - [宫水三叶的刷题日记](https://github.com/SharingSource/LogicStack-LeetCode/wiki) 138 | 139 | ##### leetcode周赛 140 | 141 | 在完成专题练习后,可以定期参与leetcode周赛,包括周赛和双周赛。参加周赛的目的包括: 142 | 143 | - 周赛的题通常都是新题,可以通过周赛检验自己刷题的效果。 144 | - 周赛限时完成4道题,难度和很多笔试相近,做题过程可以提供和笔试相似的模拟环境。 145 | - 速度越快,排名越高。可以提升自己做题的效率(快、准),从而提升面试时做题的成功率(面试时程序写的有问题在紧张的环境下会增加debug的难度,所以需要提升做题的稳定性)。 146 | 147 | 最开始做周赛可能只能做一道、两道题,排名也会很差,但是坚持下来,不断总结,达到场均3+道题基本上就可以通过大多数笔试了。 148 | 149 | ##### 面试高频题库 150 | 151 | 由于题库的规模往往是很大的,为了提升准备效率,可以刷一些总结性的题库,这些题库中的题目是面试中比较容易被考察到的: 152 | 153 | - [codetop](https://codetop.cc/discuss/algo) 154 | - leetcode或者牛客的剑指offer系列 155 | 156 | ##### Tips 157 | 158 | - 尽早准备,细水长流,保持手感(没有刷题计划时可以做leetcode每日一题) 159 | - 不要死磕:刷题时碰到卡壳的题如果超过半小时仍然没有很好的思路,不要死磕,应该及时参考题解打开思路。 160 | - 及时复盘:做完题目后可以选择一些比较典型的,或者自己觉得比较巧妙的题目进行总结(无论是做出来的还是没做出来的),可以尝试自己去写题解梳理解题过程。题解笔记通常不是用来复习的,而是让自己保证自己做完题目确实理解了这样的解法。 161 | - 追求性能但量力而行:对于时间、空间性能的排名有基本的追求,当提交通过后排名在靠后的百分比时应该尝试寻求更好的做法(面试时通常会有要求)。但是如果只是想刷题的话,不必过于追求极致,很多题beats 90%以上的解法经常需要一些相对高级的技巧或思路,存在一定的理解难度。 162 | - 解题技巧:编程题解题也存在很多技巧,比如根据数据规模判断题目解法需要的时空复杂度、对于数据边界的处理等等,这里可以看一些大佬总结的思路,但更重要的还是自己在实战的过程总结的一些套路。 163 | - 算法模板:有些题目会使用一些常用的算法或者套路,比如背包、快速幂、并查集等等,可以总结自己熟悉的模板在需要的时候直接使用(考试允许的情况下),提升做题的效率。 164 | 165 | #### “八股” 166 | 167 | > 形成自己的“八股”知识体系,持续整理、不断更新。 168 | 169 | ##### 前言 170 | 171 | “八股”其实是一个比较尴尬的点,所谓“八股”,其实是很多常考知识点逐渐形成的固定答题套路,很多同学在面试中靠背诵常考点快速准备面试,造成很多时候只知其然而不知其所以然的情况,也降低了这个过程的含金量。 172 | 173 | 对于“八股”,我的想法是积极的接受它,并且利用“八股”的过程,整理、总结出自己的知识结构。本科的时候,我学习的内容很杂,做过挺多项目,学习过很多课程,但是一直没有很好的将这些知识进行梳理,造成对于很多技术、知识存在困惑。直到大三下找实习那会儿,开始看很多“八股”的博客,然后逐渐发现自己学过的很多知识、技术原来是那么的相关,有一种串起来的感觉,很多原来不理解的地方,逐渐透彻起来。所以,“八股”的学习过程可以当作一次将自身知识系统化的过程,让自己能够比较全面的提升。 174 | 175 | 回到正题,后端八股需要学习哪些内容,又该如何准备呢? 176 | 177 | ##### Java后端 178 | 179 | 最好掌握: 180 | 181 | - Java基础 182 | 183 | (考察频率非常高) 184 | 185 | JDK & JVM,需要熟悉常用的工具、了解常用工具的源码、原理,容器、IO、并发编程、JVM可以投入较多时间学习。 186 | 187 | 推荐:《Java并发编程实战》、《深入理解Java虚拟机(第3版)》、[RedSpider社区](http://concurrent.redspider.group/RedSpider.html)、[JVM内存结构GC分析](https://github.com/qiurunze123/memoryoptimization)等 188 | 189 | - 计算机基础 190 | 191 | (考察频率较高) 192 | 193 | 主要包括计算机网络、操作系统、设计模式等。 194 | 195 | 可以根据个人的精力决定学习的深浅,如果深入学习的话可以找国外的课程、经典书籍开展,如果精力不太够的话,可以主要看别人总结的面经、八股去学习。整体而言,这一部分的内容值得持续投入学习,是建立专业知识体系的基石,也是很多专业方向深入研究的基础。 196 | 197 | 推荐:[cs自学指南](https://csdiy.wiki/)、[开发内功修炼](https://github.com/yanfeizhang/coder-kung-fu) 198 | 199 | 字节、腾讯等公司在这一块问得会比较多,也会问得比较深入。 200 | 201 | - Java Web 202 | 203 | (考察频率较低,但是很多框架的基础。) 204 | 205 | 如何使用Java进行web编程,其实有一些规范,包括Java EE中的一些内容,需要了解Servlet相关的知识,以及Java常用的web服务器tomcat。 206 | 207 | - Spring/Spring Boot 208 | 209 | (考察频率一般) 210 | 211 | Java后端开发最常用的框架便是Spring/Spring Boot,围绕spring形成了非常庞大的后端开发生态,所以需要掌握Spring框架开发。面试考察的内容主要包括spring、spring boot的一些特性、功能的实现,需要熟悉常用的功能,然后很多问题其实都是围绕着spring的ioc、aop两个特性的实现机制展开的,所以这两部分值得从源码进行研究。 212 | 213 | - MySQL 214 | 215 | (考察频率较高) 216 | 217 | mysql是使用频率非常高的数据库,面试中也经常会问很多相关知识,主要包括数据结构、事务、索引、锁、容灾、sql调优等内容。 218 | 219 | 推荐阅读:[MySQL 是怎样运行的:从根儿上理解 MySQL](https://juejin.cn/book/6844733769996304392/section)、[MySQL实战45讲](https://funnylog.gitee.io/mysql45/) 220 | 221 | - Redis 222 | 223 | (考察频率较高) 224 | 225 | redis是常用的缓存数据库,面试也会经常遇到。需要掌握的内容主要包括:数据结构、高性能设计、缓存淘汰、数据持久化、Redis高可用等 226 | 227 | 推荐阅读:《Redis设计与实现》、《Redis开发与运维》 228 | 229 | - 其他常用工具 230 | 231 | (考察频率一般,跟面试岗位业务以及简历比较相关) 232 | 233 | 例如mybatis、hibernate等,这一块可以根据自己的实践中使用到的一些工具、库进行总结 234 | 235 | 加分项: 236 | 237 | 以下是工作中同样可能接触的,但是由于内容过多,很难全面的学习、掌握。比较好的做法是从中选择一两块进行深入学习,如果在学习的过程中产生很多自己的理解、思考,在面试中也会是非常亮点的地方。 238 | 239 | - 微服务、RPC框架 240 | 241 | 主要包括spring cloud、spring cloud alibaba、dubbo等,以及它们延伸出的微服务生态,涉及服务注册、配置中心、服务降级等很多配套的中间件、框架。值得学习的内容有很多,可以找一个相对基础的入门项目进行学习,或者B站搜索尚硅谷的课程。深入的学习同样是结合源码对一些重要的框架功能进行细致的研究。 242 | 243 | - 分布式系统 244 | 245 | 现在面试中也经常考察对于分布式系统的认识,这一块主要包括:基本的分布式理论(如CAP)、常见的分布式算法(共识算法、分布式ID、分布式锁、分布式事务等)、分布式环境下的问题及解决方案(容灾、异地多活等) 246 | 247 | 推荐阅读:[DDIA](https://vonng.gitbooks.io/ddia-cn/content/) 248 | 249 | 系统学习可以看国外的课,深入学习可以看一些比较优秀的分布式系统的实现或者读相关论文。 250 | 251 | - 其他数据库:PostgreSQL、ElesticSearch、MongoDB等 252 | 253 | 根据自己的实践经历考虑是否需要掌握。不同数据库通常都有自身比较合适的应用场景。 254 | 255 | - 消息中间件:Kafka、RocketMQ、RabbitMQ等 256 | 257 | 消息中间件的考察频率也是挺高的,所以掌握至少掌握一款消息中间件的使用是非常必要的。消息中间件往往具备很好的网络性能,同时不同的消息中间件也会有很多特性功能,而支撑这些特性功能的实现原理都可能是面试考察的内容。此外,就是针对消息队列在实战场景中的一些场景问题也需要做了解,并且思考这些问题的解决方案。 258 | 259 | - 其他常用中间件:Zookeeper等 260 | 261 | - K8S、Docker等技术 262 | 263 | - nginx 264 | 265 | - netty 266 | 267 | netty是Java网络编程中非常出色的一个框架,具备很多非常好的设计,是很多中间件、框架、应用的基础,也是非常值得深入学习的一款Java框架。 268 | 269 | - 其他框架、技术 270 | 271 | 其他能力: 272 | 273 | - 问题排查能力 274 | 275 | 常见的包括CPU飙高如何定位问题、服务宕机如何处理等。 276 | 277 | 推荐学习:linux的性能分析命令、arthas、java自带的性能分析工具 278 | 279 | - 调优能力 280 | 281 | jvm调优、sql优化等。对于一些常见问题可以整理相应的答案,但是整体而言,这一块非常吃经验,所以量力而行即可。 282 | 283 | - 常见的场景题 284 | 285 | 例如秒杀、常见的缓存问题、发号器设计等,主要是分布式场景下一些高并发业务的设计与实现,通常也可以整理一些常见的解决方案,但是如果过程中能形成自己对于分布式系统的解决思路就很好了。 286 | 287 | 上述的这些能力除了根据问题整理答案以外,可以尝试通过程序模拟相应的问题,然后根据解决方案去解决这些问题获取真实的实战经验。 288 | 289 | ##### 学习建议 290 | 291 | - 大的层面可以根据一些比较优秀的博主的站点去学习 292 | 293 | - [JavaGuide](https://javaguide.cn/) 294 | - [bugstack 虫洞栈](https://bugstack.cn/) 295 | - [pdai](https://pdai.tech/) 296 | 297 | - [Java 程序员进阶之路](https://tobebetterjavaer.com/) 298 | - [doocs](https://github.com/doocs) 299 | - [Java Core Sprout:处于萌芽阶段的 Java 核心知识库](https://crossoverjie.top/JCSprout/#/?id=introduction) 300 | 301 | - 学习过程中自然会遇到很多细节的问题,可以自己展开去搜索相关知识进行深入的了解,对于感兴趣的内容可以尽量吃透。一些源码阅读的仓库: 302 | 303 | - https://github.com/yuanmabiji/Java-SourceCode-Blogs 304 | 305 | - 利用碎片时间扩展知识面,这里推荐一些我关注的公众号 306 | 307 | ImportNew、对线面试官、低并发编程、码农的荒岛求生、开发内功修炼、程序员DD、阿里开发者、美团技术团队、架构之路、Java技术栈、沉默王二、macorzheng、编程技术宇宙等 308 | 309 | - 可以尝试整理自己的知识库,形成自己的“八股”体系,整理的过程也会形成加深自己的认识与理解,推荐飞书云文档、语雀 310 | 311 | #### 实践经历 312 | 313 | > 最能拉开差距的环节! 314 | 315 | 实践经历包括实习经历、项目经历、竞赛经历等。有亮点的实践经历会是非常加分的点,并且因为面试的时间有限,如果有非常有把握的实践经历和面试官聊,可以把面试的内容控制在自己比较擅长的范围内,从而更好的展现自己的能力。 316 | 317 | ##### 实习经历 318 | 319 | 对于技术岗来说,实习其实是挺重要的。实习存在如下优势: 320 | 321 | - 实习进大厂的难度通常低于秋招拿大厂正式offer,而很多暑期实习和部分日常实习是有转正机会的,可以增加拿大厂offer的机会 322 | - 实习可以提前接触企业级开发,整体和在学校参与的项目、竞赛还是有很大差别的。 323 | - 实习参与的项目通常是有业绩需求的,面对的场景也更加复杂,有助于提升个人的编程能力以及真实的实战经验。而学校中的项目很多都只是处于demo阶段,很少落地。 324 | - 如果有机会转正,可以提前熟悉部门,便于offer选择。 325 | 326 | 但其实很多同学能够参与实习的项目并不十分重要,要么是比较边缘的项目,要么只能分配到很简单的工作,总之实习过程中难以挖掘出亮点,但是面试的时候面试官可能会对实习经历抱有一定的期待,如果无法体现自己的工作量或者思考,那实习经历可能反而会带来负面的影响。 327 | 328 | 我自己的实习经历其实也有很多类似的情景,所以为了破除这些困境,我的一些经验是: 329 | 330 | - 要加强对于团队整体业务的理解,尽管实习中可能只会负责很小模块的开发工作,但是仍然需要对于团队维护的项目整体进行比较全面的学习。主要的途径包括:团队的文档、深度体验团队的产品并且结合源码梳理核心功能的实现、多和资深的同事请教、探讨业务问题。同时,可以多参与团队的技术评审会议、技术分享会议、故障分析会议等,一方面自己思考业务中存在的一些问题、可以优化的地方,另一方面学习别的同事是怎么做的。这些思考和学习都可能帮助自己面试聊实习时能够更加顺利。 331 | - 善于发现问题,考虑如何减轻团队的工作量,自己给自己提需求。另一位和我一起实习的同学就做到了这一点,在我们开发rpc接口时,经常需要将thrift的model在sql、go类、thrift文件中转换,手写相应代码的工作量很大。他发现了这个痛点,开发了转换工具并集成为goland插件,极大提升了相关工作的效率。虽然与本职工作无关,但是得到了leader和同事们的一致认可,面试中也会是很好的加分项。 332 | - 实习项目实在找不到可以挖掘的地方,那么也可以考虑加强公司技术的学习,深入学习公司自研、使用的一些框架、工具的实现原理,思考公司使用这些技术、或者做一些优化的原因。 333 | 334 | ##### 项目经历 335 | 336 | 虽然实习经历很重要,但很多同学由于导师的要求没办法进行实习,这时就需要自己想办法加强实践经历了。具体的渠道包括(做好1-2项就可以了): 337 | 338 | - 参与开源项目,如果对于某一开源项目项目有深入研究,可以参与项目的维护,负责解决一些issue。也可以自己去做一些有意思的开源项目(如果有比较好的想法的话) 339 | - 参与大厂举办的竞赛,如天池等 340 | - 报名[开源之夏](https://summer-ospp.ac.cn/)之类的项目 341 | 342 | - 跟老师做一些有落地机会的项目,如果项目最终能投入使用,那么过程中一定会出现一些棘手的问题,解决这些问题的过程往往就是加分项。 343 | - 自己动手去做一些web server、数据库、分布式系统、框架的实现,如果选择这种模式的话,需要多花一些精力在自己选择的这个方向上,一方面要深入学习该方向主流的系统的实现原理,另一方面要在自己的实现过程中,在一些特性功能的实现方案上有自己的认识。 344 | - 对于基础比较差的同学,可以考虑找一些比较热门的学习性质的项目上手(聊胜有无),但是在熟悉之后,可以从两个方面加强:一方面,在现有功能的基础上,自己提出更多的需求并且实现,做功能上的扩展;另一方面,对自己复刻的项目进行压测,针对压测结果进行针对性的优化,增加项目本身的亮点。 345 | 346 | 在面试过程中,面试官经常问得一个问题是,你的项目难点在哪,而我们经常在将一些自认为相对复杂的功能回答完后,得到这个也不难的答复,然后就会有些许沮丧。我觉得可以从如下两方面来准备: 347 | 348 | - 核心功能往往存在多种解决方案,各有优劣,但是针对项目背景的具体需求,我们通常会进行一些取舍,一方面是技术选型,针对不同的场景选择合适的技术方案,比如CAP中CP、AP的选择;另一方面是针对功能的优化: 349 | 350 | 比如我的一个项目需要告警通知用户,但是可能存在短时间内重复告警的问题,影响用户体验;为了解决这个问题,我需要在发消息前进行重复告警的检测,比较朴素的做法是通知用户前向数据库消息表插一条记录,通过数据库的唯一索引控制消息的重复性,通过时间字段控制消息的过期,但是这种做法比较容易存在性能瓶颈。转换思路,这个问题其实很像分布式锁的问题,消息发送前需要针对消息进行加锁,加锁成功的进程才有机会发送消息,由此可以考虑使用redis分布式锁实现该功能,还有另一个优势是,由于消息存在过期时间,所以可以通过redis过期时间自动解锁,而不需要显示的解锁,避免了redis分布式锁本身的一些问题。 351 | 352 | - 问题分析、故障排查。当我们的项目上线后,必然会存在一些bug造成线上的问题,针对这些问题,我们可以形成一套排查问题的思路,定位到问题后,针对问题作出修复方案。 353 | 354 | 总而言之,在准备自己的实践经历上,我们需要多思考自己的工作内容,要么在技术上面挖掘亮点,要么在业务上面多做理解,充分将自己对于项目的认识、自己的技术能力、思考问题的能力、解决问题的能力等方面展现给面试官。 355 | 356 | #### 简历 & 投递 357 | 358 | > 简历漂亮,投递一个合适的岗位能极大提升offer的机会。 359 | 360 | ##### 制作简历 361 | 362 | 简历很重要,但是吧,我自己的简历其实做的并不好(如果自己的简历内容比较丰富的话,做的朴素一点其实也没关系),需要注意的几个点包括: 363 | 364 | - 自己有把握的内容、有亮点的内容要突出展示 365 | - 最好结合岗位要求调整简历,对于不同公司、不同部门、不同业务方向都可以针对性的调整内容 366 | - 没把握的技术、经历尽量不要写 367 | 368 | 简历制作平台:[超级简历](https://www.wondercv.com/) 369 | 370 | ##### 投递简历 371 | 372 | 投递简历其实也有一些需要注意的地方,切忌盲目海投。 373 | 374 | 首先是招聘信息的获取渠道,通常而言,如果准备已经比较充分了,那么每家公司开启招聘就立即投递是比较好的选择,如果投递较晚的话,很多岗位可能都已经锁定了合适的候选人,剩余岗位变少,竞争也会更加激烈。 375 | 376 | 渠道包括: 377 | 378 | - 各公司校招官网 379 | - 牛客讨论区 380 | - 每年也会有一些同学整理校招日程分享 381 | - 学院的招聘信息群 382 | 383 | 招聘开启后,尽量不要直接官网投递,如果有熟人在对应的公司,优先考虑找熟人内推。如果没有的话,可以通过朋友圈、牛客讨论区、脉脉等平台找分享内推码的公司员工或hr帮忙内推,内推成功后一定要添加内推人的联系方式,后续跟踪面试进度很有必要。 384 | 385 | 投递之前之前最好和内推人确认下意向部门的招聘量,如果把握不是很大的话,尽量选择招聘量大的部门投递。 386 | 387 | 海投与否应该取决于每个人的自身情况,因为投简历、笔试和面试都是非常消耗时间和精力的,像我的话每次面完都会有一段比较兴奋的状态,这段时间就很难静下心来干别的事情。所以,最好是在精力足够的前提下,多投一些公司。 388 | 389 | #### 面试 390 | 391 | > 大部分面试官都还是很赞的,放轻松,带着学习的心态去面试。 392 | 393 | 除了个人背景外,面试表现是决定是否能够拿到offer以及最终offer含金量的最重要的环节了。整个面试流程通常包括2-3轮技术面试以及1轮hr面试。 394 | 395 | 1面通常是简历面、基础面,面试官是比较资深的同事,也可能会是入职后的mentor。 396 | 397 | 2面通常是部门的主管进行的技术面。 398 | 399 | 3面通常是比较高级别的负责人。 400 | 401 | 不同公司、不同部门、不同面试官考察的侧重点都不尽相同,整体而言,技术面试考察的重点主要还是技术能力。我秋招参加的面试整体感觉下来: 402 | 403 | - 一面侧重基础、知识面的考察,会问很多“八股”知识,同时也会过简历中写的技术、经历。 404 | - 二面侧重实践经历的考察,可能根据实践经历延伸出很多问题,包括在项目过程中,对于业务的理解程度、技术能力、发现问题、解决问题的能力。另外就是还会有一些场景题、设计题。 405 | - 三面考察的内容会更宏观,除了技术问题外,可能还会有很多聊天性质的内容,比如职业规划、个人经历等。 406 | 407 | 个人感觉,面试过程中比较头疼的有三个方面: 408 | 409 | - 知识盲区 410 | 411 | 没有太多好办法,只能不停积累,面试即使碰到不会的也没关系,大方承认就好。可以利用自我介绍和项目引导面试官和自己聊熟悉的技术。 412 | 413 | - 场景题、设计题 414 | 415 | 我主要碰到两大类,一类是高并发分布式系统设计,另一类是和投递公司或者部门相关的场景问题。第一类问题其实是可以准备的,大部分并发量较高的系统设计有很多相似的地方,会有很多共性的难点,比如秒杀系统、抢红包、连接量大的聊天室直播间等等,可以在面试之前收集一下相关的系统设计,总结一些常见的问题并整理自己的解决思路。第二类问题更多得靠自己的积累,在面试的时候可以多和面试官交流,争取能够理解业务然后给出自己的方案。 416 | 417 | - 问题排查、调优 418 | 419 | 可以学习下常用的性能分析工具 420 | 421 | - 熟悉Linux操作,包括linux的top、各类stat命令、perf,还有一些日志分析的命令grep、awk、sed等 422 | 423 | - java的jps、jstat、jmap、jstack等 424 | 425 | - 阿里开源的arthas 426 | 427 | - mysql的explain、OPTIMIZER_TRACE等 428 | - 云平台的一些监控告警平台 429 | 430 | 通过工具排查问题、定位问题、解决问题 431 | 432 | 一些建议: 433 | 434 | - 面试前多多收集相应公司、部门的面经,通过面经查漏补缺;另外就是如果有很想去的公司,那么多花时间学习、研究下这家公司开源的技术框架是很好的选择。 435 | - 面试的过程中保持心态,即使有不会的问题也不用过于担心,要争取把自己会的都能答好。 436 | - 面试后要做好复盘,每一场面试都是一次学习的机会,一方面发现自己的不足及时补全,另一方面有很多面试官会给出很好的问题和建议。 437 | 438 | #### 小结 439 | 440 | 其实针对找工作这件事,很多大佬都给出了很多很好的分享,我们能够获取到的信息也很丰富,也大多知道有哪些方法可以提高自己,经验分享更多的是给没有经验的同学避雷。但是每个自己的秋招之路都有所不同,最重要的还是结合自己的兴趣、实际情况执行计划,贪多嚼不烂,把需要掌握的学完,把能学到的学得更明白点,坚持付出,总能拿到一个自己满意的结果。加油! 441 | 442 | 443 | 444 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)测试开发-实习和秋招踩坑经验分享-苏陌小生.md: -------------------------------------------------------------------------------- 1 | ## 实习和秋招踩坑经验分享 2 | 3 | **作者介绍** 4 | 5 | - 作者:苏陌小生 6 | 7 | - 邮箱:1423705756@qq.com 8 | 9 | - 最终去向:快手 测试开发 10 | 11 | ### 背景介绍 12 | 13 | 我本科是普通双非一本,211硕,都是计算机科班。没有顶会顶刊,找实习和秋招的时候只有一篇CCF水会。具体来说: 14 | 15 | - 论文:研一到研二上学期中期完成了小论文的撰写,研二下学期也就是再找实习和秋招的过程中小论文被录用。 16 | - 实习:研二上学期开始自学java,在年后下学期开始投递秋招实习岗位,直到2022年6月底找到了某度秋招实习机会。 17 | - 秋招:备战较晚,9月底开始投递(懂得都懂,都是泪),11月中旬陆续收到三四个测开或者开发offer,签了老铁的测开,秋招结束。。 18 | 19 | 我是挺普通的一名学生,菜鸡一个,没有什么个人优势,也没参加过什么竞赛拿过什么奖项之类的,平常就是学习和打游戏,也没其他爱好。所以本文可能仅适用于像我一样的人,然后我写这些分享的时候文字也没有经过修饰(我是山东的喜欢倒装句,理解一下我的语法错误),就是想到哪说到哪,一些不对的观点请大佬们请喷。 20 | ### 实习和择业相关 21 | 我觉得很多学生,包括目前我身边的一些案例,都是在愁如何在学业和实习或者工作之间平衡。首先是择业问题,很多人就像我一样,硕士是搞深度学习的,然后工作不知道该选择什么方向。如果你是研一的话,这个问题大可不必考虑,研一就是认真科研,做好自己的科研项目积极搞好师生关系,争取早发小论文即可。然后到了研二,通过一年多的科研,相比你也对深度学习和自己的水平有所了解。如果发现对搞算法非常感兴趣,喜欢看paper,喜欢钻研idea,或者手头已经有一篇顶会或者顶刊,那么未来工作可以选择算法方向了,当然没有顶会顶刊也行(那就必须要有大厂实习,实习和顶会必须有一个,不投大厂算法当我没说),主要是有兴趣做算法,那就可以实习或者秋招投算法岗,准备算法岗面试刷题。然而经过研一,如果发现对算法不是那么感兴趣,不喜欢看paper、做实验和调参,想去做具体业务开发,研二就可以开始刷力扣,学编程语言,做实际项目了。 22 | 然后实习问题,如果确定了自己以后要做什么工作或者也没确定要做什么工作,我都建议立马去实习(导师不让当我没说,让你研一处好师生关系啊!!!)。实习有两种,一种日常实习,一种是秋招实习。日常实习公司都是有招的,关注一下官网或者牛客,时不时投递一下,日常实习面试比起秋招实习简单很多,因为不能转正所以在公司心理压力和工作压力轻松很多。比如你想做测开,但是不知道你喜不喜欢测开,我建议日常实习去公司待一段时间,虽然接触不到核心工作,但观察一段导师在干啥,不就明白喜不喜欢了吗。然后秋招实习,秋招实习一般是在秋招前期(今年从过完年开始,有公司2月份开始招了,属实离谱),注意:在找秋招实习的时候问一下hr或者面试官转正情况,毕竟咱们找秋招实习都是能图转正来减少秋招压力的(菊花厂秋招实习就不能转正),如果不能转正我建议还是别去了,刷题、刷面经、做项目准备秋招,去有点浪费时间。还有就是如果顺利进入公司实习,在前中期一定要问leader有没有名额转正,强烈表达转正意愿,leader一般不会明说,但是只要不是说no然后你又想留下来,那就好好表现吧。 23 | 最后,关于秋招实习如果导师不让去,要不要参加面试。我建议是就算老师不让去,秋招实习也投递几个秋招你打算去的厂,去面试试试面试官都问什么,不要担心自己秋招实习表现不好会拉黑什么的,没关系,大胆尝试,拿今年来说的话,秋招实习的难度已经和秋招差不多了,所以面试实习相当于一次秋招全真模拟,可以用来锻炼心态,了解面试内容。我初期面试真的超级紧张一度结巴说不出话,后来就是面多了就麻了没感觉了,甚至可以引导面试官往自己强项去说。 24 | ### 测开岗位相关 25 | 今年互联网寒冬真不是吹的,大佬们依然offer拿到手软,影响的正是像我这种一瓶子不满半瓶晃荡的菜鸡。我在研二的时候,第一次听师兄说测开这个岗位,我当时诧异测开的工资竟然能和开发基本持平。在互联网还没有开始大规模毕业的时候,我就深知这行业越来越卷,于是就选择了测开这赛道,大家都想去开发,都觉得开发好,前景明朗,那么狼多肉少就开始卷。我在投递秋招实习的时候,基本上以测开为主,开发为第二选择。今年不只是秋招巨难,秋招实习的时候也是巨难,我想看这篇文章的时候大家如果参加过今年的秋招实习就知道我说的一点不虚,我主要方向是投测开,直到6月底才被某度捞了起来入职,6月底一些厂已经开始秋招提前批了。 26 | 下面我说一些测开的理解,因为我实习过,对这个岗位还不够深入,仅供参考。首先测开分为两种,一种偏向开发,一种偏向测试。偏向开发的这种一般是做的工具或者中台类,平常就是开发和修缮一些测试工具,开发语言有python、java、go等,以python居多,看公司用什么。偏向测试的又叫做质量保证QA,主要做的是业务方面的自动化测试,质量保证顾名思义,更像是一个项目的保姆,从项目需求设计到最后线上运行都需要qa去参与其中。对于前景,如果选择偏开发的话,有些公司可以内部活水到开发岗或者以后可以跳槽到python开发。如果偏测试的话,前景确实不太明朗,几乎只能往其他测开岗位跳或者纯测试(不建议纯测试)。总之,开发能跳测开,测开跳开发是比较难的,正因为如此,测开竞争压力相对开发要小。对于工资方面,测开和开发大体上基本能持平,有时候能比开发岗位高,看你面试表现了。 27 | 关于今年的测开面试,千万不要以为测开比开发竞争压力小就天真的认为测开的面试比开发简单!就我从实习开始到现在秋招面试这么多次,我深刻体会到,对于大厂的测开和开发,这俩面试都很难,而且测开还会问一些测试相关知识,只是需要我们去专门学习或者刷面经补充的。测开面试涉及到计网、操作系统、数据库、编程语言,如果你碰上一个正好和你编程语言的技术栈相仿的面试官,他会着重问你语言底层知识和编程项目,如果你是学java而面试官学python的,那就够你喝一壶的了,面试官着重问你测试知识和计算机网络、数据库等,看运气,也有的面试官问不出什么来然后给你一般的面评(欲哭无泪)。 28 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)自动驾驶感知算法-用随机梯度下降来优化秋招-Muyun99.md: -------------------------------------------------------------------------------- 1 | ## 2022 找工实录 | 用随机梯度下降算法优化秋招 2 | 3 | **作者介绍** 4 | 5 | - 作者:Muyun99 6 | 7 | - 邮箱:yundoo99@gmail.com 8 | 9 | - 最终去向:地平线 自动驾驶感知算法 10 | 11 | - 原文链接:https://muyun.work/2022work.html 12 | 13 | - 分享视频链接:https://www.bilibili.com/video/BV1HM411g7Ym/ 14 | 15 | ### 1、岗位、赛道、企业及工作地点的确定 16 | 17 | #### 1.1 求职岗位的确定 18 | 19 | 求职准备期首要的目标是确定**岗位**! 20 | 21 | 大体而言分为技术岗和非技术岗,而其下又有各种分支 22 | 23 | - 技术岗包括:研发、 算法、测试。研发包括前端、后端、客户端、数据库、操作系统、云计算、游戏等等;算法岗位包括视觉、语音、文本、搜广推、规划等;而测试的细分方向我本人不太了解。 24 | - 非技术岗:产品经理 / 考公 / 文职 等等 25 | 26 | 请大家尊重每个人的选择,计算机专业的同学去做非技术岗也能展示出自己的优势。这里做岗位的确定并不是排除其他的可能性,而是调高某一项的优先级。并在这一过程中做排除法,试错后能够更加认清自己,去收敛自己的选项。 27 | 28 | #### 1.2 调研和排除确定剩下的维度 29 | 30 | 确定岗位之前或者之后,都需要大量的阅读 JD(Job Description,岗位描述)来进行信息壁垒的消除。具体的做法是:搜集各家各类企业(上市企业、国企研究所、独角兽等)的的 JD,找到其公共的要求和特殊的要求。例如研发下面会要求编程语言:Golang、C/C++、Java 等,可能还有其他的,例如 Linux 下编程经验、网络编程等等。自己整理一个表格将所有的岗位描述整理之后,就能大致明晰当前就业环境的倾向性了,也能够和自己的技能树算一个最大交集,查漏补缺,来找到适合自己的岗位。在投资领域,百个行业术语足以消除行业的信息壁垒,那么经历了大量 JD 的阅读之后,你也能读懂求职期间的行业黑话,并且对技能树的要求也更加了解,而如果是共性的内容,频次最高的术语就是最重要的。 31 | 32 | 在此基础上,你可以进一步做排除法,去将自己的求职画像更加清晰了:赛道、企业和工作地点。自己是在什么赛道和行业内去工作呢,航空航天、自动驾驶、医疗AI、AIGC 等等,每个赛道和行业都有自己的特性,需要去好好调研。企业方面,扪心自问自己的倾向性,国企研究所还是互联网,又或者是独角兽、创业公司呢,这个涉及到工作生活的平衡、薪资待遇、个人成长等角度,千人千面,要更加地认清自己才能做出对的决策。最后就是工作地点,一些同学会将地点确定的很快,但有的同学会拖到最后一刻才决定,我个人一直在回四川发展和外面卷几年这两个选项中摇摆,最终还是决定暂离舒适圈,到更广阔的外面来看看机会,毕竟少不入蜀。 33 | 34 | 每个人都有自己的理由去确定这四个维度,这些问题在求职前可能都会各种各样的变动,但我想,做排除法是更好的,先画一个圈,不断缩小这个圈,也能够逐渐地认清自己想要的是什么了。 35 | 36 | #### 1.3 个人求职思路 37 | 38 | 我个人求职的主要思路如下:岗位:计算机视觉算法工程师;企业:逃离互联网,拥抱独角兽;赛道:自动驾驶;地点:成都 / 长三角。我逃离互联网的理由是:我见过了美团压榨外卖员的算法、抖音的推荐算法、微博微信蚂蚁的风控和内容审核的算法。所以互联网企业的技术或许是顶尖的,但我想如果去做一个我不喜欢/价值观不认同的产品,我想我也是不快乐的。以下还包含了我个人进行地域选择的想法: 39 | 40 |  41 | 42 | 走出求职的第一步就很难,因为确定这些维度需要费不小的力气,希望大家能够在求学期间多认清自己,多和自己对话,找出心中真正所求。一旦确定,就义无反顾地去做吧 43 | 44 | ### 2、简历和面试准备 45 | 46 | 首先,我们将求职其实就两个过程:投递简历 -> 面试(后续的 offer 选择、谈薪之类的操作本篇文章均不涉及) 47 | 48 | 那么我们的目标其实就分为两部分:通过简历筛选、通过面试筛选 49 | 50 | 我个人情况是南航本硕,且只做了算法岗方向的求职,所以我的经验可能也对硕士阶段,且求职方向类似的同学比较适用。接下来我将从简历和面试两个方向重点讲一下目标拆解和优化思路。 51 | 52 | #### 2.1 算法岗之简历三板斧 53 | 54 | 我认为的算法岗简历三板斧是:科研论文、项目经历、实习经历 55 | 56 | ##### **2.1.1 科研论文** 57 | 58 | 硕士的同学应该或多或少会有科研论文的产出,应当来讲这是硕士期间的主要成果。近几年,AI 算法领域顶会录用稿件数量的增长也造就了严重的论文通货膨胀,知乎脉脉上疯传着无顶会不算法,甚至一篇顶会都过不了简历筛选之类的论调。但大家一定要谨记:相关性不等于因果性。不是因为只有一篇顶会论文过不了简历,过不了简历很大部分原因是因为简历和岗位不匹配,近年来算法岗的**匹配程度**被愈发看重,这或许才是有顶会的简历也过不了筛选的原因。科研论文方面没什么办法能够速成,只能靠平时的努力和勤奋。 59 | 60 | ##### **2.1.2 项目经历** 61 | 62 | 注:文中所述的项目包括校企合作项目、算法竞赛、开源项目。 63 | 64 | **校企合作项目**:这个和研究组高度相关,看导师是否接横向,以及是否把横向分配给你做。做的时候可能会很痛苦,但写简历的时候会享受到痛苦是值得的。如果没有太多信心给自己的简历上出彩,做一些校企合作项目也会为自己打下扎实的基础,而且也许会产出论文的点子,一举多得。 65 | 66 | **算法竞赛**:随着将算法集成到产品的企业越来越多,也不断有企业开办算法竞赛(此处特指计算机视觉和自然语言处理,不包括 ACM)设立奖金来套大家的算法方案。而算法竞赛的周期往往是三个月到半年的时间,适合喜欢实操和获得竞赛排名正反馈的同学参与。 67 | 68 | **开源项目**:近几年的趋势是,面试官见过了太多的简历上描述的项目,大部分项目没有什么含金量,细节也经不起推敲。而如果你是开源项目的 Contributor,面试官多数时候会对你有一个好印象,因为你有一些有价值的 PR 被合入这件事至少能够反映几件事:对 Git 的使用比较熟悉;能够搞懂中高级复杂的项目并发现 Bug 和修复;代码风格尚可;写代码的自驱力不错等等。开源项目其实不长,没有明确的节点。并且你能够在 issue 中发现很多明确的问题,维护者也会抛出一些待修复的问题,渴望社区同学来贡献,不用像科研一样费尽心力去想点子。诸多的优点让我也十分推崇大家用为开源项目贡献的方式来提升自己的竞争力。拓展阅读可以看刘未鹏老师的文章:[怎样花两年时间去面试一个人](http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years) 69 | 70 | 如何参与开源项目呢,这里列出一些开源项目的平台: 71 | 72 | - Google 的 GSoC:https://summerofcode.withgoogle.com/ 73 | - 阿里巴巴的阿里巴巴编程之夏:https://asoc2022.opensource.alibaba.com/ 74 | - CCF 的 GitLink 编程夏令营:https://www.gitlink.org.cn/glcc 75 | - 中科院软件所的开源之夏:https://summer-ospp.ac.cn/2022 76 | - OpenMMLab 的超级视客营:https://openmmlab.com/activity/codecamp 77 | - PaddlePaddle 的飞桨黑客马拉松:https://aistudio.baidu.com/aistudio/competition/detail/776/0/introduction 78 | 79 | ##### **1.1.3 实习经历** 80 | 81 | 在投递实习的时候大部分同学是没有实习经历的,这也包括我。所以在投递实习的时候可以空着,而在秋招时,如果能够有一段较高质量的实习经历并且善于总结,会大大提升面试通过的成功率。 82 | 83 | ##### 1.1.4 简历准备建议 84 | 85 | 这三板斧大家要根据自己所在研究组和个人的实际情况来准备。就这几年的行情来看,某一方面做的特别好的同学都能够在人才市场上炙手可热,例如竞赛大佬/Kaggle Master、手握多篇顶会的学术大佬、多段高质量实习的大佬;但更多的同学不能这么专注,那么能够在两个方面做到还不错的也能够有不错的去处。而如果是三角形战士,一定要突出自己的相对长处,侧重讲其中两个方面即可。 86 | 87 | 那应该如何准备呢。针对算法岗来讲,竞争力最强的是顶会论文,如果能够有顶会论文产出的组可以投入更多的时间到科研中去。但这种组毕竟是少数,如果组里的论文情况堪忧,那么首要的事情是调整重心到实习和项目中去,而实习的前置条件是导师放人出去实习,建议提前和导师沟通好需要什么条件出去实习(我们组基本是完成两篇工作,不耽误毕业论文的情况下可以放实习),由此来规划自己的时间节点。 88 | 89 | 简历撰写方面,一定是使用 [STAR 法则](https://wiki.mbalib.com/wiki/STAR原则) 来撰写论文。我个人常用的句式是: 90 | 91 | - 该项目/论文/竞赛旨在解决 XX 问题,我们提出了 XX 算法框架。个人负责内容为:XXX。最终我们获得了 XX 成果(达到了 SOTA 性能 / 提升算法效率 / 获得竞赛名次) 92 | 93 | #### 2.2 算法岗之面试三板斧 94 | 95 | 我认为的算法岗面试三板斧是:沟通能力、基础能力、洞察能力; 96 | 97 | ##### 1.2.1 沟通能力 98 | 99 | 首要的是沟通能力,包括自我介绍和对自己过往经历的简要介绍,以及在对经历细节提问时的答复。 100 | 101 | ##### 1.2.2 基本能力 102 | 103 | 基础能力包括对代码能力和领域知识的考察。 104 | 105 | 代码能力就是面试官会问一些需要编程实现的题目,有的是算法题,类似 Leetcode,提供输入输出的样例,让你编写代码,并且会有时间复杂度和空间复杂度的要求。还有一类就是岗位相关的代码实现,以 AI 算法岗举例,商汤很喜欢让你手写一个 BN、交叉熵函数、残差模块、评价指标等。我本人还遇到过让我手写生产者消费者模式的(操作系统的知识范畴)。 106 | 107 | 领域知识的考察一般包含通用知识以及岗位相关的知识,我们俗称为八股文,因为大部分都是可以靠背诵和理解来记住的。以算法岗为例,会问 BN 的原理,卷积参数计算,损失函数等基础知识,还会结合岗位问一些岗位相关的,例如目标检测算法的发展历程,anchor-free 和 anchor-base,transformer、自监督等等。有时候面试官也会根据你简历的内容来考察你对自己所研究领域的熟悉程度。 108 | 109 | ##### 1.2.3 洞察能力 110 | 111 | 洞察能力这一节就比较泛了,包括很多内容,下面举几个例子 112 | 113 | 例一:针对某个场景的问题,给出一个解决方案。我字节一面时就给了这样一个题目:抖音直播带货时,如何从直播间内识别到所对应的商品是什么。 114 | 115 | 例二:问你对某个领域的看法,开放式问答。谈谈你对 Transformer 的理解;你觉得生成式的自监督算法为什么能够起作用。 116 | 117 | 例三:对编程习惯或者研究习惯的询问。华为诺亚主管面时被问到这样一个问题:你所研究领域中比较资深的学者和组有哪些;你觉得做研究最重要的是什么 118 | 119 | 其中例一这种情况很常见,面试官可能会拿他正在做的内容来提问你,可以理解成一种白嫖方案,但确实能够筛选出优质的候选人。 120 | 121 | ##### 1.2.4 面试准备建议 122 | 123 | - 自我介绍和写简历一样,要遵循 STAR 法则来讲述自己的过往经历。对于经历的细节一定要足够熟悉,避免模糊其词的描述,会导致面试官的不信任。此外,如果能够引导面试官往自己熟悉的方向上引领也很重要。例如对你的经历理解有偏差时,你可以先回答他然后再加以解释,“实际上,我在校期间的研究工作更关注于 xxx,我认为 xxx”。另外沟通能力也体现在一些细节上,例如他在给你出算法题时,你如果想出一个思路,你要和面试官先沟通思路的正确性,比较 nice 的面试官会有一定提示;如果没有思路,你也可以说下自己的大致想法,以避免尴尬的局面出现。沟通能力的培养有两种比较好的方式:在公共平台上进行内容创作和输出;和方向类似的小伙伴开展模拟面试(Mock Interview),互相查漏补缺,并逐渐习惯面试的状态。 124 | - 代码能力来说,我个人刷题量没有那么多,大概有150道左右。刷题历程就是先跟着代码随想录把大部分题目刷完,大概的思路和代码模板掌握之后,开始去刷 codetop,因此我所用到的刷题平台也仅仅是代码随想录和codetop。事实证明,你只要掌握 codetop 的高频题,你大概率遇到的也都是原题或者变形题。刷题过程中最重要的一点是,要记得复习,我会开一个 GitHub 仓库来记录自己的刷题历程,每一次做错的点都会以注释的形式写在那里([个人仓库链接](https://github.com/Muyun99/LeetCode_Solution/blob/master/Codetop/二分查找/33.搜索旋转排序数组.cpp)),每天其实会以不会的旧题为主去复习,新题刷的比较有限。到最后有的题目甚至会刷上七八遍。这是属于我的笨方法,但我个人感觉是符合艾宾浩斯遗忘曲线的,适用性比较强。至于编程规范,可以参考大厂的代码风格指南,例如《Google 开源项目风格指南》;还可以做个人开源项目以及对现有开源项目贡献代码。 125 | - 至于八股文,自己开个文档不断对着牛客的面经去总结(可以和求职小伙伴一起添加),以问题的形式不断去拓展一个知识的边界,直到完全弄懂。以点成面,你其实可以预判面试官会问你哪些问题了。我会看江大白老师的《人工智能算法岗江湖武林秘籍》,里面有很多问题可用于查漏补缺。 126 | - 至于洞察能力,则不太能够通过提前准备来完全,因为不能预判面试官会出什么场景的题目。但是一些比较通用的场景可以自行积累解决方案,然后在分析问题的时候可以往上面靠。例如小目标检测分割的优化,标签有噪声应该如何检出等等。此外,可以多关注一些企业的技术公众号,会给出一些高屋建瓴的技术方案,不过技术细节会比较少,需要自己再进一步搜集。例如美团技术、得物技术、爱奇艺技术、腾讯技术、小红书技术等、快手音视频技术等等 127 | 128 |  129 | 130 | #### 2.3 准备心得 131 | 132 | 在求职准备阶段,一定要摆脱思考惰性。在不断的了解术语的过程中记录知识,这仅仅是输入;将知识串到一起,去输出观点,这才是知识内化。个人习惯是用卡片笔记法记录知识,将碎片化知识和输出集中到一处,不定期地回顾与总结。另外要积极地获取评价和反馈**:**不论导师是否允许实习,要勇敢地投递简历和面试,在不断被评价的过程中成长。以下是我信息渠道分享及信息整理的实践,以供参考 133 | 134 | - 《产品沉思录》:理性、沉浸、客观地度量自己,从冷静下来的人那里汲取养分 135 | - RSS + RSSHub:让信息流主动输入,https://www.bmpi.dev/self/use-rss-email-read/ 136 | - 南航 Blog 收集计划:https://blogroll.a2os.club/ 137 | 138 |  139 | 140 |  141 | 142 |  143 | 144 |  145 | 146 | ### 3、秋招实战 147 | 148 | 经过前面两个阶段,保持思考、成功去实习之后,对自己有更深的了解了,个人判断会更加准确。需要自己定义什么 Offer 是满意的。这阶段要做的是心态的调整:认识自己,调整预期 149 | 150 | - 多看看一些相似的案例,多听听自己内心的声音 151 | - 多感受当前就业市场的情况,即使调整预期(22 年的求职市场冷冷清清,大家一定要坚持下去) 152 | - 做选择的时候还是征求他人的建议:家人朋友和前辈 153 | 154 | 最后是谈薪和选择,这部分我并没有太多经验,甚至因为等待太久,开奖时太过兴奋都忘记 A 点期权了,所以给大家两点建议吧: 155 | 156 | - 要有勇气地去谈薪和等待自己的心仪公司 157 | - 如果自己还是没有满意的 Offer,撰写论文积极准备春招。不要高估自己对不理想工作的容忍度 158 | 159 | 最后有一点小 tips : 160 | 161 | - 可以多关注其他学校的官方就业公众号。例如想回四川工作,那么就关注川大成电的就业公众号、如果是想到长三角,那么就关注南大、东南、浙大、上交、复旦、同济等高校的就业公众号,甚至可以去参加他们的就业会。求职的时候,莽是一个优势,是勇敢的体现。 162 | 163 | ### 4、寄语 164 | 165 | 研究生生活不限于简历,我很多内容没写到简历上。硕士期间我参加了校研会认识了一些好朋友,参加了学校的合唱团去上海保利大剧院演出等等。这些都构成了我读研生活中的闪光点,和同学们的交流中也进一步明晰了我的求职方向。不可否认我们所有人都对“宏大叙事”有偏爱。但其实宏大叙事能够成功,往往都是从最重要的一两个点来突破的,而这一两个点,必须有人从头到尾,从始至终的关注细节,否则就是一堆处处漏风的空中楼阁。 166 | 167 | 这段时间的求职季,身边的同学大多不太如意。这股焦虑也蔓延到了下一届的同学身上,他们就像快要被打针的下个同学一样,笑不出来。今年秋招的时间拉的很长,从夏天到冬天,寒气非常真切地传递到我们身上,大家一定要坚持住。我中午在准备部门研讨会的分享流鼻血,好在下午的分享比较成功。请假回家的路上,买了水果发现天上有彩虹🌈。晚上面试的面试官人特别nice,第二天的早上收到了转正通过的邮件。好消息纷至沓来 168 | 169 | 现在是在走上坡路,走起来会很辛苦,但其实这段时间是会特别特别快的。我这人比较笨,过去的日子我其实走的不是很快,我很欣慰的是:我慢慢在走,在尝试不同的方向和输出文字,记录心中所想, 170 | 171 | 慢慢形成了稳定的思考范式,这无数的过往经历给了我信心:问题总能找到解决方式的,只要我继续走就行了 。也印证了慢就是快这个观点。人类的赞歌是勇气的赞歌,我一直在提到我们要有勇气,走出思考舒适圈,去投递简历和面试,去等待心仪的公司等等。 172 | 173 | ”人生的过度,当时百般艰难,一天蓦然回首,原来已经飞渡千山”,这是我大一辅导员见面会给我们说的话,我一直觉得很有力量,分享给大家。希望大家的付出有所回报,研究生生活愉快,秋招顺利,谢谢大家! 174 | 175 | ### 5、 参考资料(建议看完) 176 | 177 | - [推荐算法上岸历程—备战实习秋招](https://logicjake.github.io/2021/12/01/算法秋招上岸历程—备战实习秋招/) 178 | - NUAA-INTERVIEW:[ https://github.com/NUAA-Open-Source/A2OS-INTERVIEW](https://github.com/NUAA-Open-Source/A2OS-INTERVIEW) 179 | - 用随机梯度下降来优化人生(常读常新):https://zhuanlan.zhihu.com/p/414009313 180 | - 两次校招后呕心沥血整理的指南(有很多求职黑话的介绍):https://sspai.com/post/64458 181 | - 怎么花两年时间面试一个人(从面试官的角度解释了 GitHub 开源项目的重要性):http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years/ 182 | - 由实习与校招想到的(从实力与潜力的角度去理解秋招):https://zgq.ink/posts/internship-and-campus-recruitment 183 | - 写在20年初的校招面试心得与自学CS经验及找工作分享(面试技巧和准备历程,很细节):https://github.com/conanhujinming/tips_for_interview/blob/master/README-zh_CN.md 184 | - 【方法论】校招碎碎念(秋招方法论介绍):https://imageslr.com/2021/autumn-recruit.html 185 | - 校招面试不完全指南(作者的其他Blog也很有趣):https://www.zackwu.com/posts/2020-10-05-an-incomplete-guide-to-campus-recruitment-interviews/ 186 | - 问一下几个关于实习的疑惑?:https://0xffff.one/d/940-wen-yi-xia-ji-ge-guan-yu-shi-xi-de 187 | - 202x年,校招算法岗将走向何方:https://mp.weixin.qq.com/s/kt3TBoQiL0SH_6XjjCoAmw 188 | - 推荐算法上岸历程—备战实习秋招:[推荐算法上岸历程—备战实习秋招](https://www.logicjake.xyz/2021/12/01/算法秋招上岸历程—备战实习秋招/) 189 | - 给算法校招同学的一些建议:观点篇:https://zhuanlan.zhihu.com/p/567878099 190 | - 算法工程师的「天地之间」:https://mp.weixin.qq.com/s/XV76d-c9LRA_VCOSO1Bx0g 191 | - 天才清单:https://zhuanlan.zhihu.com/p/475366689 -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)芯片产品工程师-不妨一试-Neal.md: -------------------------------------------------------------------------------- 1 | ## 不妨一试 2 | 3 | **作者介绍** 4 | 5 | 6 | * 作者:Neal 7 | * 邮箱:836331735@qq.com 8 | * 最终去向:思瑞浦 芯片产品工程师 9 | 10 | ### 写在前边 11 | 12 | 13 | * 秋招结束后第一次对其进行全盘复盘。“不妨一试”是我对于2023届秋招的总结,当我们开始秋招时我们很多需要长时间积累的东西已经很难改变,这时候如何更加深度的认识自己且找到合适自己的工作就变的很重要,找工作在不能短时间提升自己的情况下更多是信息差,所以遇到好的公司好的机会不妨一试。个人能力和专业能力是我们的基本盘,但是从不是限制我们选择的因素,所以不妨一试。 14 | * 我的个人情况是本非硕二,本科是环境科学跨专业考研计算机,所以计算机技术水平一般,因此我个人经验在技术方面可能帮助不大,在一些面试感受和行业公司选择有点心得,这篇总结更多记录我的秋招经历,对于行业和职业的选择的一点思考。 15 | ### 秋招的行业直接感受 16 | #### 互联网 17 | * 互联网最近一直是我们专业的首选。定个基调,互联网技术研发岗既然是最好的选择之一,随着互联网红利消退和国家的发展方向脱虚向实(今年尤为明显),互联网竞争非常激烈我在阿里和字节同学反应,他们招人现在是HC少需要来了就能干活且要求学校、大厂实习经历和项目经历还有面评也高于往年,所以评价自己的情况理性看待。 18 | #### 新能源汽车 19 | * 新能源汽车:国内新能源汽车从offershow反应工资高于BAT,但是投递难度和互联网会好一点,因为国内能开的起和互联网工资持平的也就是蔚小理,岗位数量和公司体量确实没有办法和BAT相比,而且公司盈利点和产能也是限制因素,随着极氪和BYD国内传统汽车行业入局竞争也是非常激烈,这里说一下对新能源汽车的看法,汽车行业特斯拉已经把新能源车的路都走出来且公司也做到世界第一,资本对其也非常看好上市然后套现走人也非常方便,对于我们应届生来说,工资水涨船高也是非常正常的。且对于国内来说,新能源车的发展主要冲击日产车在国内的销量,也拉动上下游的供应对于现在低迷的经济非常重要,也是五年内个人看好发展的方向。 20 | 21 | #### IC行业(秋招的光) 22 | 23 | 24 | * 芯片行业是现代科技发展的基石,国外依然发展了大几十年,我们不能不承认差距,但是对于计算机的同学对于硬件知识的了解才是我们的护城河(这句话想说好久了),我身边本硕都是计算机的同学接受起码7年的专业学习,那些才是专业的核心点是别人需要至少花同等时间才能追的上的-那就是对于底层硬件的了解微机原理、编译原理诸如此类。我们学了这么长时间大家都是想要在社会证明自己的能力的,为天地立心,为生民立命,为往圣继绝学,为万世开太平,我们也是有使命感的。现在来看计算机专业适合芯片的哪些职位把,对于软件开发来说那就是EDA、CAD、PDK软件开发(篇幅有限)芯行纪(南京38w)、合见工软等,身边同学拿到的offer从20W到40W不等,管中窥豹,对于嵌入式开发来说,需求面非常广泛从汽车厂商外企博世、蔚小理、BYD等等、芯片研发公司地平线、恩智浦等,算法来说,主要做图像算法、指纹识别将算法集成到硬件,现在都是硬件软件算法集成到一块,难度比互联网小但是随着工作经验增加护城河也随之增加。 25 | 26 | ### 最后建议 27 | 28 | 无论学弟学妹选择什么行业和方向,都是建议早点实习来选择好自己努力的方向,认真准备,即便今年是秋招那么难,但是我身边认真踏实准备,修炼好内功的同学都有不错的offer(20-50)。 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)芯片软件开发-芯片软件求职之路-EricPei..md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 芯片软件求职之路 4 | 5 | **作者介绍** 6 | 7 | - 作者:Eric Pei 8 | - 邮箱:1198285594@qq.com 9 | - 最终去向: 蔚来汽车芯片软件开发岗 10 | 11 | 朋友们好,我在今年的秋招里收获了不少意向,最终签了蔚来的智能硬件的开发岗位,希望自己的分享能对大家有帮助哈。 12 | 13 | 14 | ### 简历 15 | 首先是投简历。简历是敲门砖嘛,一定一定要重视,好好包装自己。在简历里组好能有一段实习经历,实习经历会增加秋招简历筛选通过的可能性。没有实习经历的朋友也不用担心,简历上可以写上自己在学校里做的论文和项目,当然了简历不要造假。简历大概分为:个人信息、学生工作、实习经历、项目经历、实践经历、掌握技能、所获荣誉、综合评价等等。我的感觉就是越重要的经历越要写在前面,简历的关键字里也要显示自己的技能,因为很多HR第一步筛简历的时候会根据你写的关键字来判断你是否符合岗位的要求。 16 | 17 | ### 投递 18 | 写好简历之后就要开始投递啦,投递的时候尽量海投。朋友们可以看看这两年的风口以及趋势,处在风口上的企业通常招人更多。这两年芯片和新能源都很热,我在投递的时候刻意避开了算法岗,几乎所有的公司的投递都和高性能计算,芯片软件有关。朋友们也可以根据自己的情况,多多投递。在投递之后要建立一个在线文档来实时更新自己的情况,以防止忘记面试时间的尴尬境地。 19 | 20 | ### 笔试 21 | 通过简历筛选之后就是笔试了,当然很多企业的简历筛选和笔试可能是同时进行的。大多数互联网企业的笔试都是几道编程大题,平时朋友们可以多刷刷力扣,来增加手感。 22 | 23 | 24 | ### 面试 25 | 通常面试会分为技术面和HR面,技术面通常有2到3轮,HR面有1轮。技术面一般会让你作自我介绍,介绍自己的基本情况和做的一些项目和论文,这里提醒大家对自己简历上写的东西一定要了解地非常清楚,因为有些面试官会对项目的细节扣的非常非常细来考察你是否真的做过项目。在技术面中遇到会的问题朋友们要注意整理好语言,尽量有逻辑地回答;遇到不太清楚或者不会的问题也不要慌张,可以说一些和这个问题相关的内容。在面试的过程中,尽量争取到自己说话的机会,尽可能多地表现自己。我在一面蔚来的时候,面试官给了我机会让我介绍自己在实习中做的某个具体的点,我就抓住这个机会围绕这个点展开了很多层面的论述,这个问题直接让面试官好感拉满。在面试的结束阶段,一般会让你提问,朋友们不能忽略这个提问的机会,应该提前准备好这个环节的问题。在二面蔚来的时候,面试官一上来就让我问他问题,一直让我问了接近半个小时,幸好我有所准备,才把这个环节应付下来。 26 | 27 | 在技术面之后的HR面通常略为轻松,HR会问你一些个人情况,以及期望薪资等等。在问期望薪资的时候,朋友们一定要自信,给HR传达明确的信号。比如HR问你期望薪资,你回答看着给就行那HR可能就会给你较低的薪资。我在谈薪的时候,非常具体的给HR说明了期望的月薪与年包,最终给出的薪资也比我报的更高一些。另外如果有多家公司的offer的话,可以在谈薪之前就和HR说一说,这会增加你获得更高薪资的可能性。 28 | 29 | ### 面试后 30 | 在面试完成之后,如果朋友们通过的话,通常会给你发意向。朋友们千万不要因为拿到意向就放弃别的公司的面试,因为身边被毁意向的同学也不少。另外,在找工作的时候要保持良好的心态,面完了不用去纠结上家公司的结果,而是应该看看剩余公司的面试。 31 | 32 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)软件开发-IC 秋招的一道光-Cooling.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # 秋招总结 4 | 5 | **作者介绍** 6 | 7 | - 作者:Cooling 8 | - 邮箱:744508924@qq.com 9 | - 最终去向:瑞晟微电子(苏州) Linux软件开发 10 | 11 | ### 个人背景 12 | 13 | 大家好,我是23届求职的Cooling,在此分享自己的求职经验,尽一点绵薄之力希望能或多或少得帮到各位。本科物联网工程,硕士计科。硕士研究方向是强化学习应用相关,无实习经历,大部分投递岗位都是C/C++软开。今年二月底返校写完小论文,在此之前没有任何实质性求职准备,三月中旬开始投递实习的简历,到九月底开始陆陆续续收到正式的offer。在今年互联网寒冬的影响下,这期间的大半年感觉总是时间紧迫,间歇性地找不到工作的自我怀疑。如果时光倒流,真想回到去年寒假告诉自己一定早点准备,可惜没有如果。由于本人实习是妥妥的失败典型,有没有好的实习经历再秋招很重要。当然巨佬除外,怎样都乱杀。下面我主要分享自己的秋招经验, 14 | 15 | 16 | 17 | ### 方向选择以及准备工作 18 | 19 | 1、关于实习 20 | 21 | 关于求职的方向选择,我是深有体会的。实习的时候自信爆棚,想冲一下强化学习的算法岗,三月中旬开始投递了一批简历,因为RL的实习岗位主要集中在大厂,所以只好硬着头皮冲了,冲的时候Leetcode还不到80题,只是回顾了一下RL的相关知识就去冲了。可想而知,教训是十分惨痛的,字节第一个面试,一面就凉了,复盘的时候发现自己想的太天真了,RL虽然是人工智能比较新的方向,机器学习和数学相关知识大概率会被问到,字节的面试主要是机器学习基础难到了我。大厂招算法岗校招生当然也是喜欢算法基础扎实的,进去好培养,毕竟学术和工程是两个相差很大的领域。当然前面说的是我后面复盘想明白的。我实习面试的有:字节、阿里、华为诺亚方舟、快手。接连的面试失利,我陷入了深深反思,RL求职上岸的概率有多大,主要结合自己情况分析,从论文、实验室项目、算法基础分析得出,果断放弃了,于是秋招重新回到开发。今年秋招算法岗有多少大佬颗粒无收,想来我这个菜鸟做的决定还是有点明智的。这里给大家的建议是,一定要结合自己实际的背景以及能力的情况来选择方向,毕竟选择大于能力,赛道不一样,付出的努力和得到回报之间的对比关系是不能相比较的。 22 | 23 | 2、关于秋招 24 | 25 | 四月中旬实习颗粒无收,于是结合自己背景,规划了写在简历上的项目,最适合自己的还是把C/++作为开发语言。下面简单分享一些我的心得: 26 | 27 | 首先,说一下选择开发语言一块,实验室大概15个小伙伴,选择cpp方向算我本人在内仅两位。个人感觉做选择的时候,关于java和cpp,一定不要盲从周围环境,要从自己实际的角度出发。最好选择自己有基础、感兴趣的。如果真的是两个都行,可以参考身边的小伙伴,这样便于后面的经验交流。 28 | 29 | 其次刷题,Leetcode越多越好,多总结,保持手感。推荐:[代码随想录](https://www.programmercarl.com/),LC的剑指Offer。 30 | 31 | 其次,简历项目方面,如果实验室项目和个人原创项目过于单薄,可以选择一些开源项目进行学习,尽量不要在一些视频网站上找一些烂大街的项目,最好找一些比较新颖的项目,代码量适中最好,面试官在项目提问的时候,其实大部分是在考察求职者项目是不是实际开发过的(项目细节),再就是穿插一些基础问题(八股),难一点的就是他提出一些场景需求,问你怎么实现比较好(系统设计),还有就是开放性问题,比如难点挑战是什么,如何解决遇到的问题,改进的方法有哪些(分析问题能力)。准备项目的建议:一定要实现调通,主要功能如何实现搞明白,用到的相关技术会被如何提问要有个问题List,然后就是面试后总结不断提升。 32 | 33 | 然后,计算机基础知识,所谓的八股。其实个人认为,算法题、八股和项目应该是五三二开。八股的话,java比cpp多很多框架相关的知识,cpp的基础知识如os、计网会问得更深(字节提前批直接麻了),但os和cpp基础其实有点共通,所以越有体系,八股可能觉得越少。如果是cpp方向,OS应该是最重要的。个人推荐可以看书,如果觉得慢可以去b站看王道视频,这其实可以应付大部分公司的一二面了,深挖os是很难的;计网的话最好是建立起网络协议栈的思维,看书不用全看完,主要就看看网络层、传输层和应用层就够了,这部分八股需要记忆的最多;数据库方面,个人觉得cpp问的很少,只要不找数据库基础软开,可以轻松准备一下。基础知识框架搭好了之后再去记忆一些八股笔记,推荐:[小林Coding](https://xiaolincoding.com/),[阿秀的笔记](https://interviewguide.cn/#/README),阿秀总结了cpp的学习路线,可以参考。学习基础知识的时候,要有自己的笔记,最好是自己的总结出的语言,面经也需要记录并整理。 34 | 35 | 最后,简历投递。在投递简历之前,学会搜集企业信息,牛客网多去刷刷。大胆投递简历,找好自己的节奏,投递简历,结合面试的公司要有特点地准备。cpp就业方向很多,互联网大厂竞争比java应该小不少;最近的风口有芯片IC行业、自动驾驶以及电车、金融量化开发、新能源电池领域,这些方向对应的企业都可以去尝试,薪资待遇真不比互联网大厂差。再者简历需要不断修改,结合面试遇到的问题不断打磨;投递的简历最好不要一样,不同行业不同性质的公司最好分开,简历可能奠定了面试的节奏。 36 | 37 | 38 | 39 | ### 秋招情况 40 | 41 | 简历投递:海投选手100+ 42 | 43 | 面试次数:太多太多记不清了 44 | 45 | Offer情况:10+,互联网颗粒无收,IC和国企都是光,IC公司都是九月中下旬开始面试,应该是投得晚了,秋招开始时没有摆脱掉互联网秋招的思维。 46 | 47 | IC开发岗:瑞晟微电子、摩尔线程、矩泉科技、翱捷科技等 48 | 49 | 国企:八院509、中广核、九院飞鹏时代等 50 | 51 | 其他:广州中望CAD、深圳睿联、白杨时代算法岗 52 | 53 | 54 | 55 | ### 最后的话 56 | 57 | 踏踏实实准备,大胆投递简历; 58 | 59 | 选择大于能力,不可盲目跟风; 60 | 61 | 多多交流,多冲浪了解企业信息; 62 | 63 | 面试做好复盘,不断总结完善。 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /2023 届实习秋招/(2023届研究生秋招)软件开发-谈谈寒冬下我的校招历程-MrBean.md: -------------------------------------------------------------------------------- 1 | ## MrBean 的工作杂想 2 | - [【篇 1】谈谈寒冬下我的校招历程](#1) 3 | - [1.1 写在前面](#1-1) 4 | - [1.2 刷题](#1-2) 5 | - [1.3 背八股](#1-3) 6 | - [1.4 项目经历](#1-4) 7 | - [1.5 行业选择](#1-5) 8 | - [1.6 offer 选择](#1-6) 9 | - [1.7 人生思考](#1-7) 10 | - [【篇 2】工作中保持向上姿态的实践与思考](#2) 11 | - [【篇 3】试用期结束|谈谈我的入行经历与工作所思](#3) 12 | - [3.1 序言](#3-1) 13 | - [3.2 起因](#3-2) 14 | - [3.3 业务入门](#3-3) 15 | - [3.4 项目支援](#3-4) 16 | - [3.5 对国际视野的思考](#3-5) 17 | - [3.6 产品思维与企业思维](#3-6) 18 | - [【篇 4】工作一周年总结 | 甲辰新年随笔](#4) 19 | - [4.1 前言](#4-1) 20 | - [4.2 反者道之动](#4-2) 21 | - [4.3 渐悟与顿悟](#4-3) 22 | - [4.4 对工作业务的领悟](#4-4) 23 | - [4.5 感受当下](#4-5) 24 | 25 | 26 | 27 | 28 | 29 | 30 | ##