java面试题及答案2020 持续更新中..

java最新面试题及答案2020

先墙烈推荐两篇面试博客:

一、背下就能进阿里的百家名企面试题汇总

二、java常见面试题汇总

java面试题及答案2020 百度第一篇

先收藏后点赞,以后更新及时看

文末后续更新答案,持续关注哦

一面

  • 手写ArrayList
  • 手写进制转换算法,求出一个数的二进制数 1 的个数
  • JAVA 基础,equals 和==
  • 多线程方式、threadlocal,各种锁,synchronized 和 lock
  • 设计模式、spring 类加载方式、实例保存在哪、aop ioc、反射机制6、类加载器,双亲委派模型,热部署
  • jvm 内存模型,内存结构、堆的分代算法、堆的分区、gc 算法、gc 过程
  • tcp ip,七层模型,rest 接口规范,get 和 post 区别,长度,安全9、tcp ip 的 arp 协议,两个同一网络的主机如何获得对方的 mac 地址10、负载均衡、高并发、高可用的架构
  • mysql 的引擎区别
  • redis 缓存,redis 的集群部署,热备份,主从备份,主从数据库,hash 映射找到知道指定节点
  • 了解云计算么,了解云容器 docker 么,容器和虚拟机的区别
  • 百度 java 程序员

二面

  • 自我介绍,项目中负责哪些,做了哪些

  • 项目中的数据库备份,主从数据库、集群

  • 数据库的索引原理,b+树原理,trie 树引申,二叉查找树的原理

  • 海量数据中查找一个单词,分布式计算 map reduce,或者用 hsah 映射筛选部分结果5、java 的抽象类和接口区别、java 的 hashmap,java 的内存模型,分区,分代垃圾回收算法。实例、常量放在哪里

  • int 4 个字节,double 8 个字节

  • 多线程中的wait 和sleep 区别,notify 的作用

  • 设计模式了解哪些,写一个观察者模式。实现两个接口,一个是主题一个是观察者,并写出对应方法

  • 写一个生产者消费者队列的方法,分别写两个类代表生产者和消费者,并且用队列模拟其生产消费

  • tcp ip 的四次挥手,子网掩码的作用

  • 了解 linux 么,说一下 linux 的内核锁?

  • 有没有用过 sed,使用 shell 脚本写一个将文本中的字符替换掉的脚本,大概说了一下用 grep||替换

java面试题及答案2020 百度第二篇

一面

  • 自我介绍
  • Java 中的多态
  • 为什么要同时重写 hashcode 和 equals 4、Hashmap 的原理
  • Hashmap 如何变线程安全,每种方式的优缺点
  • 垃圾回收机制
  • Jvm 的参数你知道的说一下
  • 设计模式了解的说一下啊
  • 手撕一个单例模式
  • 算法题目
  • 手撕算法:反转单链表
  • 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图
  • 手写 java 多线程
  • 手写 java 的soeket 编程,服务端和客户端
  • 手撕算法:爬楼梯,写出状态转移方程
  • 智力题:时针分针什么时候重合

二面

  • 自我介绍

  • 项目介绍

  • 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免 DDOS 攻击请求打到少数机器

  • TCP 连接中的三次握手和四次挥手,四次挥手的最后一个ack 的作用是什么,为什么要
    time wait,为什么是 2msl

  • 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决

  • Linux 查看 cpu 占用率高的进程

  • 手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上

  • 然后继续在这个问题上扩展

  • 求出最短那条的路径

  • 递归求出所有的路径

  • 设计模式讲一下熟悉的

  • 会不会滥用设计模式

  • 多线程条件变量为什么要在while 体里

java面试题及答案2020 百度第三篇

一面 2019/7/22 来自于牛客网

  • 自我介绍
  • 问我数据结构算法好不好
  • 找到单链表的三等分点,如果单链表是有环的呢
  • 讲一下项目的架构
  • 说一下你熟悉的设计模
  • 有没有配置过服务器

