历经70+场面试,我发现了大厂面试的bug,并总结其中心得

简介: 又是一年秋招季,想起了学弟在去年秋招时面试了50余家,加上暑期实习面试了20余家,加起来也面试了70余场。基本把国内有名的互联网公司都面了一遍,不敢说自己的面试经验很丰富,但也是不差的。这次专门把大厂的面试做了个总结,希望帮到大家拿到理想offer。

又是一年秋招季,想起了学弟在去年秋招时面试了50余家,加上暑期实习面试了20余家,加起来也面试了70余场。

基本把国内有名的互联网公司都面了一遍,不敢说自己的面试经验很丰富,但也是不差的。

这次专门把大厂的面试做了个总结,希望帮到大家拿到理想offer。


互联网公司从投递拿到offer的完整流程一般有:

  • 笔试、测评
  • 面试
  • offer沟通、三方

限于篇幅,这篇文章主要讲面试中的那些事。

面试又分为技术面和hr面试,大厂的技术面一般有三面,中小厂通常只有二面。

每轮面试的整个流程一般分三部分,第一部让你做个自我介绍,第二部分面试官考察专业能力环节,最后一部分是反问面试官环节。

第二部分和第三部分,在一面、二面、三面等都有不同的侧重点,下文会详细讲到。

自我介绍部分是非常关键的,用1-2分钟介绍下自己,突出下自己的相关亮点,有几点要注意:

  • 面试官在面试前可能没看过你的简历,通过自我介绍的时候了解你的情况
  • 可以用最擅长的来收尾,引导面试官的提问
  • 别扯没用的经历,比如面试互联网大厂的技术岗,不要讲太多社团经历
  • 人菜没关系,学校差没关系,项目low没关系,但一定要自信

推荐一份Java面试题手册给大家:


需要获取的小伙伴点击此处即可免费获取!

附一份自我介绍样例:

面试官您好,我叫XXX,是XXX大学2022届的学生,专业是XXX。在校期间,自己的成绩XXX,获得过XXX荣誉;做过XXX项目,项目使用了XXX,完成XXX;参加过XXX比赛,获得过XXX奖;在XXX公司实习,工作是XXX,为了完成这个工作,我做了xxx努力,最后取得xxx成果。

面试经验少的小伙伴,可以在面试前对着镜子模拟面试情景,反复刻意练习自我介绍,这样才能保证面试从容、不紧张。

一面

一面面试官通常由公司技术骨干担任,对于校招来说,一面比较看重基础。

一面通常考察:计算机基础八股文 + 技术栈八股文 + 手撕算法题 + 项目(实习)+ 开放性问题。

计算机基础八股文包括计算机网络、操作系统、数据结构与算法,这些课程在大学都会学到,某些大厂是很看重这些基础的,比如字节。

技术栈八股文指Java、C++、Python、Go等编程语言,比如Java,面试会问 Java基础、Java并发、JVM、MySQL、Redis、Spring、MyBatis、MQ等知识。

八股文知识,在我这份面试小抄pdf基本都可以找到。

手撕算法题,就是写代码,分为线上和线下,因为疫情原因,现在基本都在线上。

在线写代码通常有两种形式:

  1. 通过一些在线OJ平台,比如牛客网、赛码网,这些OJ平台支持视频面试,OJ平台都有自己的题库,在leetcode上基本都能找到。
  2. 通过腾讯会议、zoom等在线视频会议系统,面试官会开共享屏幕,在本地IDE写代码。比如写个快排、二叉树的左视图。

手撕算法题现在面试都需要,至少一道起步,像字节这类要考算法题的公司,一般2-3道。

手撕算法题考的题目在leetcode上都可以找到,大多考察easy和medium类型的题目,刷300道高频leetcode题,面试的手撕算法题基本没问题。

数据结构与算法相关面试题:



需要获取这份手册小伙伴点击此处即可获取!


Tip:

对于自己会的题目,不要高兴过头就立马写代码。相反,留下两分钟思考,组织语言讲清楚思路,再开始写代码,会显得自己头脑清晰。

对于不会的题目、没有思路的题目,不要直接说一句“这个不会”,而是跟面试官交流,让面试官给点提示,一般面试官都会给提示的。

比较好的公司都更会更看重于你解题过程中展现出来的思维能力和思考过程。

有时候你可能并没有得出最优解,但是如果你思路清晰,能跟上考官的提示,与面试官展开一个共同探讨的过程,往往比直接得出最优解更能获得考官的芳心。

项目或者实习在通常在一面中通常问的不会很深,只是简单聊聊项目的技术栈、项目的基本功能、框架的使用等。

最后,面试官会问一句“你还有什么问题要问我的吗?”,这个问题相当于把主动权交给你了,但也要注意,这时候就算不加分,至少也不要扣分。

最好不要问的,比如薪资水平、上下班时间、交通食宿补助、加班是否有加班费。因为这些问题是问hr的,现在问不合适,反而会造成坏印象。

