本篇文章所述的重点包括如下内容:

  • 社招与校招面试的区别
  • 第一轮考察知识点与方向
  • 第二轮考察知识点与方向
  • 第三轮/第四轮考察方向
  • HRBP面试考察内容
  • 社招面试小技巧
  • 日常学习资源分享

社招与校招面试的区别

我们先来说下校招面试。校招面试主要考察的是大家对于基础知识的理解与掌握,数据结构和算法的熟练度。对于项目架构,业务逻辑方面的考察较少。这也就要求我们熟练掌握各个模块的基础知识点。

那么社招面试呢?

社招面试考察的部分包括:基础知识点的掌握,对业务逻辑(项目)的理解以及对未来的职业规划等。

社招面试中对于所做项目的考察,以及根据项目衍生出去的知识点是相当看重的,可能直接决定面试的成败。

我个人总结了下校招和社招的区别:

  • 校招面试看重基础,全方位无死角的考察各位的基础知识点,并且一般考察XXX是什么?XXX怎么实现的?
  • 社招面试对于项目的考察至少占到了一半,2面或者3面会针对项目做一个详细的沟通与了解,包括整个项目的业务架构,技术架构和技术难点和卡点等;
  • 社招面试都是这么考察的,XXX是什么?XXX是怎么实现的?XXX为什么这么实现?也就是说同一个知识点,比校招多了为什么要这么实现?
  • 校招的算法可能会比较难一点,而社招因为看重项目和技术的深度,限于时间,所以算法考察会相对简单一点。

为什么说社招面试中的XXX为什么这么实现比较难?

因为,我们在网上搜集到的资料中,绝大多数都是在介绍XXX是什么?XXX是怎么实现的?唯独没有介绍为什么这么实现,甚至于面试官会问还有没有别的实现方式?或者更好的实现方式?

这就导致同一个知识点,社招面试的难度可能会直线上升。并且我们日常也缺乏思考,喜欢背题,所以导致社招面试表现不佳。

接下来,我们按照社招面试一二三轮所考察的知识点来给大家进行一个介绍。

社招面试:第一轮(生死面)

不知道大家有没有这种感觉?面试中的第一轮才是真正的生死面,至少从我个人经验来说,确实是这样的。即使是社招面试,第一轮依然逃不脱我们前面所学的基础知识点。

如果校招面试考察的是这个知识点是什么?怎么实现的?那么社招面试在大多数情况下都会继续考察为什么要这么实现?

也就是说,我们在牛客刷面经的时候会觉得,你看这个社招面经的水平好低呀,简直就是校招水平,都是一些简单的基础知识点。我们某些同学甚至会膨胀,觉得自己对这些知识点已经熟练掌握啦。

殊不知,社招面试考察的是为什么这么实现?这个问题可不简单,好多知识点已经烂大街了,网上随便一搜,看看就懂了。但是,真正分析其为什么这么实现的深度好文少之又少。社招主要在考察我们是否对一些知识点进行过深入的思考与理解。

接下来,我们来看下一面的具体考察形式和知识点吧。

因为是社招面试,一轮面试官会让我们选择一个自己认为最可以体现自己技术能力的项目进行介绍。在你介绍完项目大概的业务逻辑之后,面试官会让我们说出该项目中的技术难点和技术卡点。(这块其实很难很难,后续介绍)这块项目的介绍与提问大概要花费15-20min左右。

然后就是基础知识点三连问,是什么?怎么实现的?为什么要这么实现?

下边列出这段时间笔者遇到的高频基础知识点。(注意啦!别眼高手低,看着简单,但是你能扛得住三连问吗?)

多线程并发编程:

  • 线程池的构造参数及其含义,如何确定线程池中线程的个数等
  • 定时线程池如何实现的?
  • synchronized,volatile关键字
  • 原子性,可见性与有序性
  • 可重入的锁ReentrantLock
  • ThreadLocal的实现原理
  • AQS底层实现,与ReentrantLock的关系