二面

  • Spring:有没有用过 Spring,Spring IOC、AOP 机制与实现,Spring MVC

  • 多线程:怎么实现线程安全,各个实现方法有什么区别,volatile 关键字的使用,可重入锁的理解,Synchronized 是不是可重入锁

  • 集合:HashMap 底层实现,怎么实现HashMap 线程安全

  • JVM 内存管理,GC 算法,HotSpot 里面的垃圾回收器、类加载

  • 进程和线程的区别

  • HTTP 有没有状态

  • Java IO,NIO,Java 中有没有实现异步 IO

  • 前端会不会,Ajax 是什么,Ajax 实现原理

  • 让我设计一个线程池

  • 讲几个设计模式,哪些地方用到了,为什么要用

  • Mysql 优化、索引的实现我从数据库设计优化和查询优化两方面讲的。索引 B+树实现, InnoDB 和 MyISAM 主键索引的实现区别,一个聚集一个非聚集

  • 事务的隔离级别

  • 四种隔离级别,可能会出现哪些异常,mysql 中默认级别

  • 有没有用过 Hibernate、mybatis、git

  • 从 10 万个数中找最小的 10 个,时间复杂度分析

  • 从一个有正有负数组中找连续子数组的最大和,时间复杂度分析

  • 满二叉树第 i 层有多少个节点,n 层的满二叉树共有多少个节点

java面试题及答案2020 百度第四篇

一面

  • 自我介绍

  • 确定了下我学过的东西:Java,linux,mysql 网络,数据结构和算法

  • 说一下实习公司的测试流程

  • 先问一下java 相关的,说下 java 的作用域

  • 重载和重写的区别?

  • 知道 error 和 exception 吗?异常处理机制

  • char 类型能否存储一个中文字符?

  • 接口可以继承接口吗?抽象类可以实现接口吗?

  • 知道序列化吗?反序列化?

  • 序列化如何实现?

  • Java 垃圾回收是怎么个情况?

  • 如何让jvm 开始垃圾收集?

  • 调用了finalize()System、gc()会立刻开始垃圾回收吗? 14、final,finall,finalize 三者的区别?

  • 问下网络相关的,说下三次握手和四次挥手的详细过程?

  • http 的状态码,像 1、1、1、0,1、0,1、0 都是什么意思?1、0?

  • 算法,写下冒泡排序或者快速排序?

  • 冒泡排序俩个循环,可以优化吗?时间复杂度是多少?空间复杂度呢?

  • 写下二分查找

  • mysql,student_score 表,有字段:s_id,course,score、写 sql,查出平均成绩大于1、的学生 id

  • linux,查看 cpu 使用率的命令?

  • 查看磁盘使用情况的命令?

  • 按照文件名查找一个文件的命令?

  • 查到某文件并删除如何进行?

  • 已知一个进程号,杀掉这个进程的命令?

  • 如何友好地停掉一个进程? 27、vim、vi 用的多吗?

  • 日志文件是滚动的,要查找日志文件的末 1、行如何查?

  • 项目,讲下你简历上写的项目的架构,从数据库->dao->service->controller 30、项目中有没有管理一些配置文件?比如、pom

  • 如何使用配置文件呢?(让配置文件生效 xmlPathContextApplication(“application、xml”))

二面 2020/2/28 来自于牛客网

  • 无自我介绍,直接介绍实习工作
  • 如何保证测试的质量?
  • 除了用时间成本,有没有什么有效确保测试质量的措施?
  • 遇到难以解决的问题,怎么应对
  • 在工作中有没有和别人的合作?实习期间有没有遇到矛盾?
  • 觉得工作中什么事情很难抗?
  • 你怎么看待开发和测试的关系?
  • 对未来职业有什么预期吗?
  • java 里面会有内存泄漏吗?什么情况下会有?
  • String Stringbuffer StringBuilder 对比11、stringbuffer 和stringbuilder 适用场景? 12、多态理解?
  • 算法:求一个字符串内的最大不重复子串
  • 算法:无序数组,找出其中和为 target 的元素
  • 逻辑:1、1、求 1
  • 你的外卖系统,如何来规划测试?

java面试题及答案2020 百度第五篇

