一份来自各路大神的名企面试题集(Java)

题外话

最近看到一篇文章讲到,有位农村的初二孩子,想学IT,原因是为了让他的父母、家人不再受网络、电话诈骗的侵害,内心一阵酸楚。但我想,从这样的个例去看,或许还有许许多多对互联网一无所知的人们存在,他们可能买不到车票、不知道APP是什么;他们可能不明白手机为什么能进行银联支付、不知道什么是美团外卖......

作为一名业余自媒体IT直男,希望能够通过文字的方式去帮助一些人吧,略尽绵薄之力。如果有想学习或者了解IT的小伙伴,欢迎加我微信(bboyHan),小编非常乐意一起交流分享,一起学习。

每年年初,经过各大公司所谓的“末位淘汰制”、“人员架构重组”、“部门调整”等因素,在3、4月份都会呈现出一波求职招聘的小高潮。那么,如果在诸多的求职者当中脱颖而出,就必须未雨绸缪,精心筹备。因为机会,永远都是留给有准备的人。

 阿里巴巴

P6~P8(蚂蚁金服)

一面(电话):

1、自我介绍

2、对你来说影响最大的一个项目

3、开发中你最大的收获是什么

4、项目中你遇到最困难的问题是什么

5、如果接受的项目技术你没有接触过,应该怎么办

6、谈一下你对设计模式的看法和认知

二面(视频):

1、项目中如何实现高并发

2、谈一下你对多线程的理解

3、如何实现数据的传输和存储

4、海量数据的去重、排序、计数

5、Java的垃圾回收机制

6、Java的类加载过程

7、内存优化的理解

三面(视频):

1、Mysql调优的理解

2、Redis的底层原理知道多少

3、分布式应用场景的数据一致性保证

4、KV类型的数据结构优缺点

5、谈一下你对数据结构的理解

6、多线程如何避免死锁

7、如何实现分布式缓存

8、JVM内存模型是什么,如何调优

9、Dubbo的理解

 美团

一面:

1、Mysql的ACID是什么

2、Mysql的存储引擎和区别

3、HashMap的数据结构

4、ArrayList、LinkList的区别和特点

5、项目当中常用的数据结构有哪些

6、类的加载过程

7、Java当中的锁机制

8、如何实现线程安全

9、手写2个你知道的排序算法

二面:

1、现有一个超大的数据,如何存储最优

2、线程池的理解

3、Nosql的理解和应用场景

4、Http协议的理解

5、RabbitMq的工作机制和原理

6、TCP三次握手四次挥手

7、Mysql分组取第一条(手写sql)

8、Java的时间类型处理

 今日头条

1、如何上传视频文件

2、乱码的问题解决

3、对高并发的理解

4、如何实现快速排序

5、在网络环境不好的情况,如何保证系统的可靠性

6、数据库事务隔离

7、GC回收算法有哪些

8、Java8有哪些特性

9、函数式编程、响应式编程的理解

10、如何管理监控项目的运行实例,有哪些注意点

11、加密算法的理解

 360安全

一面:

1、Linux的基本命令

2、分布式数据库的特点

3、异构系统如何实现通讯关联

4、如何代码管理和团队协作

5、进程、线程、协程的区别和理解

6、谈一谈你对MQ的理解

7、什么是幂等性

8、支付应用的开发需要注意哪些

二面:

1、你在上家公司离职的原因是什么

2、谈一下你最熟悉的项目和收获

3、Kafka的理解

4、如何进行技术选型

5、Java中的锁你有什么理解

6、线程池的理解

7、LRU算法如何实现

8、Redis集群搭建

9、对数据库的选型有什么看法

 京东(零售、医疗、金融等部门)

综合整理:

1、UML图绘制

2、Guava的使用和理解

3、如何进行日志收集

4、SpringMVC的工作原理

5、Springboot的启动类是如何运作的

6、@Autowire和@Resource的区别

7、如何实现自定义注解

8、Spring AOP的理解

9、Spring如何管理和生成实例

10、Dubbo的超时重试是什么

11、如何保障请求执行顺序

12、分布式事务与分布式锁的理解

13、Cookie和Session的区别和特点

14、Zookeeper的理解和使用

15、为什么要使用分库分表

16、JVM内存模型

17、Mybatis的原理分析,如何实现分页

18、秒杀系统的实现应注意哪些

19、如何保证线程安全

20、Netty的理解

21、分布式接口的幂等性设计

22、如何设计和实现订单流水

23、如何实现购物车系统

24、支付失败应该做哪些处理

25、JVM调优监控工具

 百度

1、JVM老年代和新生代

2、JVM的运行机制

3、jstack,jmap如何使用

4、Mysql的事务隔离机制

5、Java中的线程有几种状态

6、谈一谈你对IO、NIO的理解

7、Clone的理解

8、HashMap的源码分析

9、LinkedList的源码分析

10、Set集合有哪些应用场景

11、实现hashcode和equals方法的意义

12、线程池的构造类的方法

13、使用无界阻塞队列会出现什么问题

14、ThreadLocal的理解

15、lambda表达式的使用

16、什么是CAS算法

17、如何保证数据的原子性操作

18、HashMap高并发情况下会出现什么问题

19、对Tree结构的理解

小结

在面试当中,难免会遇到一些自己没有遇到过的疑难问题,如果遇到这种情况,建议保持一颗谦卑诚恳的态度,如实交代,虚心学习。而对于自己熟知掌握的知识,可以尽量多谈谈自己的理解,大致可以从一个知识点的原理、使用、应用场景、优缺点、与同类知识点的对比分析这样的思路去阐述。面试官会对你的能力和技能水平进行综合评估。

另外,建议小伙伴们经常关注一些前沿技术、实时热点。推荐多看看一些技术网站。比如CSDN、思否、Stackoverflow、Github、oschina以及众多开源项目的官方网站。相信你会有更开拓的视野,去把握自己的未来和方向。

------------------------------------------------

本公众号致力于做一个

非营利性质

技术资源共享交流平台

觉得不错请分享点个“好看”!

发布了77 篇原创文章 · 获赞 123 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/han0373/article/details/87872250
今日推荐