JVM知识点:

  • 内存区域划分
  • OOM介绍
  • 对象分配与回收
  • CMS和G1垃圾收集器
  • 对象可达性分析
  • 类加载机制
  • JVM调优参数
  • Full GC,Minor GC
  • 对象的栈上分配(JIT编译器)

MySQL知识点:

  • MySQL隔离级别
  • 一致性视图
  • 日志模块:undo log,redo log和binglog
  • 索引结构,回表,最左前缀原则
  • 间隙锁,幻读,MVCC
  • SQL优化实战

Java基础:

  • NIO的实现原理
  • HashMap,HashSet,LinkedHashMap以及ConcurrentHashMap
  • hashcode与equals方法的区别
  • RuntimeException Exception Error
  • 注解的使用
  • 基本数据类型
  • 五种常见的网络IO模型

Spring&MyBatis:

  • Spring IOC和AOP的原理
  • SpringBoot源码解读,启动方式,配置顺序等
  • SpringMVC和Spring父子容器的关系
  • Spring的事务实现方式
  • 如何自定义实现SpringBoot中的starter
  • MyBatis中#和$符号的区别

网络协议:

  • TCP与UDP区别
  • TCP可靠性如何保证
  • TCP网络包分片与重组
  • 三次握手与四次挥手,状态转换
  • SSL握手协议使用的加密算法,非对称加密的缺点
  • XSS和CSRF介绍

Redis&Kafka:

  • redis实现分布式锁
  • redis数据结构类型
  • redis zset实现延时队列
  • 跳表如何维护
  • redis线程模型
  • redis的数据过期方式
  • redis持久化方式
  • 缓存雪崩,缓存穿透,缓存击穿
  • Kafka主题,分区和日志文件的关系
  • Kafka日志压缩和删除
  • 消息队列基本特性

好了,一面的基础知识考察主要是上边这些。这个过程大概20min左右,其实也问不了几个问题,前提是你回答得还不错。

接下来的环节属于“手撕”算法环节。

比较幸运的是,视频面试期间,各大公司基本采用了牛客的在线视频面试方式。所以,我们可以在面试间直接写入可以运行的代码。社招对于算法的考察比较基础吧,

笔者在多家公司的面试中都未曾遇到特别难的算法题目,这里还是简单罗列下遇到的算法题目:

  • 找出多数元素(美团)
  • 最长公共字串 (美团)
  • 单例模式 (美团)
  • 快速排序 (阿里)
  • 查找链表中倒数第N个节点 (头条)
  • 合并k个有序的链表 (快手)
  • 蓄水池 (快手)
  • 自定义实现parseDouble方法 (快手)
  • a+b+c=0 (头条)
  • 二叉树前序遍历 (快手)
  • 二叉树按照前序遍历转换为只有右节点的树 (猿辅导)
  • 按照之字形遍历二叉树 (头条)
  • 保留有序链表中的重复元素,并且只保留一次 (阿里,这个很有意思,感兴趣的同学可以实现下) 给定一个有序链表,保留链表中重复出现的元素,并且只保留一次,如给定链表1->1->1->2->3->3->4. 结果为1->3。请写出一个高效的算法
  • 使用三个线程分别打印A,B,C,按ABC CBA ABC CBA ...的顺序进行打印 (阿里)

还行,对于有准备的各位来说,这些算法都不太困难。待会在资源分享段落,楼主将会分享自己私藏多年的算法学习节奏,助你备战面试!

一面总结:

社招一面(生死面)容易挂的第一个点,就是刚开始的项目讲解的一般,没有亮点。项目中的技术难点和技术卡点无法表述出来,很容易给面试官一种“这人不行”的感觉。至于基础知识还是得靠我们平时多想想是什么?怎么实现?为什么这么实现?

简单总结一句:讲解一个优秀得项目,面试就通过了一半。

社招面试:第二轮

