您的位置 首页 java

2019、BAT大厂最新Java面试题整理、+福利

临近年关,又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。

Java 面试题

熟练掌握Java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些Java有关的一些算法,设计模式等等。

(1) java基础面试知识点

java中==和equals和hashCode的区别
int、char、long各占多少字节数
int与integer的区别
探探对java多态的理解
String、StringBuffer、StringBuilder区别
什么是内部类?内部类的作用
 抽象类 和接口区别
抽象类的意义
抽象类与接口的应用场景
抽象类是否可以没有方法和属性?
接口的意义
 泛型 中extends和super的区别
父类的 静态方法 能否被子类重写
进程和 线程 的区别
final,finally,finalize的区别
序列化的方式
Serializable 和Parcelable 的区别
静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?
静态内部类的设计意图
成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用
谈谈对kotlin的理解
闭包和局部内部类的区别
string 转换成 integer的方式及原理
 

(2) java深入源码级的面试题(有难度)

哪些情况下的对象会被垃圾回收机制处理掉?
讲一下常见编码方式?
utf-8编码中的中文占几个字节;int型几个字节?
静态代理和动态代理的区别,什么场景使用?
Java的异常体系
谈谈你对解析与分派的认识。
修改对象A的equals方法的签名,那么使用 HashMap 存放这个对象实例的时候,会调用哪个equals方法?
Java中实现多态的机制是什么?
如何将一个Java对象序列化到文件里?
说说你对Java反射的理解
说说你对Java注解的理解
说说你对依赖注入的理解
说一下泛型原理,并举例说明
Java中String的了解
String为什么要设计成不可变的?
Object类的equal和hashCode方法重写,为什么?
 

(3) 数据结构

常用数据结构简介
并发集合了解哪些?
列举java的集合以及集合之间的继承关系
集合类以及集合框架
容器类介绍以及之间的区别(容器类估计很多人没听这个词,Java容器主要可以划分为4个部分:List列表、Set集合、 Map 映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections),具体的可以看看这篇博文 Java容器类)
List,Set,Map的区别
List和Map的实现方式以及存储方式
HashMap的实现原理
HashMap数据结构?
HashMap源码理解
HashMap如何put数据(从HashMap源码角度讲解)?
HashMap怎么手写实现?
ConcurrentHashMap的实现原理
ArrayMap和HashMap的对比
HashTable实现原理
TreeMap具体实现
HashMap和HashTable的区别
HashMap与HashSet的区别
HashSet与HashMap怎么判断集合元素重复?
集合Set实现Hash怎么防止碰撞
ArrayList和LinkedList的区别,以及应用场景
数组和 链表 的区别
二叉树的深度优先遍历和广度优先遍历的具体实现
堆的结构
堆和树的区别
堆和栈在内存中的区别是什么(解答提示:可以从数据结构方面以及实际实现方面两个方面去回答)?
什么是深拷贝和浅拷贝
手写链表逆序代码
讲一下对树,B+树的理解
讲一下对图的理解
判断单链表成环与否?
链表翻转(即:翻转一个单项链表)
合并多个单有序链表(假设都是递增的)
 

(4) 线程、多线程和线程池

开启线程的三种方式?
线程和进程的区别?
为什么要有线程,而不是仅仅用进程?
run()和start()方法区别
如何控制某个方法允许并发访问线程的个数?
在Java中wait和seelp方法的不同;
谈谈wait/notify关键字的理解
什么导致线程阻塞?
线程如何关闭?
讲一下java中的同步的方法
数据一致性如何保证?
如何保证线程安全?
如何实现线程同步?
两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
线程间操作List
Java中对象的生命周期
 Synchronized 用法
synchronize的原理
谈谈对Synchronized关键字,类锁,方法锁,重入锁的理解
static synchronized 方法的多线程访问和作用
同一个类里面两个synchronized方法,两个线程同时访问的问题
 volatile 的原理
谈谈volatile关键字的用法
谈谈volatile关键字的作用
谈谈NIO的理解
synchronized 和volatile 关键字的区别
synchronized与Lock的区别
ReentrantLock 、synchronized和volatile比较
ReentrantLock的内部实现
lock原理
死锁的四个必要条件?
怎么避免死锁?
对象锁和类锁是否会互相影响?
什么是线程池,如何使用?
Java的并发、多线程、线程模型
谈谈对多线程的理解
多线程有什么要注意的问题?
谈谈你对并发编程的理解并举例说明
谈谈你对多线程同步机制的理解?
如何保证多线程读写文件的安全?
多线程断点续传原理
断点续传的实现
 

(5)分布式

