mirror of
https://github.com/chefyuan/algorithm-base.git
synced 2024-11-24 21:08:53 +00:00
477 lines
31 KiB
Java
477 lines
31 KiB
Java
|
# 给学弟学妹们的一封信
|
|||
|
|
|||
|
大家好,我是厨子,很荣幸收到地哥的邀请,来给大家分享一下我的秋招心得。
|
|||
|
|
|||
|
先说一下本人情况,中下游 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。
|
|||
|
|
|||
|
|
|||
|
|