一轮面试如果通过得话,恭喜你,你的面试其实已经通过了一半。因为一面面试官已经在基础知识方面对你进行肯定,二面面试官得提问方向就相对比较多了。二面面试官得重头戏还是你对项目的理解。

本轮面试会让你继续讲解一个或者多个项目,因为没有了基础知识点的考察“压力”。面试官会对项目进行深入了解,包括其业务架构,技术架构与技术原理等。

大概包括如下的技术点:

  • 项目业务架构,针对项目中各个知识点进行扩展与提问
  • 项目技术架构,技术架构中比如说Thrift的实现原理,nginx相关知识点等
  • 项目中学到了哪些技术?或者之前学到的技术哪些在项目中可以体现?
  • 服务的QPS如何?如何保证服务高可用性?
  • 如何限流,熔断和降级服务?
  • 服务的部署方式,各个集群数据库的同步方式
  • MySQL单表数据量多大?索引结构如何?
  • 上线新服务如何进行压测?
  • 内存泄露的排查方式?
  • 线上接口响应超时的排查思路

当然了,在这些比较开放的问题之外,部分面试官依然会考察一些基础知识点,这个看各个面试官的风格了。但是,二轮面试看重的还是项目技术架构以及你所做的贡献有哪些。(PS.手撕算法我们都统一在前面介绍了,二轮面试也是需要手撕算法哦)

二面总结:

二轮面试考察的不仅仅是基础知识点的掌握,更重要的是实际的业务逻辑能力。如果你可以在回答中表现出自己良好的解决实际线上故障的能力与水平,并且在实际的工作中对一些方向有进行过深入的了解,那么你的面试之路将会顺利许多。

社招面试:第三轮/第四轮

为什么将第三轮/第四轮面试放一起呢?是因为有的公司只有三轮技术面试,而个别公司会有四轮技术面试,大同小异吧,我们这里统一进行介绍说明。进行了最后一轮技术面试,意味着前面面试官对你基础知识的肯定,你的业务逻辑与处理问题的能力也得到了肯定。

本轮面试基本上就是业务部门老大在面试,主要考察的方向也比较固定吧。主要考察的方向包括:

  • 为什么出来看机会?
  • 原公司团队的一些基本情况
  • 项目的简单介绍
  • 开放性的系统设计题目: 排队系统 点餐系统 停车场系统
  • 未来的职业规划
  • 有什么兴趣爱好
  • 你还有什么想要了解的呢?

怎么样呢?是不是感觉比较轻松?所以说,不要害怕Boss面,大老板一般都是很随和的,不会刻意去为难大家的,尤其是在前面轮次已经进行了详细的考察之后。

能走到最后,你的各种能力基本得到了肯定,大Boss喜欢你还来不及呢,怎么会为难你的?当然了,一些面向对象的系统设计,包括各个模块的划分,数据库表结构的设计我们还是得全面考虑,设计出来才行哦,关键得是思路与设计能力。

社招面试:HRBP轮次

恭喜你,如果你已经进入HRBP轮次得面试,那么你离正式通过面试就差一小步啦!HRBP面试主要考察候选人得价值观和上进心吧。主要涉及问题如下:

  • 在原公司得哪一段时间是比较享受的?(注意,这里要说自己的成长!)
  • 为什么现在出来看机会呢?看什么类型的机会?(提升自己,挑战自己等)
  • 同事或者朋友之间如何评价你?(说自己的优点,乐于助人等,热心)
  • 平时如何学习呢?有没有什么技巧?(看书,官网,做项目)
  • 你对我们的业务方向有了解吗?(通过前面面试反问环节,有所了解,大概说下)
  • 你的职业规划是什么? (深度和广度,钻研某个放心,沉淀自己,寻找感兴趣的技术点等)
  • 你的一些优点有哪些?(哈哈.jpg)
  • 目前还在看哪些机会呢?手里还有别的Offer吗?(实话实说,多了去了^_^)

对,你没有看错,大概就是这些问题,只要我们稍加准备即可应对HRBP面试。

