想起了学弟在去年秋招时面试了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问到“你最大的缺点是什么?”

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

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

历经70+场面试,我发现了大厂面试的bug,并总结其中心得的更多相关文章

  1. 《大厂面试》京东+百度一面,不小心都拿了Offer

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和 ...

  2. 干货 | NLP算法岗大厂面试经验与路线图分享

    最近有好多小伙伴要面经(还有个要买简历的是什么鬼),然鹅真的没有整理面经呀,真的木有时间(。 ́︿ ̀。).不过话说回来,面经有多大用呢?最起码对于NLP岗位的面试来说,作者发现根本不是面经中说的样子 ...

  3. BAT大厂面试流程剖析

    在当今互联网中,虽然互联网行业从业者众多,不断崛起的互联网公司也会很多,但如BAT等大厂,仍然是很多同学想要进入的企业.那么本篇文章将会为大家很直白的讲解大厂的面试流程以及侧重点. 首先闲聊一下,为什 ...

  4. 4000字干货长文!从校招和社招的角度说说如何准备Java后端大厂面试?

    插个题外话,为了写好这篇文章内容,我自己前前后后花了一周的时间来总结完善,文章内容应该适用于每一个学习 Java 的朋友!我觉得这篇文章的很多东西也是我自己写给自己的,比如从大厂招聘要求中我们能看到哪 ...

  5. 【大厂面试02期】Redis过期key是怎么样清理的?

    PS:本文已收录到1.1K Star数开源学习指南--<大厂面试指北>,如果想要了解更多大厂面试相关的内容,了解更多可以看 http://notfound9.github.io/inter ...

  6. 【大厂面试07期】说一说你对synchronized锁的理解?

    synchronized锁的原理也是大厂面试中经常会涉及的问题,本文主要通过对以下问题进行分析讲解,来帮助大家理解synchronized锁的原理. 1.synchronized锁是什么?锁的对象是什 ...

  7. 【大厂面试08期】谈一谈你对HashMap的理解?

    摘要 HashMap的原理也是大厂面试中经常会涉及的问题,同时也是工作中常用到的Java容器,本文主要通过对以下问题进行分析讲解,来帮助大家理解HashMap的原理. 1.HashMap添加一个键值对 ...

  8. 大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?

    本文首发于公众号:五分钟学大数据 在面试的时候,发现很多面试官特别爱问Kafka相关的问题,这也不难理解,谁让Kafka是大数据领域中消息队列的唯一王者,单机十万级别的吞吐量,毫秒级别的延迟,这种天生 ...

  9. 第一次"正经面试"之发现自己的缺陷和不足

    1:初试之校园招聘~~~ 如果你细心,可能发现了"正经面试"加了双引号,说起这次面试(昨天面的技术试),要从上礼拜六,距今已经一礼拜了吧.现在这个时候校园招聘已经蠢蠢欲动了吧,(说 ...

随机推荐

  1. TypeScript中变量调用时后缀感叹号和问号的区别

    typescript编译时,当我们开启严格模式时,下面的代码就会报错: function doSomething(x: string | null) { console.log("Hello ...

  2. python-筛法求素数

    [题目描述]用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数. [练习要求]请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释. [输入格式 ...

  3. java中求一下2008年5月31日, 往前倒30天是哪天?

    题目9: 2008年5月31日, 往前倒30天是哪天?  import java.util.*; public class Test {     public static void main(Str ...

  4. java中设置准确的时间日期类的用法

    5.日期Date相关类: 题目1: 设置准确的时间(jdk1.1以后Date的setHours不被推荐了,所以要用Calendar设置时间) import java.util.*;public cla ...

  5. Linux环境下Eclipse中快捷键不起作用

    在window->Preferences->general->keys中, 找到 content asist 修改下边值 Binding 改成 Alt+/ When 改为 Editi ...

  6. ccf201912-1 报数 C++代码实现

    代码实现: #include<iostream> using namespace std; /*题目限制为三位数*/ /*思路: 1.用一个长度为4的数组(初值为0)保存每个人分别跳过了几 ...

  7. 安装mysql ndb cluster二进制版本在linux上

    Installing an NDB Cluster Binary Release on Linux (官方安装手册)手册地址:https://dev.mysql.com/doc/refman/5.7/ ...

  8. uniapp中添加vant组件

    首先是npm i vant@2 -S 下载vant包 接下来就是找到main.js引入vant 然后就是在页面中直接使用 会发现没有样式 最后再找到app.vue再style里面全局引入vant的样式 ...

  9. Codeforces Round #762 (Div. 3), CDE

    (C) Wrong Addition Problem - C - Codeforces 题意 定义一种计算方式, 对于a+b=c,  给出a和c, 求b 题解 因为求法是从个位求得, 先求出来的最后输 ...

  10. android软件简约记账app开发day04-记账页面条目的代码书写

    android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...