首页 > 科技 > 2019阿里菜鸟网络4面面经:Mvcc+多线程+底层源码+索引+JMM

2019阿里菜鸟网络4面面经:Mvcc+多线程+底层源码+索引+JMM

阿里巴巴-菜鸟网络-云仓-java研发面经分享:

一面:8-7

  • 一共40分钟,面试官是小姐姐,声音好听说话很温柔,过程中会时不时赞许你,让你更加自信。(貌似说是免了一轮简历面)
  • 介绍一个你最熟悉的项目;
  • 项目中使用的什么框架;
  • 解释一下这个框架;
  • 这个项目中遇到的最大的困难,怎么解决的;
  • 数据库索引有哪些;
  • 他们有什么区别;
  • 索引采用的是什么数据结构;
  • B树和B+树的区别;
  • 有没有对数据库做过优化,列举一下;
  • Hashmap与hashtable之间的区别;
  • 谈一下对线程安全的理解;
  • Synchronized的锁优化机制;
  • 乐观锁解释一下;
  • Jvm的各个内存区域解释一下;
  • 垃圾回收机制解释一下;
  • 有哪些垃圾回收刷算法,他们有什么区别;
  • 算法中,快排和归并解释一下;
  • 他们的算法复杂度分别是多少;
  • 了解哪些开源框架?
  • 怎么学习他们的?
  • 看过哪些源码
  • 最近有在看什么数,平时的学习方法;
  • 你对java各个版本了解很清楚是专门有去了解过吗?
  • 我问完了,你有什么想问的?

二面:8-20

  • 自我介绍
  • 说一下你的竞争力在哪
  • 说一下你觉得技术含量最高的一个项目或者实习:
  • 打断一下,mvcc的解释一下;
  • 怎么实现的;
  • 你知道哪些数据库引擎,说一下区别;
  • 继续刚才你说的;
  • 打断一下,索引是怎么知道哪些索引需要优化的;
  • 有没有更好的方法;
  • Mysql日志有去看过吗;——没
  • 继续你刚才说的;
  • 打断一下,你还知道哪些前端攻击,都介绍一下;
  • 他们的防御方法知道吗;
  • 会不会实现一个前段框架来判断前端页面可能存在的攻击;——不会
  • 继续你刚才说的;
  • 打断一下,你说的数据库切换是动态的吗;
  • 那现在给你一个需求将你项目中的数据库切换改成动态的切换(不需要重启服务);——不会
  • 继续你刚才说的;
  • 打断一下,你说一下线程安全问题好了(估计是觉得我项目太low了);
  • 为什么要注意线程安全;
  • 打断一下,我说得是底层原理方面,也就是JMM那;
  • JMM8个原子操作说一下;
  • 知道哪些锁优化机制
  • 除了锁升级还有吗?
  • 知道分布式中间件吗
  • Redis的AOF和RDB解释一下;
  • 我问完了,你有什么想问的么?

挂完电话心里一阵发慌,觉得是不是gg了,纠结了半个多小时问了下内推学长,说已经到三面了,才缓过来。。。

三面:

对方电话先自我介绍是主管

  • 自我介绍
  • 项目介绍(问了蛮久)
  • Java垃圾回收解释下——(问的这么宽,那我就随意发挥了)
  • 打断下,你看过源码是吧?那就问下一个
  • Java内存区域解释下
  • 有哪些常量池
  • 方法区在不同版本有哪些实现
  • 类加载过程简单说一下
  • 类能否多次加载
  • ——这里说明下,可以使用热加载实现多次加载
  • 类加载器有哪几种
  • 双亲委派模型解释下
  • 能不能破坏,怎么破坏
  • findClass 和 loadClass 有何区别
  • 线程安全解释一下
  • Java有哪些方法解决这个问题
  • Volatile解释一下
  • Jmm解释一下
  • 你对juc包很熟悉是吧,里面有哪些东西大概说一下
  • 同步器主要有哪些,分别解释下
  • CountDownLatch 和 CyclicBarrier 的区别,举个例子说一下
  • Semaphore你也看过源码是吧,那你解释下它的底层原理
  • 集合类你常用哪些,说一下ArrayList底层
  • 它和Map是同族么,那HashMap的底层原理解释一下
  • 那你知道它和HashTable的区别么
  • 工程上常用另外一种类来取代HashTable你知道么
  • 说一下concurrentHashMap底层
  • 可能存在什么问题,哦,你还知道1.8版本的,那你解释一下它用的CAS机制
  • 它可能导致ABA问题,你知道什么是aba么,有什么解决方法
  • 他还可能导致别的什么问题么
  • 线程池用过么,说一下各个参数的含义
  • 线程池的原理
  • java线程的各个状态
  • 那操作系统的进程和线程有什么区别,通信方式各有哪些
  • Spring-AOP解释一下,bean生命周期呢,这你也都看过源码是吧,那就问数据库吧
  • MySQL几个引擎区别
  • 事务隔离哪些
  • Mvcc介绍