笔者这边是没有遇到HRBP面试淘汰候选人的现象。如果真的遇到了这种情况,那可能是大家前面的技术面试表现不够出色,勉强达到了可要可不要的分数。这个时候,如果出现了更加优秀的候选人,那么即使HRBP面试完成,依然会进行淘汰。所以,我们重点还是要提高技术能力。

社招面试技巧:

那么社招面试都有哪些技巧呢?我认为技巧始终应该建立在实力的基础上。那么如何拥有实力呢?分模块进行梳理总结知识点,在日常的学习工作中,对各个知识点进行不断的丰富与补充。

什么?你没有时间进行总结?没关系,待会我会有干货资源分享,大家只需要在此基础上进行差缺补漏即可。

在拥有了一定的实力之后,我们该如何真正应对面试?这里说几个小技巧(建议)吧。

(1)在面试之前,你需要系统的复习准备相关基础知识点(毕竟一轮面试才是生死面)。

(2)在面试之前,你还需要准备一套自我介绍说辞,深度挖掘项目中的技术难点和卡点。

(3)面试过程中,如果之前没有接触或者研究过,可以直接说,“抱歉,我没有研究这块”,切忌不懂装懂,胡说八道,影响面试表现。

(4)每轮面试的反问环节,我们可以让面试官对该部门的业务逻辑进行介绍。

(5)面试结束后,及时写下面经,尤其是面试中回答错误或者一些知识盲点。查缺补漏,每一轮面试都会有所收获。

PS.再说一个特别特别重要的地方,做一份高质量的简历。

容我说句脏话吧,有些同学呀,本身学历背景就差,还特么的做了一份垃圾简历,你觉得大厂会给你面试机会吗?大厂也是有尊严的好不好?简历都做不好,你还面啥试?请不要浪费内推人和HR小姐姐的时间了好不好?

这里再说个点,在反问环节中,如果面试官很有耐心的给你介绍部门情况和业务逻辑方向,恭喜你,这轮面试大概率是通过啦,好好准备下一轮次面试吧。反之,一句话介绍业务情况,那么你大概率是凉凉了,好好复盘面试,准备其他公司面试吧。

对了,说了这么多。怎么能忘记内推呢?快手内推!

校招/实习内推:https://campus.kuaishou.cn/recruit/campus/e/#/campus/share/job-list/TQjo1SCv%2Fnh8OweMLqMlnQ%3D%3D

直接从这里投递即可,这就是内推,可以看到内推进度哈~

这次的社招面试,笔者也算身经百战,真正拥有了社招面试经历,并且取得了不错的战果,以此可以给大家进行更好的分享,这篇文章大概就说完了,不知道大家有没有一点收获呢?

文源网络,仅供学习之用,如有侵权,联系删除。

我将面试题和答案都整理成了PDF文档,还有一套学习资料,涵盖Java虚拟机、spring框架、Java线程、数据结构、设计模式等等,但不仅限于此。

关注公众号【java圈子】获取资料,还有优质文章每日送达。

