您的位置:首页 > 编程语言 > Java开发

2020年6月最新BAT大厂JAVA岗高频面试题:阿里+华为+字节跳动+美团,面试题总结。

2020-07-13 04:18 260 查看

前言

端午节放假,跟一些朋友聚了聚,然后聊了聊他们自己前段时间大厂面试题目

正好放完假回来整理了一下素材

今天我将朋友和网上的面试BAT大厂JAVA岗面试题目统一出来,希望能够帮助大家!

阿里巴巴篇


1.题目:

NFS 和 SMB 是最常见的两种 NAS(Network Attached Storage)协议,当把一个文件系统同时通过 NFS 和 SMB 协议共享给多个主机访问时,以下哪些说法是错误的:(多选)

A. 不可能有这样的操作,即把一个文件系统同时通过 NFS 和 SMB协议共享给多个主机访问。

B. 主机 a 的用户通过NFS 协议创建的文件或者目录,另一个主机 b的用户不能通过 SMB 协议将其删除。

C. 在同一个目录下,主机 a 通过 NFS 协议看到文件 file.txt,主机b 通过 SMB 协议也看到文件 file.txt,那么它们是同一个文件。

D. 主机 a 通过 NFS 协议,以及主机 b 通过 SMB 协议,都可以通过主机端的数据缓存,提升文件访问性能。

参考答案:A,B,C

2.ConcurrentHashMap原理,JDK1.8都有什么新特性

3.HBase底层数据存储的结构

4.java内存模型分为了几块区域?元空间里有些啥?

5.jdk hashmap 底层存储?红黑树的特点,为啥不用数组用红黑树?数据库用过吗?用的啥数据库,mysql用的啥引擎?为啥数据库底层用B+树不用红黑树?

6.JVM内存模型了解下,是否有过调优经验(大互联公司)

7.题目:

MySQL 的数据如何恢复到任意时间点?

参考答案:

恢复到任意时间点以定时的做全量备份,以及备份增量的 binlog 日志为前提。恢复到任意时间点首先将全量备份恢复之后,在此基础上回放增加的binlog 直至指定的时间点。

8.NIO知道吗? nio底层调用了啥?啥是非阻塞IO?

9.string类的用法

10.题目:

从 innodb 的索引结构分析,为什么索引的 key 长度不能太长?

参考答案:

key 太长会导致一个页当中能够存放的 key 的数目变少,间接导致索引树的页数目变多,索引层次增加,从而影响整体查询变更的效率。

11.对象存在java内存的那块区域里面

12.多线程,AtomicInteger底层用的啥?cas的原理,AtomicInteger用了Voliate么?voliate的原理,变量加Voliate被修改了其他线程能立刻知道么?

13.知道spring AOP是如何实现的么,动态代理和CGlib分别是如何实现的

14.了解Dubbo框架不,看过源码没,了解实现原理吗?

15.给定一个整数数组和一个整数,返回两个数组的索引,这两个索引指向的数字的加和等于指定的整数。需要最优的算法,分析算法的空间和时间复杂度

华为篇


1.java的反射机制了解吗?

2.Java的数据类型,线程,内存

3.rabbitMQ有哪些关键的组成部分?

4.STL中vector和map的区别,map底层如何删除一个元素

5.String,StringBuffer,聊了比较多的String相关的

6.对Spring的理解,说说里面用到的设计模式

7.多线程中生产者和消费者如何保证同步

8.浏览器输入一个地址,数据在网络中是怎么传输的,每一层加了什么?

9.你用的java哪个版本,java1.8有什么新特性?

10.你用过什么消息中间件?

11.说一下mysql中隔离性的4个隔离级别,如何保证可重复读,mvvc了解吗?它的原理是什么

12.写代码:判断一棵树是不是平衡二叉树

13.自旋锁和互斥量的区别

百度篇


1.concurrentHashmap是安全的吧,那你知道concurrentHashmap的size()怎么求吗

2.MySQL用的什么索引?

3.ReentrantLock如何实现非公平锁的?重点是如何实现“非公平”,和“公平锁”有什么区别?

4.Synchronized的底层原理,字节码层面如何实现加锁的?

5.编程题:

给定一颗二叉树,实现一个方法让每个节点新增一个next,next指向当前节点右边的第一个兄弟节点。

6.场景题:

有A、B、C三个方法,分别是循环输出A,输出B,输出C 10次,使用多线程实现按照“ABC”的顺序输出10次

7.反转链表按k,最长重复子串

8.用过Spring吧,说一说Spring中Bean的加载过程,BeanFactory和FactoryBean有什么区别?

9.内存泄漏是什么,怎么检测

10.什么是线程池

11.写一个list删除目标元素的函数,然后写个测试用例测试一下能不能通,为什么不能正向遍历

12.消费者生产者,写写伪代码

美团篇

1.mybatis怎么实现orm 说说自己理解 让你落地怎么去做

2.PU飙升,只有JAVA进程,如何解决

3.Redis和ZooKeeper如何实现分布式锁以及区别

4.String 和 Hash的使用场景

5.StringBuilder和StringBuffer的区别

6.ZooKeeper如何实现数据一致性

7.分布式锁的实现原理

8.简单讲一下你使用过的设计模式,然后让我写了一个线程安全的单例

9.实习做了什么,怎么做的,有什么收获

10.线程有几个状态,就绪和阻塞有什么不同,知道线程池的实现原理不,核心参数讲一下,讲一下线程池分配线程的方法,项目中用过几种加锁的方法,threadlocal的实现原理

11.一个算法题假设有N级台阶每次可以上1或者2 阶,有几种方法上N级台阶

字节跳动篇


1.hashmap,hashmap扩容是需要重新哈希吗?如果二次哈希后还是哈希冲突呢?

2.integer和int的自动装箱和拆箱以及为什么要用integer类

3.Java的线程都有哪几种状态

4.Java堆中有哪些GC算法

5.Java有哪些引用类型,分别是什么特点

6.JMM模型,内存可见性介绍下

7.JVM内存模型分为哪几个区域

8.static final修饰的一个int 进行修改后是否需要进行重新编译

9.synchronized和volatile区别

10.wait()和sleep()有什么区别

11.并发中的方法

12.抽象类和接口的区别,什么时候用抽象类什么时候用接口

13.二叉树镜像,时间复杂度,空间复杂度

14.反转链表按k,最长重复子串

15.介绍2个设计模式

16.算法题:

反转链表,删除排好序数组中重复元素,第一题秒了,第二题用两根指针卡了可能1分钟在左指针的移动上。

17.推荐系统,考虑过分布式系统嘛,QPS怎么测试出来

以上就是一线BAT互联网大厂JAVA岗经典面试题,小编把这些面试题目以及答案收集总结出来的一套BAT大厂面试资料专题包,在这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家。

点击下面这个链接,暗号: csdn ,免费获取一线大厂面试题,随手也可以点点关注啦~
点击这里

点击下面这个链接,暗号: csdn , 免费获取各个大厂笔试题和面试专题
点击这里

点击下面这个链接,暗号: csdn ,免费获取283页互联网P7《java核心知识点》PDF文档
点击这里

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