Java开发7年,今年面了5家,拿到饿了么P7offer

前言

2020年转眼快结束了,2021即将来临,同时,面试跳槽机会也将随即到来。

在这里给大家整理了一套各大互联网公司面试都喜欢问的一些问题和一些出场率很高的Java面试题,助在社招或校招的路上的你一臂之力。

  • 首先我们需要明白一个事实,招聘的一个很关键的因素是在给自己找未来一起共事的同事,同级别下,要找比自己优秀的人,面试是一个双向选择的过程,也是一个将心比心去沟通的过程。
  • 就像我们有的人感觉自己很牛逼,但是拿不到offer,而其他的人菜的一批,却可以拿到Offer,我们称之为"玄学Offer",遇到这种情况大家也不要感觉到有什么不可描述的心情,一切随缘即可!

蚂蚁金服

关键词【Java基础】【算法】【缓存】【数据库】【数据结构】

1.HashMap 底层实现原理是什么?

2.Java 的多线程有没有使用过?

3.讲一下线程池,以及实现固定大小线程池底层是如何实现的?

4.Redis 为什么这么高效,使用的场景是什么?

5.分布式服务是否了解,zookeeper,dubbo 是否使用过?

6.幂等概念有没有了解过

扫描二维码关注公众号,回复: 12881213 查看本文章

7.常用的数据库是什么?

8.MySQL 的事务特性有哪些?

9.如果现在一台生产的数据库挂了怎么处理?

10.数据库如何实现 rollback 的?

11.用过Kafka 的话说下 Kafka优缺点有哪些?

12.TCP/IP 协议是如何保证数据可靠性的?

13.HashMap 的查询时间复杂度

14.LinkedList和ArrayList的区别

15.堆内存和栈内存有什么区别

16.有一个一百万行的文件,内部是购买的商品ID,如何获取到购买最多的前一百个商品?

17.consul 的可靠性你了解吗?

18.Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?

19.Object 的 hashcode 方法重写了,equals 方法要不要改?

20.线上服务 CPU 很高该怎么做?有哪些措施可以找到问题

21.SQL 优化的常见方法有哪些?

.........

京东

关键词:【Java基础】【缓存】【大数据组件】【消息队列】

1.自我介绍

2.5G 和物流可以怎么结合?

3.针对个人简历深挖的问题

4.如何看待这个岗位?职位选择问题

5..用过Spring吗?

6..介绍一下volatile 关键字

7.介绍一下第一个大数据项目,用了哪些技术,画一下架构图

8.集群是怎么部署的?

9.flume采集的系统日志,这些日志数据都包含哪些?

10.系统分析的优点和缺点都有哪些?如何改进一下?

11.五条线程是怎么设计的?

12.了解conCurrentHashmap?谈一谈

13.用过redis吗 redis都有哪些数据结构?

14.int 占几个字节?其他几个数值型的分别占几个?

15.经常用的组数和链表的有哪些?说说ArrayList 和LinkedList

16.说说反射?

.........

滴滴

关键词【Java基础】【多线程】【大数据组件原理】【NIO&RPC】

1. ArrayList与LinkedList的实现和区别

2.HashMap:了解其数据结构、hash冲突如何解决(链表和红黑树)、扩容时机、扩容时避免rehash的优化。

3.TreeMap:了解数据结构、了解其key对象为什么必须要实现Compare接口、如何用它实现一致性哈希。

4.LinkedHashMap:了解基本原理、哪两种有序、如何用它实现LRU。

5.Set基本上都是由对应的map实现。(一般大概看一下即可)

6.hashmap什么时候会触发扩容?

7.hashmap扩容时每个entry需要再计算一次hash吗?

8.jdk1.8之前并发操作hashmap时为什么会有死循环的问题?

9.如何用LinkedHashMap实现LRU?

10.如何用TreeMap实现一致性hash?

11.了解写时复制机制、了解其适用场景、思考为什么没有ConcurrentArrayList。

12.ConcurrentHashMap是如何在保证并发安全的同时提高性能?

13.LinkedBlockingQueue、DelayQueue是如何实现的?

14.CopyOnWriteArrayList是如何保证线程安全的?

15.了解ThreadLocal使用场景和内部实现

16.了解线程池的工作原理以及几个重要参数的设置

17.乐观锁和悲观锁的区别?

18.如何实现一个乐观锁?

19.线程池的非核心线程什么时候会被释放?

20.使用ThreadLocal时要注意什么?比如说内存泄漏?

.........

饿了么

1.自我介绍

2.介绍一下你参与的项目

