双非本科毕业竟能四面阿里稳操胜券,轻松拿 offer,定级 P6+,怎么做到的?

最后

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

image

image

其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣,

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

比如:

  • 项目介绍(项目中最大的技术挑战和技术难点)

  • JVM 内存分哪几个区,每个区的作用是什么?JVM 有哪些回收算法,对应的收集器有哪些?

  • GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。

  • Java 容器有哪些?哪些是同步容器,哪些是并发容器?

  • ArrayList 和 LinkedList 的插入和访问的时间复杂度?

  • HashMap 检测到 hash 冲突后,将元素插入在链表的末尾还是开头?

  • 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  • 1.8 还采用了红黑树,讲讲红黑树的特性,为什么大家一定要用红黑树而不是 AVL、B 树之类的?

  • 之后考察了一道系统设计题,说实话当时有些出乎意料,感觉被打了个措手不及,不过按照自己对计算机的理解,在面试官的提醒下,还是设计出了一个较为经典的模型,我也意识到,这方面绝对是我日后要着重改善的弱点之一。

  • 接下来是两道非常简单的代码题,但是需要十足的仔细。

  • 最后是在有限的时间内读懂一个工程中的代码文件,时间有限,而代码中细节的处理却非常繁琐(感觉虽然很规范,但是可读性比较差)。不过凭借 ACM 经历中每天看标程的技能积累,还算完美地完成了面试官的任务。

  • 最后的反问环节问了很常规的问题:入职时间、工作地点、主要职能。

  • 总的来说,技术面第一面的面试过程是非常轻松愉快的,这种轻松愉快主要来源于面试官对节奏和问题尺度的把握,以及我个人(躺平等死)较为放松的心态。也有很大一部分来源于,通过我对这个岗位对各项能力的要求的理解与我个人能力的优劣势的比较所产生的自信。

  • 二面(技术面):

  • 面试的最开始,我就直接坦白了自己计算机系统知识薄弱的弱点,并表明了自己正在努力着手改善的状态(有在学了有在学了)。因为面试中最大的忌讳之一就是不懂装懂,如果来不及改善,积极承认问题并展示“孺子可教”的态度也许会更好。

  • 接下来,面试官询问我是否对数据库有所了解,我表示这学期刚刚开数据库这门课,但是课程的内容明显更偏向数据库运维。不过我对课堂中老师未详细讲解的关于“索引背后的数据结构与算法原理”的内容的好奇心驱使我去额外学了一波。关于国内数据库课程内容设置的看法,引起了面试官的共鸣;并对我好奇心驱使的自我学习表示赞同和欣赏。

  • 接下来的问题比较老生常谈:读研/就业的选择,未来就业方向的选择(AI/数据库),为什么对数据库感兴趣。我的回答也全都是自己的真实想法,自认为表达得还算流畅自信。

  • 然后就到了我最喜欢的 coding 环节,是一道 Leetcode 的 Mid 难度的题目。在向面试官提了几个问题确认了题意后,在 coding 的过程中始终保持向面试官的同步讲解,在需要考虑特殊边界情况的地方也写了一点简单的注释,意识到可能有问题就陷入思考,写写画画之后迅速改正。最后敲好之后自己出了一组比较强的数据,通过人肉 gdb 的方式向面试官讲解代码,面试官表示一遍就 bugfree 了,不愧是久经沙场(听到之后超级开心)。

此次的反问环节可能给面试官留下了比较深刻的印象,展开写一写:

  • Q1:ob 在 TPC-C 测试中取得了第一名的成绩,首次击败了文鼎 10 年的 oracle,看过 pr 的通稿和一些科技媒体所谓大 V 关于摩尔定律对数据库性能的影响的文章之后,我觉得虽然是很大的成功,但是赶超 oracle 的路依然很长,请问您是如何看待这次成绩的?(此为精简版,面试的时候我问得比较详细)

  • A1:面试官很喜欢这个问题,而且解释的非常耐心,并在面试后发给我一篇关于论证我问题中的一部分的 pdf,面试官也太有心了!

  • Q2:分布式数据库 ob 可扩展性相对更强的特点比起其他竞品,是否是更适合阿里的产品生态?

  • A2:回答的非常详细,表示顶层优化也很重要;

  • Q3:关于执行引擎和优化引擎的职业前景;

  • A3:这两部分只要是数据库就会涉及,且视野所及的范围内,数据库长期以来都是不可取代的(数据库常青树);

  • Q4:我在脉脉上了解到 ob 这边实习生没有代码权限,预研性的工作会贯穿始终。是出于哪些考虑?

  • A4:(一个令我非常满意的详细解释,而且不是大饼,非常实际)

  • 最后的最后,面试官对我评价很高。有心的同学们可以对照一下这次面试的内容和我曾经为此做过的功课,利用率可以说是比较高了,而且对面试官对我的评价产生了很大的正面影响。

  • 三面(交叉面):

  • 前两面的面试官给的评级很高,所以按照流程进入交叉面 argue 一下高评级,面试流程与上两轮大同小异,还是问了一些面试题

分布式架构设计哪方面比较熟悉

介绍你实践的性能优化案例,以及你的优化思路

介绍项目

谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里

各种聊项目,从项目的架构设计到部署流程。

最近有没有学习过新技术?

有什么想问我的?

最近两年遇到的最大的挫折,从挫折中学到了什么?

读者福利

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

更多笔记分享

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值