可以问什么?对于一面的面试官,通常是技术骨干或者主管,可以问以下一些问题:

  • 部门的主营业务是什么?表达下自己对业务的好奇
  • 部门使用的技术栈、编程语言是什么、使用哪些框架、中间件?表达下自己对技术的好奇
  • 您觉得我的专业能力有哪些需要提升的,您有什么建议?
  • 您刚才那个问题,我想问下您的思路。体现自己好学

最重要的一点,某些同学可能想知道自己此轮面试是否通过,就直接问面试官“我这轮面试通过了没有”

切记,不能直接这么问!一般公司都有规定,面试官是不能现在跟你说的,会造成很尴尬的场面。

迫切想知道,自己面试的结果,可以问下面试官,多久会有结果、接下来的面试流程是什么。

二面

对于中小厂来说,二面就是技术终面了。

二面的面试官一般是技术leader,更看重解决问题的能力。

二面中,八股文和算法题比一面考察的少些,会更多问项目和实习的问题,还会问些开放性问题。

二面官会以项目为切入点,先问项目本身的背景和基础功能等,在一步步深入,问到项目相关扩展,直到你不会为止。

项目相关的问题可分为两方面,一是项目本身,二是项目扩展。

我汇总了常见的项目问法,可以对照看下,能答上百分之90,项目就能成为加分项。

项目本身

  • 项目的背景是什么,解决一个什么样的问题?
  • 项目中你的职责是什么?
  • 项目的基础功能有哪些?
  • 项目使用的技术栈是什么,技术架构是怎么样的?使用微服务了吗?
  • 项目是怎么搭建的,机器配置是什么样的,有做分布式吗?
  • 项目的具体功能细节,比如论坛项目中评论是如何存储的?怎么展示所有的评论?
  • 项目中框架或者中间件的使用细节。项目里怎么用ES的,ES怎么支持搜索的?缓存和DB是如何结合使用的?

项目扩展

  • 项目存在哪些问题,你准备怎么解决?
  • 项目的具体功能点如何优化?如论坛项目,查询评论是在DB里扫表查询吗?想要查询更快可以做哪些优化?
  • 项目中最有挑战的模块是哪个,你是怎么解决的?
  • 项目中使用某种框架的原因,比如使用了本地缓存Caffeine,为什么使用这个Caffeine,不使用Guava?
  • 项目要增大10倍的qps,你会怎么设计?
  • 项目上线后出现线上问题怎么解决?如频繁fullGc,定时任务失败怎么办?

开放性问题就比较灵活了,不要以为开放性问题就放松了下来,也是要认真回答的。

常见的开放性问题有

  • 最近在看什么书?面试官通过这个问题考察你对前言领域、对专业领域是否关注,是新事物理解如何。
  • 你了解过XXX技术吗,如了解过Service Mesh吗?还知道有关微服务的吗?看好奇心,是否会主动探索。
  • 你平时是怎么学习的?看学习的方法、学习的习惯,学习有没有体系?
  • 人生发展、最近五年的职业规划?
  • 你实习时或者做项目时,是如何协作的?看团队协作能力。
  • 聊优缺点,你最大的亮点是什么?
  • 聊在校经历,在校成绩
  • 最有成就感的事情,最丧的事情

二面都是主管级别的面试官了,所以二面的反问环节可以比一面更宏观些了,可以问:

  • 您面试后候选人,尤其是校招生,最看重什么?
  • 如果我有幸进入您的团队,您对我的期望是什么?
  • 您觉得胜任这个职位的人什么品质最重要?
  • 您对于候选人,尤其是校招生的职业规划有什么建议?
  • 这个职位的晋升机制、发展路径是怎么样的?
  • 我将要进入的团队有多少人,业务发展方向是什么?
  • 公司、部门对于新人的培养是什么样的?
  • 您认为我对于这个岗位的差距在哪里,哪些方面需要提升?

三面

进入二面,拿offer的概率就很大了。

三面官一般都是大leader,技术总监这类级别的。

三面通常就不会再问很多基础相关的知识了,三面更看重个人素质,毕竟能通过前面两轮面试的,技术能力肯定是过关的。‘

三面主要考察项目、开放性问题、智力问题,有些公司还会在考两道算法题,问些八股文基础。

智力问题是想考察候选人是不是聪明,这些题目其实就是看过就会秒解,不会一小时都想不出来。

常考的智力题有很多,这里简单列上几个,后面会出个智力题汇总的文章

通过烧绳子判断时间

分蛋糕问题

找出坏球

最快时间过桥问题

家庭聚会握手问题

天秤找出变质的那瓶药

猴子香蕉问题...

HR面

进入HR面试,基本问题不大了。

HR面试主要考察的是候选人的性格、上进心、价值观、工作的态度等

HR面试也要提前准备下,尤其是涉及到对方公司的企业文化、有什么代表性产品、历年的薪资水平等。