一面 2019/1/26 来自于牛客网

  • 项目负责模块的流程,具体怎么做

  • git 和 maven 的常用命令(有关于分支、文件对比等相关操作;打包等命令)

  • sql 语句——内联查询,如何在一条 sql 语句执行前输出一个随机数

  • 使用redis 的好处

  • 如何找到一个链表的中间节点?

  • 如何判断一个三角形的类型?

  • 如果要对对购物车模块进行测试,阐述一下自己的想法

  • 面向对象有三大特征:封装性、继承性、多态性

  • java 中有哪些常见的数据类型?

  • 常用哪些工具类?

  • hashmap 的底层实现,以及它的优缺点?

  • linux 命令:查询指定文件的行数
    二面 2019/2/6 来自于牛客网

  • 自我介绍。有提到服务的模块化改造

  • 对于MVC,SOA,微服务的理解

  • 看到我项目里面用了redis,为什么要用 redis?是否理解 redis 的线程模型?

  • 然后他紧接着问我,你确定redis 比 Mysql 快?

  • redis 的项目中的实际应用场景?

  • 我们项目中的那些业务必须要用 redis,既然说 redis 可以给 mysql 减压,那你们系统的用户量和并发量是多少?

  • 有没有遇到过 Mysql 顶不住宕机的情况?如果现在系统的流量增加 1、00 被,该从那些层面考虑优化系统性能?

  • 在使用redis 的时候你应该注意那些问题

  • 看你简历上写你深入理解 OOP,说一下你对 OOP 的理解

  • 你说你有良好的编程习惯,具体体现在哪里

  • 怎么用的设计模式去重构的流程模块。讲一下思路

  • 最近看过那些书?学JAVA 多久了?什么时候能来实习,能来多久?

  • 看你熟悉 mysql,简单说一下 MVCC

  • 说一下你在线上使用mysql 遇到的具体问题

  • 说一下Mysql 线上调优的经验

  • 说一下 mysql 中共有那些锁,并分别介绍一下

java面试题及答案2020 百度第六篇

一面 2019/12/18 来自于牛客网

  • 实习、项目,问得比较深

  • Java 基本数据类型,int 和 Integer 区别

  • ArrayList 和 LinkedList 区别

  • Stack 和 Heap 区别,空间存放上?内存分配上?

  • 代码题:1-7 可以组成的不同且无重复的三位数

  • Redis 存取数据

二面 2018/12/21 来自于牛客网

  • 实习和项目经历(较详细),遇到了什么问题,怎么解决的
  • 用了什么数据库,读写数据量大不大,用了什么引擎?MyISAM 引擎用过没有?有什么区别?MyISAM 具体用的用途是什么
  • 数据库相关隔离级别介绍下,你现在用的是什么隔离级别
  • 两个事务A、B,A 是未提交,A 读了一个数据,B 对数据进行写,A 再次读读的是什么数据?
  • 我专业不是计算机专业的,问了下和计算机专业的关系,都学了写什么相关的理论
  • 排序相关算法,时间复杂度都是怎么样的
  • 对于单链表来说,比较好的排序是什么?
  • 队列和栈。两个栈怎么实现队列?
  • 一群数字如何去重
  • 给栈加个辅助功能,实现得到栈此时的最小元素
  • Java 并发,内存管理,并发?什么场景遇到过?怎么解决?
  • OOM 什么时候遇到过?OOM 时程序有什么表现?进程消掉了还是线程死掉了?

java面试题及答案2020 百度第七篇

一面

  • 在线程 A 对 HashMap 进行迭代查询的时候,线程 B 对 HashMap 进行增删改会发生什么
  • ConcurrentHashMap,的数据结构与 HashMap,有什么区别与联系3、Java 内存模型中哪一个区域不会发生 OOM 异常
  • 类加载流程
  • 为什么要有双亲委派,类加载器有哪些
  • MVCC 是什么,简述 MySQL 的隔离机制
  • MySQL 的锁机制
  • Java API 中NIO 和 BIO 的区别
  • 消息中间件的好处,如何选型
  • Redis 的 IO 模型;常用的数据结构;zset 的内部实现,为什么用跳表不用红黑树,跳表的空间复杂度
  • 11、AOP 的抽象属性之间的关系与联系

二面 2019/8/20 来自于牛客网

  • 介绍项目,秒杀平台如果想支持更大的并发量应该如何优化?如果把项目部署成多个服务,架构方面应该怎么做
  • 数据库的ACID,MySQL 底层是如何保证原子性的
  • 设计一个实时监测 MySQL 的工具,可以监测每条 SQL 语句运行时间、事务的运行和数据库的连接信息等
  • MySQL 的 binlog、redo log 和 undo log 5、HTTP 和 HTTPS 的区别
  • Redis 的主从架构、哨兵机制
  • Redis 的持久化,RDB 和 AOF 的对比
  • MQ 如何保证消息传输的可靠性
  • 问了学校的研究方向、本科学习情况及获奖情况

java面试题及答案2020 百度第八篇

