10多家公司的Java开发面试常见问题合集

深渊向深渊呼唤

​上篇文章我请几个大佬帮我总结了一下,整理了三套模拟面试题,细心的大佬已经发现我中间断更了一天,为什么断更呢,也讲一下原因吧。我把我以前去面试过的那些东东扒出来了,今天我分享一下我的。
10多家公司的Java开发面试常见问题合集

本人是做java开发的,这是我参加工作几年面试总结所得,当然面得那些公司自然是跟在座的大佬比不得。有一些互联网大厂也有一些小的创业型公司的面试问题,与之前的几篇分享的会有一些重复,弄清楚这些,相信面试会轻松许多。

一次面试事故

面试官:你看过哪些源码?
我:都挺熟悉的
面试官:对hashMap了解程度怎么样?
面试官:那你能讲讲 HashMap的实现原理吗?
面试官:HashMap什么时候会进行 rehash?
面试官:结合源码说说 HashMap在高并发场景中为什么会出现死循环?
我:…
我:抱歉…
面试官:嗯。
面试官:… 把门关上。
我:… 要干嘛?先关上再说。
面试官:我说出去把门关上。
我:what ?,夺门而去

116道面试题

10多家公司的Java开发面试常见问题合集

    junit用法,before,beforeClass,after, afterClass的执行顺序

    nginx的请求转发算法,如何配置根据权重转发

    用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)

    线程的状态

    线程的阻塞的方式

    sleep和wait的区别

    hashmap的底层实现

    一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁

    java内存模型,垃圾回收机制,不可达算法

    两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化

    aop的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理

    是否用过maven install。maven test。git(make install是安装本地jar包)

    tomcat的各种配置,如何配置docBase

    spring的bean配置的几种方式

    web.xml的配置

    spring的监听器。

    zookeeper的实现机制,有缓存,如何存储注册服务的

    IO会阻塞吗?readLine是不是阻塞的

    用过spring的线程池还是java的线程池?

    字符串的格式化方法 (20,21这两个问题问的太低级了)

    时间的格式化方法

    定时器用什么做的

    线程如何退出结束

    java有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过reentrantlock吗?reentrantlock与synmchronized的区别

    ThreadLocal的使用场景

    java的内存模型,垃圾回收机制

    为什么线程执行要调用start而不是直接run(直接run,跟普通方法没什么区别,先调start,run才会作为一个线程方法运行)

    qmq消息的实现机制(qmq是去哪儿网自己封装的消息队列)

    遍历hashmap的三种方式

    jvm的一些命令

    memcache和redis的区别

    mysql的行级锁加在哪个位置

    ConcurrentHashmap的锁是如何加的?是不是分段越多越好

    myisam和innodb的区别(innodb是行级锁,myisam是表级锁)

    mysql其他的性能优化方式

    linux系统日志在哪里看

    如何查看网络进程

    统计一个整数的二进制表示中bit为1的个数

    jvm内存模型,java内存模型

    如何把java内存的数据全部dump出来

10多家公司的Java开发面试常见问题合集

    Java 会出现内存溢出吗?什么情况下会出现?

    双亲委派模型,为什么这样做?

    对象什么情况下进入老年代?

    mongodb和hbase的区别

    如何解决并发问题

    为什么使用 Executor 框架?

    什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

    快速排序说一下过程

    垃圾回收算法

    Tomcat 类加载器

    读写分离何时强制要读主库,读哪个从库是通过什么方式决定的,从库的同步mysql用的什么方式

    Redis 的数据类型?

    一个字符串类型的值能存储最大容量是多少?

    将一个链表反转(用三个指针,但是每次只发转一个)

    spring Aop的实现原理,具体说说

    在 java 中守护线程和本地线程区别?

    是否用过Autowire注解

    spring的注入bean的方式

    sql语句各种条件的执行顺序,如select, where, order by, group by

    select xx from xx where xx and xx order by xx limit xx;如何优化这个(看explain)

    四则元算写代码

    统计100G的ip文件中出现ip次数最多的100个ip

    zookeeper的事物,结点,服务提供方挂了如何告知消费方

    5台服务器如何选出leader(选举算法)

    适配器和代理模式的区别

    读写锁

    static加锁

    Jedis 与 Redisson 对比有什么优缺点?

    为什么 edis 需要把所有数据放到内存中?

    mybatis如何映射表结构

    二叉树遍历

    如何使用 Spring Boot 实现分页和排序?

    mysql引擎区别

    你使用了哪些 starter maven 依赖项?

    class文件编译后加载到了哪

    web的http请求如何整体响应时间变长导致处理的请求数变少,该如何处理?用队列,当处理不了那么多http请求时将请求放到队列

中慢慢处理,web如何实现队列

    线程安全的单例模式

    什么是 AOP?

    你能否举一个以 ReadOnly 为事务管理的例子?

    求表的size,或做数据统计可用什么存储引擎

10多家公司的Java开发面试常见问题合集

    哪个命令专门用来查看后台任务?

    把后台任务调到前台执行使用什么命令?

    怎么查看系统支持的所有信号?

    搜索文件用什么命令? 格式是怎么样的?

    使用什么命令查看用过的命令列表?

    使用什么命令查看磁盘使用空间?空闲空间呢?

    java的concurrent包用过没

    Java 中用到的线程调度算法是什么?

    java虚拟机的区域分配,各区分别存什么

    在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?

    Mybatis 是如何进行分页的?分页插件的原理是什么?

    Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?

    在 mapper 中如何传递多个参数?

    什么是 MyBatis 的接口绑定?有哪些实现方式?

    redis能存哪些类型

    服务注册和发现是什么意思?Spring Cloud 如何实现?

    Spring Cloud 和dubbo区别?

    什么是 Spring Cloud Bus?我们需要它吗?

    什么是 Netflix Feign?它的优点是什么?

    SpringBoot和SpringCloud的区别?

    可重入锁中的lock和trylock的区别

    innodb对一行数据的读会枷锁吗?不枷锁,读实际读的是副本

    redis做缓存是分布式存的?不同的服务器上存的数据是否重复?guava cache呢?是否重复?不同的机器存的数据不同

    用awk统计一个ip文件中top10

    对表做统计时可直接看schema info信息,即查看表的系统信息

    mysql目前用的版本

    公司经验丰富的人给了什么帮助?(一般boss面会问这些)

    自己相对于一样的应届生有什么优势

    自己的好的总结习惯给自己今后的工作带了什么帮助,举例为证

    原子类,线程安全的对象,异常的处理方式

    4Zookeeper 对于 Kafka 的作用是什么?

    数据传输的事务定义有哪三种?

    Kafka 判断一个节点是否还活着有那两个条件?

    Kafka 与传统 MQ 消息系统之间有三个关键区别

    讲一讲 kafka 的 ack 的三种机制

    kafka 如何不消费重复数据?比如扣款,我们不能重复的扣。

10多家公司的Java开发面试常见问题合集

面试题答案

好了各位, 本文到这里就结束了! 关于面试题答案为什么没有直接写出来,我想说的是把面试题写下来会显得文章很长,(现在已经很长了…)这样就影响文章的可读性。

整理了 1000 道多家公司 java 面试题 400 多页 pdf 文档,还有几百页的Java核心知识点PDF。
欢迎关注我的公众号领取:回复“面试”或者“PDF”即可。

欢迎大家领取,点击:789650498加入。验证:CSDN,即可免费领取。

我是提莫

一个节操泛滥,一身凛然正气,刚正不阿的Java程序员

栏目