大型互联网公司面试题(阿里巴巴,京东,美团,滴滴)
大型互联网公司面试题:
一、阿里巴巴面试
1. 开发中Java用了比较多的数据结构有哪些?
2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?这些数据结构中是线程安全的吗?假如你回答HashMap不是线程安全的,接着问你有没有线程安全的map,接下来问了conurren包。
-
HashMap不是线程安全的、满足线程安全的话 可以使用Collections的synchronizedMap方法使HashMap具有线程安全的能力或者使用ConcurrentHashMap
3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomect里面有没有进行过相关的配置
4、然后问了http协议,get和post的基本区别,接着tcp/ip协议,三次握手,窗口滑动机制。
5、开发中用了那些数据库?回答mysql,储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。
6、然后问了我springmvc和mybatis的工作原理,有没有看过底层源码?
--------------------------------------------------- 割-------------------------------------------------------
二、京东金融面试
1、Dubbo超时重试;Dubbo超时时间设置
2、如何保障请求执行顺序
3、分布式事物与分布式锁(扣款不要出现负数)
4、分布式session设置
5、执行某操作,前50次成功,第51次失败 a全部回滚 b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播性)
6、Zookeeper有哪些用
7、数据库垂直和水平拆分
8、MyBatis如何分页;如何设置缓存;MySQL分页
9、熟悉IO么?与NIO的区别,阻塞与非阻塞的区别
10、分布式session一致性
-------------------------------------------------------割-------------------------------------------------------
三、美团面试
1、最近做的比较熟悉的项目是哪个?画一下项目技术架构图
2、JVM老年代和新生代的比例?
3、线程池的构造类的方法的5个参数的具体意义?
-
ThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueueworkQueue)
-
corePoolSize 线程池大小
-
maximumPoolSize 线程池最大线程数
-
keepAliveTime 表示线程没有任务执行时最多保持多久时间会终止
-
unit 时间单位
-
workQueue 任务缓存队列及排队策略
4、使用无界阻塞队列会出现什么问题?
5、接口如何处理重复请求?
6、如何保证共享变量修改时的原子性?
7、设计一个对外服务的接口实现类,在1,2,3这三个主机(对应不同IP)上实现负载均衡和顺序轮询机制(考虑并发)
-------------------------------------------------------割-------------------------------------------------------

浙公网安备 33010602011771号