最近有些学员去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给老师一些面试题来讨论。有些同学轻松过关,拿到offer,但是有一些是来询问老师答案的。
小编特意整理了一下,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。这些问题不是靠几句话能讲清楚,所以先为大家提炼出这些题目。
阿里巴巴面试题:
- 开发中Java用了比较多的数据结构有哪些?
- 谈谈你对HashMap怎么解决碰撞问题的?这些数据结构中是线程安全嘛?加入回答HashMap不是线程安全的,HashTab是线程安全的,接着问你有没有线程安全的map,接下来问了concurren包
- 对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomcat里面有没有进行过相关的配置
- 然后问了http协议,get和post的基本区别,接着tcp/ip协议,三次握手,窗口滑动机制。
- 开发中用了哪些数据库?回答mysql,存储引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。
- 然后问了我springmvc和mybatis的工作yuanl,有没有看过底层源码?
京东金融面试题:
- Dubbo超时重试;Dubbo超时时间设置
- 如何保障请求执行顺序
- 分布式事物与分布式锁(扣款不要出现负数)
- 分布式session设置
- 执行某操作,前50次成功,第51次失败a全部回滚b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播特性)
- Zookeeper有哪些作用
- JVM内存模型
- 数据库垂直和水平拆分
- MyBatis如何分页;如何设置缓存;MySQL分页
- 熟悉IO么?与NIO的区别,阻塞与非阻塞的区别
- 分布式session一致性
- 分布式接口的幂等性设计(不能重复扣款)
美团一面经验:
- 最近做的比较熟悉的项目是哪个,画一下项目技术架构图
- JVM老年代和新生代的比例?
- YGC和FGC发生的具体场景?
- jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?
- 线程池的构造类的方法的5个参数的具体意义?
- 单机上一个线程池正在处理服务如果忽然断电怎么办(正在处理和阻塞队列里的请求怎么处理)?
- 使用无界阻塞队列会出现什么问题?
- 接口如何处理重复要求?
- 具体的处理方案是什么?
- 如何保证共享变量修改是的原子性?
- 设计一个对外服务的接口实现类。在1,2,3这三个主机(对于不同IP)上实现负载均衡和顺讯轮询机制(考虑并发)
滴滴面试经验:
- 自我介绍
- 技术特点
- 兴趣是什么 优势是什么
- Dubbo的底层原理,ZooKeeper是什么concurrentMap的机制;TreeMap;Volatile关键字
- 快速排序;广度优先搜索(队列实现)
通过面试题来看,可以看出目前互联网公司面试考点为:
1.性能调优、算法数据机构
2.高并发下数据安全、接口冪等性、原子性等
3.分布式下协同、已经锁的处理
4.数据库的分库分表、项目之间的垂直拆分
出现频率高的技术点有:
1.HashMap
2.JVM
3.Dubbo
4.Mybatis
5.Zookeeper
6.http tcp/ip
根据面试题我也查找了一些系统的学习课程,下面是我经过认真比对查找找到的一个比较实用的系统学习图,我们一起来看看:
想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、redis、jvm、多线程、netty、kafka、的加群:⑦①⑧⑤⑨④②②
想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、redis、jvm、多线程、netty、kafka、的加群:⑦①⑧⑤⑨④②②