嗯,今天就到这里吧,你的话应该没什么问题了,你能提前来实习么?

有什么想问的么?

get主管的口头offer,很开心~但是面主管之前接到一个电话说西安有有现场面也得去参加下,但是依然有点担心现场面发挥不好把口头offer泡汤了。(从这一面可以看出懂源码的重要性)

四面:8-26

四面和hr面都是那天的现场面。由于回来的时候也接到hr的口头肯定,所以回来就开始躺尸了,过了好久才总结,很多问题都给忘了。。。。这里主要说几个印象深的

  • 自我介绍
  • 实习、项目介绍(+细问)
  • 正常挖基础,挖了蛮久
  • 手写快排
  • 手写一个死锁程序
  • 一个链表,已经排序如何快速定位到中位数
  • 一篇文章获取出现次数最多的字母
  • 如果是单词呢
  • 如果是一本书呢
  • 如果是要在上亿个号码中找出出现最多的呢,说出你的思路,把你能想到的方法都说出来
  • 秒杀系统怎么设计

最近在看什么技术书(面阿里当然说阿里出的那几本书,其实是真的在看,很不错:李智慧老师的《大型网站技术架构》、许令波老师的《深入分析Java Web技术内幕》)

14. 你有什么想问我的么?

面完后,做到一边等hr面,问一下旁边人,说好几个人要么只免了hr要么只免了技术面就都让回去了。。。心想,这么猛么,刚才回答的还可以吧,应该会让面hr的吧。。。

hr面:8-26

也忘了很多了,主要是日常聊天,小姐姐全程微笑,聊得很愉快,聊得很多,得有40多分钟,也说几个印象深的问题吧

  • 自我介绍
  • 实习、项目介绍(主要了解开发规模)
  • 比赛介绍(因为是队长,所以问了下任务分配)
  • 日常聊天
  • 你了解菜鸟网络么——(甚至把我报的云仓部门都说了个清楚)
  • 哇,你是有亲戚朋友在这个部门么
  • 那你知道阿里的一些不好的传闻么,你有什么看法,比如关于我们hr的你知道么
  • 看不出你对阿里的价值观还了解这么多,平时有关注阿里的技术发展么
  • 平时有自己的一套学习方法么
  • 自己觉得自己是怎么样一个人
  • 周围人,同门,队友怎么评价你的
  • 家里哪些人
  • 和父母关系怎么样
  • 知道父母生日么
  • 父母知道你想来阿里么,父母怎么评价阿里的
  • 有女朋友么
  • 怎么分手的方便说么
  • 去过杭州么,评价一下杭州
  • 目前手上有哪些offer
  • 有什么想问我的

问完后貌似除了一个在面技术就剩我一个了,我连着面了两面的时间他们一共就一个技术专家和一个hr就面完了其他10多个人么。。。。他们让等了一下,然后另外一个男hr告诉我回去等结果,最迟9月第一周出结果,然后拍我肩膀小声说我应该没什么问题,不要太担心,再见~

我再面试之前,花钱买了一套真题资料,现在也拿到offer了,也可以免费的赠送给各位准备面试的有需要的小伙伴们!

评论留言+转发文章+关注我后私信回复【Java】即可免费获取我所有的文档资料!

文档资料:

Java基础:

Spring原理:

Zookeeper

分布式缓存:

其余剩下的文档资料!

领取方式:

评论留言+转发文章+关注我后私信回复【Java】即可免费获取我所有的文档资料!

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/281622.html