上篇文章我请几个大佬帮我总结了一下,整理了三套模拟面试题,细心的大佬已经发现我中间断更了一天,为什么断更呢,也讲一下原因吧。我把我以前去面试过的那些东东扒出来了,今天我分享一下我的。
本人是做java开发的,这是我参加工作几年面试总结所得,当然面得那些公司自然是跟在座的大佬比不得。有一些互联网大厂也有一些小的创业型公司的面试问题,与之前的几篇分享的会有一些重复,弄清楚这些,相信面试会轻松许多。
一次面试事故
面试官:你看过哪些源码?
我:都挺熟悉的
面试官:对hashMap了解程度怎么样?
面试官:那你能讲讲 HashMap的实现原理吗?
面试官:HashMap什么时候会进行 rehash?
面试官:结合源码说说 HashMap在高并发场景中为什么会出现死循环?
我:…
我:抱歉…
面试官:嗯。
面试官:… 把门关上。
我:… 要干嘛?先关上再说。
面试官:我说出去把门关上。
我:what ?,夺门而去
116道面试题
-
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出来
-
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,或做数据统计可用什么存储引擎
-
哪个命令专门用来查看后台任务?
-
把后台任务调到前台执行使用什么命令?
-
怎么查看系统支持的所有信号?
-
搜索文件用什么命令? 格式是怎么样的?
-
使用什么命令查看用过的命令列表?
-
使用什么命令查看磁盘使用空间?空闲空间呢?
-
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 如何不消费重复数据?比如扣款,我们不能重复的扣。
面试题答案
好了各位, 本文到这里就结束了! 关于面试题答案为什么没有直接写出来,我想说的是把面试题写下来会显得文章很长,(现在已经很长了…)这样就影响文章的可读性。
整理了 1000 道多家公司 java 面试题 400 多页 pdf 文档,还有几百页的Java核心知识点PDF。
欢迎关注我的公众号领取:回复“面试”或者“PDF”即可。
欢迎大家领取,点击:789650498加入。验证:CSDN,即可免费领取。
我是提莫
一个节操泛滥,一身凛然正气,刚正不阿的Java程序员