我的后端Java面经、八面阿里,已拿offer!(阿里飞猪、阿里
2019-05-24 本文已影响25人
Java_老男孩
阿里巴巴面试
- 自我介绍
- 讲一个项目,我说的区块链,然后围绕着区块链说了一堆,比如说我没回答上来的,有没有做性能测试,还有orderer节点都有什么服务
- 最大堆概念
- 排序算法比较排序时间复杂度,如何查找最大的1000个数
- 有没有什么排序算法能够小于nlogn的
阿里巴巴菜鸟网络面试
面试岗位
菜鸟网络的JAVA开发岗
面试体验
工作内容为Java后台的业务开发,还有一部分C++工作,聊了大概1个小时,发现自己还是有很多基本的问题没搞清楚,有很多收获
面试问题
- malloc的时候操作系统是如何分配内存的
- http://taobao.com整个的请求过程,互联网协议入门(一)
- 比特币的交易过程,多久确认:10分钟
- Fabric使用CA的目的
- TreeMap的结构
- Promise和异步的区别
- REST和其他的区别
- fabric0.6和1.0的区别
阿里巴巴阿里健康一面
面试岗位
阿里健康的JAVA开发岗
面试体验
又发现了很多技术盲点,整体感觉良好
面试问题
- Fabric在哪里做的共识,如何解决双花问题和节点伪造问题的,比如说A给B转账5元,给C同志1元劳务费,但是该节点作弊了怎么办?
- 拜占庭算法的理解?
- TCP协议拥塞是怎么解决的?
- JAVA虚拟机的理解?
- JAVA线程池的参数都有什么?
- 有序链表和二叉搜索树在查找和插入上时间复杂度的区别?了解过红黑树么,在插入上有什么优化?
- 介绍下你觉得你做的比较好的项目,解决了哪些技术难点?
阿里健康二面
面试岗位
阿里健康的JAVA开发岗
面试体验
这次打电话又面试了很久,问了很多经典的问题,但很多又记得很模糊了,尴尬,本来都准备过的,可以答得很流利的
面试问题
- 一个数组中有正数和负数,找出来和最大的子数组
- 16瓶水中有1瓶水有毒,小白鼠喝了有毒的水1个小时后会死,一个小白鼠可以喝多瓶水,一瓶水也可以被多个小白鼠喝,现在给1个小时时间,最少需要几只小白鼠能够判断出来14瓶水是无毒的?
- java虚拟机垃圾回收机制
- 事务隔离级别有什么?
- concurrentHashMap实现原理?原来使用的什么锁?CAS具体如何实现的?
- Fabric的共识机制
- kafka不是共识机制么?
- 一个文本有很多单词,找出来其中词频最大的k个单词?如果内存读一次装不下怎么办?
- HashMap扩容是怎么实现的?多线程同时put会存在什么问题?
- 单例怎么写,懒汉和饿汉哪个更适合多线程?
- 线程池的参数都有什么?
- 最近在看什么书?
- 比特币的共识机制?
阿里健康三面
面试岗位
Java开发工程师
面试体验
阿里的面试整体感觉都蛮好的,这次面试官也很不错
面试问题
- 项目中的监控:那个监控指标常见的有哪些?
- 微服务涉及到的技术以及需要注意的问题有哪些?
- 注册中心你了解了哪些?
- consul 的可靠性你了解吗?
- consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?
- 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
- Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?
- Spring Cloud 有了解多少?
- Spring Bean 的生命周期
- HashMap 和 hashTable 区别?
- Object 的 hashcode 方法重写了,equals 方法要不要改?
- Hashmap 线程不安全的出现场景
- 线上服务 CPU 很高该怎么做?有哪些措施可以找到问题
阿里健康四面
面试岗位
Java开发工程师
面试体验
这次是到阿里健康里面去面试,面试官应该是级别较高的人,总体体验还是很好的
面试问题
- 聊实验室的方向和做的项目
- 说一件你最得意的事儿,最失败的事儿和最出格的事儿
- 说一件你一直在坚持的事情
- 有几百亿个数字找出其中的中位数
- JDK 中有哪几个线程池?
- SQL 优化的常见方法有哪些
- SQL 索引的顺序,字段的顺序
- 查看 SQL 是不是使用了索引?(有什么工具)
- TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?
- 说下你知道的排序算法吧
- 常用的负载均衡,该怎么用,你能说下吗?
- 你有什么问题想问我的吗?
阿里飞猪一面
面试岗位
Java开发工程师
面试体验
面试官电话来的很晚,基本是要睡觉了,可以感觉出来阿里的工作不轻松呀
面试问题
- class存在哪儿,jvm结构
- stringbuffer和stringbuilder的区别
- Object 类中的方法
- hashcode 和 equals 方法常用地方
- hashmap put 方法存放的时候怎么判断是否是重复的
- Object toString 方法常用的地方,为什么要重写该方法
- Java 中有哪些线程安全的 Map?
- Concurrenthashmap 是怎么做到线程安全的?
- HashTable 你了解过吗?
- 如何保证线程安全问题?
- volatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因
阿里飞猪二面
面试岗位
JAVA开发工程师
面试体验
HR姐姐打电话过来问我的情况,整个过程没有压力面,感觉还是挺开心的
面试问题
- 为什么会选择阿里巴巴?
- 平时有什么爱好?
- 想在哪个城市工作?
- 在项目中收获是什么?协作中出现过什么问题么?
- 未来的规划是什么?
总结
就写到这了,写的有点多了,也算是给这段时间的面试做一个总结,查漏补缺,选择了阿里飞猪,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。
本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。同时我经过多年的收藏目前也算收集到了一套完整的学习资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货,希望对想成为架构师的朋友有一定的参考和帮助
喜欢这篇文章的朋友可以点个喜欢,也可以关注一下我的个人专题:Java成长之路