一面

  • 数据库的事务,四个性质说一下,分别有什么用,怎么实现的
  • 讲到了redo 和 undo 日志,问我分别有什么用,说redo 日志说错了
  • 数据库的隔离性如何保证,使用悲观锁和乐观锁有何区别。MVCC 的设计目的是什么, 怎么使用版本号判断数据的可见性
  • 问了一道算法,1 到N 的所有数字,按照字典序打印,怎么做,怎么优化,按照数字特征顺序打印,问这个东西和什么结构比较像。提示是树,然后说了个多叉树,问我怎么实现, 最后其实使用dfs 遍历树的每个分支
  • 多线程并发的同步实现,有两个方法,每个方法里有a 部分代码和b 部分代码,我要让两个线程分别执行两个方法,并且让他们运行完a 部分代码再一起向下执行,如何实现
  • 我说了用 cyclicbarrier 实现,互相等待await
  • 然后他问我怎么用信号量实现,并且提示可以再用一个线程
  • 问了项目
  • 如何把优化递归的代码
    二面 2020/3/30 来自于牛客网
  • 自我介绍,项目
  • 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免 DDOS 攻击请求打到少数机器
  • TCP 连接中的三次握手和四次挥手,四次挥手的最后一个ack 的作用是什么,为什么要

time wait,为什么是 2msl

  • 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决
  • 开源的技术看过用过么,分布式存储的了解么
  • 想做什么方向的开发
  • Linux 查看 cpu 占用率高的进程
  • 查看占用某端口的进程和某进程监听的端口
  • 如何查询日志文件中的所有 ip,正则表达式

java面试题及答案2020 百度第九篇

一面 2020/2/27 来自于牛客网

  • 问极光推送 JPush 怎么做的,有什么优缺点,要怎么改
  • apk 如何瘦身,如何写脚本去掉多余的资源,内存如何优化,性能如何提升
  • protobuffer,和 json 什么区别,分别适用于什么场景,自己设计一套通讯协议,如果尽量压缩每个key
  • UI View 渲染流程
  • activit 几种启动模式
  • view 的attach deatch 是谁触发
  • 手写一个快排算法
  • tcp 三次握手,sack 是什么
  • redis 如何存储用户信息,问我热数据是以什么格式存的,问我用过几种类型数据,什么场景用的
  • 服务器如何实现秒传文件

二面

  • 问我过度绘制怎么解决,问我如何发现内存泄漏

  • 然后就说项目很牛,开始问我基础的4、问我final 有哪些用法

  • static 哪些用法

  • volatile 什么用法

  • java 一共就 2 种,值类型和非值类型的理解

  • 锁有几种

  • synchronized 如果加到一个方法,另一个线程想访问类中的其他方法行不行,如果两个方法都加sync 关键字,又是怎样的访问权限

  • public 和默认的什么关键字都不加有什么区别

  • 问我对进线 golang 的协程的理解

  • android service 和广播的理解

  • 如果我们的应用关闭了,或者根本没打开过,还怎么收到推送

java面试题及答案2020 百度第十篇

一面

  • 自我介绍
  • Java 中的八大类型及其包装类型
  • 说一下 Map 的各种实现类,它们有什么区别
  • HashMap 底层实现
  • Spring 中的 Bean 生命周期,Spring 初始化过程
  • 数据库中的组合索引,数据库优化有了解过吗
  • 快排,时间空间复杂度
  • Servlet 是单线程还是多线程的,线程安全吗
  • 有什么要问我的
    java面试题及答案2020

二面

  • 实习经历,实习时的项目功职责
  • 项目介绍,redis 和 mysql 是如何保证数据同步性的3、rabbitmq 是如何保证可靠的,kafka 适用于什么场景
  • springboot 的优介绍一下springboot
  • orm 有了解过 Springdata 吗,如何把 mybatis 里的xml 迁移到springboot 6、redis 的作实用场景
  • 说一下微服务,docker 的优点,docker 中的端口映射问题
  • 静态内部类和非静态内部类,内部类为什么可以访问到它外部类的数据和方法? 9、lambda 表达式在 jvm 里是如何体现的
  • hash 冲突了解哪些?说一下 hashmap 里的 hash 冲突,红黑树的定义,put 一个元素到红黑树里红黑树的转变过程
    java面试题及答案2020
  • 正向反向*,nginx 有了解过吗
  • android 里的 handler 了解吗
  • zookeepespringcloud 知道吗,你的项目有没有使用多台机器
  • 还有什么想问我的
    java面试题及答案2020 后续持续更新中。。敬请关注,点赞+收藏,java面试题及答案2020持续更新
版权声明:程序员胖胖胖虎阿 发表于 2022年9月8日 下午11:08。
转载请注明:java面试题及答案2020 持续更新中.. | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...