HR面试的回答没有什么固定答案,根据实际情况回答就好。

这里有个注意点,HR问到“你最大的缺点是什么?

千万不要回答没有缺点,我的缺点就是追求完美。只要是人就有缺点,说没有缺点一定会令人反感!

可以采用避重就轻的描述,并且自己还在不断改正,比如说自己性子急、对待效率低下的人,但是我平时和别人聊天的时候会控制自己语速和讲话,慢慢培养自己耐心


相关文章
|
Linux API
设备树知识小全(八):中断连接
设备树知识小全(八):中断连接
320 0
|
算法 架构师 安全
10年Java面试总结:Java程序员面试必备的面试技巧
作为一名资深10年Java技术专家,我参与了无数次的面试,无论是作为面试者还是面试官。在这里,我将分享我的一些面试经历和面试技巧,希望能帮助即将面临面试的Java程序员们。回顾我的Java职业生涯,我清晰地记得一次特别的面试经历。那是我申请一家知名科技公司的Java开发岗位。为了这次面试,我花了几周的时间准备,这不仅包括Java的基础和高级知识,还有关于公司产品的研究。
777 0
|
机器学习/深度学习 算法 机器人
使用 Python TorchRL 进行多代理强化学习
本文详细介绍了如何使用TorchRL库解决多代理强化学习(MARL)问题,重点讨论了在多代理环境中应用近端策略优化(PPO)。通过使用VMAS模拟器,该文展示了如何在GPU上并行训练多机器人系统,使其在避免碰撞的同时到达目标。文章涵盖了依赖项安装、PPO原理、策略与评论家网络设计、数据收集及训练循环,并强调了TorchRL在简化开发流程、提升计算效率方面的优势。无论是集中式还是分布式评论家配置,TorchRL均能有效支持复杂的MARL研究与实践。
236 5
使用 Python TorchRL 进行多代理强化学习
|
9月前
|
人工智能 数据可视化 UED
DragAnything:视频PS来了!开源AI控制器让视频「指哪动哪」:拖拽任意物体轨迹,多对象独立运动一键生成
DragAnything 是快手联合浙江大学和新加坡国立大学推出的基于实体表示的可控视频生成方法,支持多实体独立运动控制、高质量视频生成,并在 FID、FVD 和用户研究等评估指标上达到最佳性能。
399 10
DragAnything:视频PS来了!开源AI控制器让视频「指哪动哪」:拖拽任意物体轨迹,多对象独立运动一键生成
|
搜索推荐 API 数据处理
什么是无代码?哪些人适合通过无代码来开发自己的业务系统
无代码是一种无需编程知识即可构建应用的方法。用户通过拖拽组件并设置参数,即可搭建功能完备的应用系统。其核心特点是普适性和包容性,降低了技术门槛,提供了直观界面,能快速响应需求变化,同时降低成本并具有一定的可扩展性。无代码适合一线业务人员、中小企业及专业技术人员使用,但在高度定制化、复杂逻辑处理或深度系统集成方面仍需传统开发。以草料二维码为例,无代码平台提供活码、表单、计划管理等功能,助力快速搭建各类应用系统,使每个人都能成为开发者。
|
存储 缓存 大数据
三种交换方式的比较
互联网核心部分主要由路由器构成,负责分组交换。路由器是网络中转发数据的关键,它接收和转发分组,确保边缘部分的主机间通信。通信方式包括: 1. 电路交换- 用于早期电话系统,先建立连接,然后通话,最后释放,适合连续大数据传输,但线路利用率低。 2. **分组交换** - 常见于现代互联网,数据被分割成分组,每个独立转发,提高了线路效率和灵活性。 3. 报文交换-整个报文一次性转发,存储转发,适合小规模、非实时通信,但时延较长。 分组交换结合了高效和灵活性,是互联网核心的优选技术。
937 5
|
SQL 存储 关系型数据库
深入理解MySQL中的UPDATE JOIN语句
MySQL的UPDATE JOIN语句用于根据关联表的条件更新数据。示例中,历史记录表有用户账号字段,新增列用于存储用户名。通过UPDATE JOIN,一次性将账号转换为用户名。关键点包括准确的连接条件、谨慎使用WHERE子句以及在更新前进行测试。此操作提高了数据处理效率,但也需小心操作以防止数据错误。
747 4
深入理解MySQL中的UPDATE JOIN语句
阿里云备案流程、操作步骤及所需时间图文详解
阿里云网站一共经过五步骤,先提交材料到阿里云初审,阿里云初审通过后提交到管局,用户进行工信部短信核验,最后等待管局审核即可。整个过程快的话2天即可搞定,慢的话需要20多天左右
2867 0
阿里云备案流程、操作步骤及所需时间图文详解
|
Java API Maven
第三方支付API支付宝支付申请流程 支付宝新老版本
第三方支付API支付宝支付申请流程 支付宝新老版本
500 0