为什么要进行系统拆分?如何进行系统拆分?拆分后不用dubbo可以吗?dubbo和thrift有什么区别呢?
说一下的dubbo的工作原理?注册中心挂了可以继续通信吗?
dubbo支持哪些序列化协议?说一下hessian的数据结构?PB知道吗?为什么PB的效率是最高的?
dubbo负载均衡策略和高可用策略都有哪些?动态代理策略呢?
如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试?
分布式服务接口的幂等性如何设计(比如不能重复扣款)?
分布式服务接口请求的顺序性如何保证?
如何自己设计一个类似dubbo的rpc框架?
使用 redis 如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?
分布式事务了解吗?你们如何解决分布式事务问题的?TCC如果出现网络连不通怎么办?XA的一致性如何保证?
集群部署时的分布式session如何实现?
为什么使用消息队列啊?消息队列有什么优点和缺点啊?kafka、activemq、rabbitmq、rocketmq都有什么优点和缺点啊?
如何保证消息队列的高可用啊?
如何保证消息不被重复消费啊(如何进行消息队列的幂等性问题)?
如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路
在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?
redis和 memcached 有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多?
redis都有哪些数据类型?分别在哪些场景下使用比较合适?
如何保证Redis高并发、高可用、 持久化 ?redis的主从复制原理能介绍一下么?redis的哨兵原理能介绍一下么?
redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
了解什么是redis的雪崩和穿透?redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理redis的穿透?
redis集群模式的工作原理能说一下么?在集群模式下,redis的key是如何寻址的?分布式寻址都有哪些算法?了解一致性hash算法吗?如何动态增加和删除一个节点?
为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?
现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
如何实现 MySQL 的读写分离?MySQL主从复制原理的是啥?如何解决mysql主从同步的延时问题?
[if !supportLists](1)[endif]如何限流?在工作中是怎么做的?说一下具体的实现?
如何进行熔断?熔断框架都有哪些?具体实现原理知道吗?
如何进行降级?
 

(6) 微服务

您对微服务有何了解?
 微服务架构 有哪些优势?
微服务有哪些特点?
设计微服务的最佳实践是什么?
微服务架构如何运作?
微服务架构的优缺点是什么?
单片,SOA和微服务架构有什么区别?
在使用微服务架构时,您面临哪些挑战?
SOA和微服务架构之间的主要区别是什么?
微服务有什么特点?
你对Spring Boot有什么了解?
什么是Spring引导的执行器?
什么是Spring Cloud?
Spring Cloud解决了哪些问题?
在Spring MVC应用程序中使用WebMvcTest注释有什么用处?
你能否给出关于休息和微服务的要点? 
 

(7)Java多线程,分布式架构

(8)Java基础,应用开发

非技术性问题&HR问题汇总

(1)非技术问题

介绍你做过的哪些项目
都使用过哪些框架、平台?
都使用过哪些自定义控件?
研究比较深入的领域有哪些?
对业内信息的关注渠道有哪些?
最近都读哪些书?
有没有什么开源项目?
自己最擅长的技术点,最感兴趣的技术领域和技术点
项目中用了哪些开源库,如何避免因为引入开源库而导致的安全性和稳定性问题
实习过程中做了什么,有什么产出? 
 

(2)HR提出的面试问题

您在前一家公司的离职原因是什么?
讲一件你印象最深的一件事情
介绍一个你影响最深的项目
介绍你最热爱最擅长的专业领域
公司实习最大的收获是什么?
与上级意见不一致时,你将怎么办?
自己的优点和缺点是什么?并举例说明?
你的学习方法是什么样的?实习过程中如何学习?实习项目中遇到的最大困难是什么以及如何解决的?
说一件最能证明你能力的事情
针对你你申请的这个职位,你认为你还欠缺什么
如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
项目中遇到最大的困难是什么?如何解决的?
你的职业规划以及个人目标、未来发展路线及求职定位
如果你在这次面试中没有被录用,你怎么打算?
评价下自己,评价下自己的技术水平,个人代码量如何?
通过哪些渠道了解的招聘信息,其他同学都投了哪些公司?
业余都有哪些爱好?
你做过的哪件事最令自己感到骄傲?
假如你晚上要去送一个出国的同学去机场,可单位临时有事非你办不可,你怎么办?
就你申请的这个职位,你认为你还欠缺什么?
当前的offer状况;如果BATH都给了offer该如何选?
你对一份工作更看重哪些方面?平台,技术,氛围,城市,还是money?
理想薪资范围;杭州岗和北京岗选哪个?
理想中的工作环境是什么?
谈谈你对跳槽的看法
说说你对行业、技术发展趋势的看法
实习过程中周围同事/同学有哪些值得学习的地方?
家人对你的工作期望及自己的工作期望
如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?
若上司在公开会议上误会你了,该如何解决?
是否可以实习,可以实习多久?
在五年的时间内,你的职业规划
你看中公司的什么?或者公司的那些方面最吸引你?
 

福利当然要留到最后:

今天免费分享,免费分享

以上BAT大厂Java面试题资料及视频获取方式

关注+转发后,加裙:834962734,即可免费获取。

重要的事情说三遍,转发、转发、转发后再加裙,才可以拿到。

资料内容只分享给2-8年Java开发程序员, (学生小白请绕道,谢谢配合)

文章来源:智云一二三科技

文章标题:2019、BAT大厂最新Java面试题整理、+福利

文章地址:https://www.zhihuclub.com/184458.shtml

关于作者: 智云科技

热门文章

网站地图