首页 > 2021 阿里 Java 开发岗实习处女面总结
头像
dcbabcd
编辑于 2021-05-10 20:08
+ 关注

2021 阿里 Java 开发岗实习处女面总结

--2021/05/10更新--

  • 经过第一次滑铁卢后痛定思痛,花两天时间刷完了《深入理解Java虚拟机》,又扫了几眼MySQL底层实现。于是一面来了:
  • 一面:电话面(下面记的都是没回答上来的)
    • 负载均衡是什么
    • MySQL事务隔离、分表、3NF(课上刚讲,然而没听)
    • http1.0 vs. http2.0 vs. https

一面大部分问题回答流畅,进入下一面。这次吸取先前经验,将没有回答出来的问题全部过了一遍。

  • 二面:电话面(大约是全部问题)
    • 自我介绍(语速太快,注意控制)
    • http vs. https
    • https的安全证书能否私人取得(不了解)
    • 根据tcp的三次握手,怎样劫持服务器
    • 从下载站点下载文件,怎样保证下载内容没有被篡改过,是来自官方的。考虑hash/校验和?
    • 给定用户信息表,根据年龄性别查找表,有无必要建立辅助索引?
    • MySQL底层数据结构了解多少?给Innodb扒光了。
    • 进程vs.线程vs.协程?不懂协程,故将进程与线程的定义与特点与历史细致地讲了一遍。
    • 并发:怎样建立一个并发环境下的counter?加锁,synchronized,CAS
    • CAS? Compare And Swap,讲解原理
    • 自己建立HashMap数据结构,怎样保证线程安全?

二面大致是pass,等待下一面。

感想:1. 计算机基础非常非常重要,数据结构、算法、计网、OS,这四者的重要性基本相等。但就开发岗被问到的问题而言,计网和OS占比更高。2. 二面的xgg非常nice,说话很和蔼,在我回答问题时会引导我甚至与我讨论。3. 尽量展现自己的特长。一方面展现自己性格的闪光点,另一方面自己精通的专业知识点要毫不吝惜地倾倒出来!

--Previous Experience--

我的情况

  • 985大三,CS
  • 数模x1, 校内科研x1, Java小项目x1
  • 校友内推

我的规划是保研,因此申实习主要是想积累工作经历... 另外,我本来是偏AI方向的,但可能因为简历上写了“熟悉Java”,因此被推到Java开发岗(爆哭)。再加上之前没考虑过找工,leetcode也没刷过,所以只能7天之内从零开始了。。。

笔试/面试总结

  • 笔试:80/200,进入一面
    笔试第一题是字典映射问题,第二题是最大连续和子数组问题。第一题用python写,但大概因为数据太大,所以只过了60%。看第二题时时间不够,只能暴力贪心,过了20%。
    笔试前千万记得熟悉机试上的IO格式!
  • 一面:进入二面
    大约笔试一周后进行电话一面。这一周的窗口期用来复(预)习 Java 基础。面试官主要看我简历出题。问题包括但不限于:
    • 操作系统:看你学过OS,解释一下硬链接和软链接的区别;B+树的结构(忘了,没答出来)一定要复盘!
    • 计算机网络:解释一下TCP的三次握手和四次挥手;解释一下ISO/OSI七层模型;TCP在哪个层;解释一下DNS域名解析过程;解释一下HTTP加载过程(这部分没看,没答出来)
    • Java:解释syncronized原理和实现方式;什么是死锁;HashMap的实现方式和是否线程安全;hashcode()和equals()为什么要同时实现;设计模式(不会);JVM内存模型(不熟悉);GC回收算法(只回答出来一个标记)
    • 数据库:这部分全不熟悉(学校连过程化SQL都没讲完啊!
    • ... ...
      这位面试官非常nice,一方面引导着我面试,另一方面他似乎更考察我的思维能力和问题解决能力。比如问GC回收算法时,我说当标记为0时清除对象,面试官于是问当两个对象互相引用时无法清除,该怎么解决?我想了一会,说用DFS找到这样一个没有外部引用的环。
  • 二面:凉凉,被捞。呜呜呜!!!
    一面一周后进行电话二面。这段时间由于课业压力大,完全没看Java,为本次面试的败北埋下了伏笔...
    面试官首先向我介绍了他们部门的情况,然后我进行了约3min的自我介绍。接下来进入公开处刑的环节。
    • 你学过MySQL,讲一下数据在内部存储的原理。(胡扯了一堆,不太行
    • 你说自学过Java,解释一下双亲委派(没看过,不会
      这时面试官对我不太满意,说“你还会什么?”,我感到他十分不满意,于是我怂了...讲了比较熟悉算法和数据结构以及机器学习方面。
    • 为什么选择学习Java:讲了比较喜欢Java的面向对象和封装性的优势,但是对于Java和Cpp在性能差异上的回答让面试官不太满意。
    • 二叉树、红黑树、二叉平衡树的差异:过
    • HashMap的实现方式,为什么要用红黑树
    • B+树的定义:一面已经考过,但由于没有复盘,这次没有答上来。血的教训!
      二面完成后,面试官说约一周后出结果。但一个小时后,我的个人中心状态已经变成“已回绝”,并且多了一个自主投递流程。

总结

  • 面试前一定要做好充分的准备!多刷题多看面经
  • 一定一定要记得复盘! 一面二面的题目相关性很小,可能毫无关联也可能大量重合!而且面试也是查漏补缺的过程,那些问到却未答出的题目,都是薄弱的知识点。

接下来就等被捞通知吧...这段时间我一定好好复习Java(哭)
祝大家都能收获满意的Offer!

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