5面阿里,终获offer的面试题,看看自己会几题? ccww

前言

在接触 Java 之前我接触的比较多的是硬件方面,用的比较多的语言就是C和C++。到了大三我才正式选择 Java 方向,到目前为止使用Java到现在大概有一年多的时间,所以Java算不上很好。刚开始投递的时候,实习刚辞职,也没准备笔试面试,很多东西都忘记了。所以,刚开始我并没有直接就投递阿里,毕竟心里还是有一点点小害怕的。于是,我就先投递了几个不算大的公司来练手,就是想着刷刷经验而已或者说是练练手(ps:还是挺对不起那些公司的)。面了一个月其他公司后,我找了我实验室的学长内推我,后面就有了这5次面试。

下面简单的说一下我的这5次面试:4次技术面+1次HR面,希望我的经历能对你有所帮助。

一面(技术面)

  • mysql B+ B区别
  • mysql 隔离级别 -> MVCC如何保证的 -> 间隙锁怎么使用的
  • mysql hash索引?
  • redis 为什么快-> 系统设计的时候如何优化的
  • jenkins 如何用的
  • 策略模式 不同策略怎么转化的
  • Spring AOP如何实现的 -> 你项目中如何捕获aop异常 以及记录日志的
  • java 枚举类型是否可以继承 (final)? 注解是否可以继承?
  • java内存结构
  • 对象创建过程
  • 类加载器 -> 双亲委派-> ClassLoad find load的区别(和面向对象有关系)-> JDBC 加载机制 -> 面向对象的原则
  • 滑动窗口 -> 客户端和服务器端分别有哪些区域(已确认 传输未确认 未传输)
  • volitale 怎么搞

二面(技术面)

  • 自我介绍(主要讲自己会的技术细节,项目经验,经历那些就一语带过,后面面试官会问你的)。
  • http 的各种状态码, 说一下5xx的网关错误(不会)。
  • 说说进程间的通信吧,
  • 说说io多路复用
  • 实现一个限流器
  • 算法: 给定一个无序int数组,可正,可负,给定一个整数k。求数组的所有子数组中累加和为k的最长子数组的长度。例如arr=[2,4,-1,1,7,6,3,-2,3] & k=6 时,value=4
  • 是否可以实习?
  • 你有什么问题要问吗?

三面(技术面)

  • 有没有参加过 ACM 或者他竞赛,有没有拿过什么奖?
  • 研究生期间,做过什么项目,发过论文吗?有什么成果吗?
  • 你觉得你有什么优点和缺点?你觉得你相比于那些比你更优秀的人欠缺什么?
  • 有读过什么源码吗?
  • 介绍一下自己对 Netty 的认识,为什么要用。说说业务中,Netty 的使用场景。什么是TCP 粘包/拆包,解决办法。Netty线程模型。Dubbo 在使用 Netty 作为网络通讯时候是如何避免粘包与半包问题?讲讲Netty的零拷贝?巴拉巴拉问了好多,我记得有好几个我都没回答上来,心里想着凉凉了啊。
  • 用到了那些开源技术、在开源领域做过贡献吗?
  • 常见的排序算法及其复杂度,现场写了快排。
  • 红黑树,B树的一些问题。
  • 讲讲算法及数据结构在实习项目中的用处。
  • 自己的未来规划(就简单描述了一下自己未来的设想啊,说的还挺诚恳,面试官好像还挺满意的)
  • 你有什么问题要问吗?

四面(半个技术面)

三面面完当天,晚上9点接到面试电话,感觉像是部门或者项目主管。 这个和之前的面试不大相同,感觉面试官主要考察的是你解决问题的能力、学习能力和团队协作能力。

让我讲一个自己觉得最不错的项目。然后就巴拉巴拉的聊,我记得主要是问了项目是如何进行协作的、遇到问题是如何解决的、与他人发生冲突是如何解决的这些。感觉聊了挺久。

  • 出现 OOM 后你会怎么排查问题?
  • 自己平时是如何学习新技术的?除了 Java 还回去了解其他技术吗?
  • 上一段实习经历的收获。
  • NginX如何做负载均衡、常见的负载均衡算法有哪些、一致性哈希的一致性是什么意思、一致性哈希是- - 如何做哈希的
  • 你有什么问题问我吗?
  • 还有一些其他的,想不起来了,感觉这一面不是偏向技术来问。

五面(HR面)

  • 自我介绍(主要讲能突出自己的经历,会的编程技术一语带过)。
  • 你觉得你有什么优点和缺点?如何克服这些缺点?
  • 说一件大学里你自己比较有成就感的一件事情,为此付出了那些努力。
  • 你前面跟其他面试官讲过一些你做的项目吧?可以给我讲讲吗?你要考虑到我不是一个做技术的人,怎么让我也听得懂。项目中有什么问题,你怎么解决的?你最大的收获是什么?
  • 你目前有面试过其他公司吗?如果让你选,这些公司和阿里,你选哪个?(送分题,回答不好可能送命)
    你期望的工作地点是哪里?
  • 你有什么问题吗?

总结

可以看出面试官问我的很多问题都是比较常见的问题,所以记得一定要提前准备,还要深入准备,不要回答的太皮毛。很多时候一个问题可能会牵扯出很多问题,遇到不会的问题不要慌,冷静分析,如果你真的回答不上来,也不要担心自己是不是就要挂了,很可能这个问题本身就比较难。

表达能力和沟通能力太重要了,一定要提前练一下,我自身就是一个不太会说话的人,所以,面试前我对于自我介绍、项目介绍和一些常见问题都在脑子里练了好久,确保面试的时候能够很清晰和简洁的说出来。

等待面试的过程和面试的过程真的好熬人,那段时间我压力也比较大,好在我私下找到学长聊了很多,心情也好了很多。

面试之后及时总结,面的好的话,不要得意,尽快准备下一场面试吧!

以下我会分享一些我个人的**学习文档**:

  • Java核心知识整理

  • Spring全家桶(实战系列)

  • 算法(实战文档)

3、刷题

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

以下是我私藏的面试题库:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值