阿里头条快手百度美团等大厂JAVA社招面经分享(纯干货)相关推荐

  1. 社招和校招有什么不同?阿里美团等大厂JAVA社招面经分享!

    前言 金九银十就要结束了,小编今天总结一下这段时间遇到大厂的Java面试经验,希望对大家的面试有帮助. 社招与校招面试的区别 校招面试主要考察的是大家对于基础知识的理解与掌握,数据结构和算法的熟练度. ...

  2. 社招和校招有什么不同?阿里美团等大厂 JAVA 社招面经分享

    多线程并发编程: 线程池的构造参数及其含义,如何确定线程池中线程的个数等 定时线程池如何实现的? synchronized,volatile 关键字 原子性,可见性与有序性 可重入的锁 Reentra ...

  3. 小米java面试题_小米java社招面试题分享,面经(一面二面)

    下面给大家带来的是小米java社招面试题(面经)的相关分享,主要包括了一面二面的面试题,准备小米java一面二面的小伙伴可以来了解一下. 注:面试者是跨行做后台,没有什么项目经验,所以,面试者问的东西 ...

  4. 小米java社招面试题分享,面经(一面二面)

    下面给大家带来的是小米java社招面试题(面经)的相关分享,主要包括了一面二面的面试题,准备小米java一面二面的小伙伴可以来了解一下. 注:面试者是跨行做后台,没有什么项目经验,所以,面试者问的东西 ...

  5. 2021大厂Java社招最全面试题,积累总结

    前言 成为优秀的架构师是大部分初中级工程师的阶段性目标.优秀的架构师往往具备七种核心能力:编程能力.调试能力.编译部署能力.性能优化能力.业务架构能力.在线运维能力.项目管理能力和规划能力. 这几种能 ...

  6. 今日头条后端Java社招面经分享

    来自:程序员面试 作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 今日头条后端一面社招面经,内容比较偏计算机基础和项目,全程50分钟左右.问的问题大概包含以下几点: 1.自我介绍,挑一个 ...

  7. Java社招面经分享!mysql索引失效的场景

    正文 我的第一份工作是在一家外企,当时抱着"逃离"上海的想法去了二线城市的分公司,但是管理文化氛围跟总部几乎都是一样的,这份工作经历对我后面的工作不论是做事风格.习惯上还是思考问题 ...

  8. java中月日年这种怎么转换成年月日_最“热乎”的Java社招面试经历分享(共40个面试题)...

    面试时间:2020年10月12日 1.final finally finalize的区别 2.synchronized关键字的作用以及在什么时候使用,concurrent包里面其它的锁. 3.有遇到过 ...

  9. 最“热乎”的蚂蚁Java社招面试经历分享(共40个面试题)

    面试时间:2021年10月12日 1.final finally finalize的区别 2.synchronized关键字的作用以及在什么时候使用,concurrent包里面其它的锁. 3.有遇到过 ...

最新文章

  1. Spring Cloud Config采用Git存储时两种常用的配置策略
  2. 计算机网络·详解TCP流量控制,拥塞控制,运输连接管理
  3. Python-OpenCV 处理视频(二): 视频处理
  4. [机器学习]梯度提升决策树--GBDT
  5. 编译原理习题(含答案)——4-7语法分析——MOOC哈尔滨工业大学陈鄞配套_学习通_慕课堂
  6. spring作业_Spring和石英:多作业计划服务
  7. 解除隐藏文件cmd命令_Win10用cmd命令隐藏文件|Win10相互转换隐藏真实文件
  8. Facebook广告设定技巧经验分享
  9. Redis教程:常见问题分析
  10. POJ2117 Electricity
  11. 幻塔html5,《幻塔》捏脸系统怎么玩 捏脸系统玩法分享
  12. redisrabbitMQ安装
  13. Python渗透测试之流量分析:流量嗅探工具编程
  14. sql语句的插入方式总结
  15. 升级mysql后zpanel无法进入_升级到mysql5.7无法启动问题解决
  16. 敏捷史话(三):笃定前行的勇者——Ken Schwaber
  17. re- 正则表达操作
  18. 卡方检验(Chi-square test/Chi-Square Goodness-of-Fit Test)
  19. 龙迅LT7911D Type-C/DP/eDP to MIPI DSI/CSI/LVDS 信号转换芯片
  20. 压力测试概念及方法(TPS/并发量)

热门文章

  1. Emacs基础教程文档翻译
  2. python IDE - Komodo 支持汉语输入设置
  3. 研华工控机硬盘灯不长亮 【转自微信公众号网管爱好者】
  4. PS制作创意木板雕刻字图案人物效果
  5. 【新学期、新Flag】那年花开月正圆,我,正青春
  6. dubbo telnet
  7. linux系统中VIM编辑器推荐安装插件
  8. 视频异常检测技术研究进展
  9. python数据提取txt到excel
  10. 微信FileStorage MsgAttach文件太乱怎么办?教你用Python解决