3.怎么解决那个页面显示速度过慢?

4.往系统中导入数据的时候会遇到什么问题?

5.前端机制,websocket有没有了解

6.怎么用mapreduce处理日志文件的?

7.系统前端采用什么做的?

8.HashMap的数据结构——引出Java7跟Java8的区别

9.除了数据结构之外,Java8跟Java7在HashMap上还有什么不同

10.扩容机制中的capacity初始值为什么是16,可不可以自定义成15,为什么一定要是2的指数次方

11.为什么通过索引查询速度会更快一些——此处应该引出二叉树算法

12.介绍ConcurrentHashMap的数据结构

13.ConcurrentHashMap可以支持多少并发线程

14.ConcurrentHashMap属于JOC下的一个类,对JOC这个包的了解

15.是否用过synchronized,之前是否碰到过并发问题,怎么处理

16.MySQL用的隔离级别是什么,这个隔离级别下会出现什么问题——引出数据库的并发问题

17.MySQL使用这种隔离级别时,是如何解决幻读问题的(引申,理解其他并发问题的解决原理)

18.MySQL的调优机制,主要是哪些方面的调优——引出索引

19.在MySQL的InnoDB这个存储引擎下,聚集索引(或者聚簇索引)和非聚集索引这两个概念

20.MySQL中的索引是用什么数据结构存储的——此处应该引出B+树

21.HashMap为了解决什么问题?——引出哈希碰撞

22.HTTP属于哪一层协议 ?

23.HTTP底层是基于哪一层协议的?

24.HTTP和 HTTPS的区别?

25.get和post的区别

26.web编程了解多少?

27.说一下==和equals的区别?

28.静态变量和静态方法,和实例变量和实例方法有什么区别?

29.为什么要用静态方法和静态类

30.子类不能重写静态方法

31.设计模式 了解哪些,比如单例模式,工厂模式,动态代理模式

32.springboot应该要接收前端ajax请求时,应该使用什么注解

33.springboot中configuration的注解有什么用?

.........

字节跳动

关键词【Java基础】【算法】【设计模式】【锁相关】

1.自我介绍

2.介绍一下项目

3.设计一个hashMap,实现一个put方法

4.实现一个链表反转,设置一个步长,每隔几次,链表进行反转

5.Mysql的索引有哪些?

6.说一下Mysql的事务的隔离级别

7.讲一下Mysql的存储引擎

8.创建线程池,当里面的线程数量达到最大时,会出现什么问题?

9.说一下没有Mybatis时,通过JDBC具体如何实现这个过程的?

10.假如没有接口,又含有final,如何使用动态代理JDK代理和CGlib代理有啥区别?

11.Innodb的索引实现

12.JDK代理和CGlib代理有啥区别?

13.Spring AOP用的哪些设计模式?

14.有没有产生过依赖A依赖B,B依赖C?

15.Volatile关键字的作用

16.Spring IOC如何解决循环依赖的问题?

17.介绍一下Spring及Springboot

18.说一下B树和B+树的区别

19.说一下HashMap的实现,扩容机制,扩容时如何保证可操作?

20.Redis扩容机制(渐进式单线程扩容)

21.Spring IoC的原理,如何实现,如何解决循环依赖?

22.CAS概念、原子类实现原理

23.AQS有什么特点?

24.MapReduce中容易发生数据倾斜,是怎么产生的,如何处理?

25.Hive数据倾斜怎么产生的?怎么处理?

26.设计一个栈,包含出栈,入栈,是否为空等

27.写一下单例模式,在多线程情况下呢?

28.代码题:复杂链表复制

29.代码题:数组a,先单调地址再单调递减,输出数组中不同元素个数。

30.JVM中什么时候会进行垃圾回收?什么样的对象是可以回收的?

.........

最后

文中打了省略号的地方是由于考虑篇幅,就着重挑了一些常见的重要的面试题展示出来了。

所有的面试题目都不是一成不变的,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。

文中提到的相关面试题整理成了40多套PDF文档:包括Java基础、算法、数据库、数据结构、缓存、大数据组件、消息队列、多线程、大数据组件原理、NIO&RPC。

资料获取方式:关注小编+转发文章添加VX:MXW5308 即可免费获取上述资料
重要的事情说三遍,转发+转发+转发,一定要记得转发哦!!!

资料获取方式:关注小编+转发文章添加VX:MXW5308 即可免费获取上述资料
重要的事情说三遍,转发+转发+转发,一定要记得转发哦!!!

猜你喜欢

转载自blog.csdn.net/weixin_45132238/article/details/114694484