面试题总结

一 前言

年后的这段时间一直都没有更新,主要是因为在准备简历和面试。今天主要说一下这次面试过程中遇到的一些问题,不分公司。

这次面试遇到的问题我把它们归类为五大类,分别是:项目相关、Java基础、数据库、框架、中间件和分布式。

二 项目相关

简单介绍一下目前在做的项目

项目中有遇到哪些问题,最后怎么解决的

项目中用到了哪些技术点

项目中用到了哪些设计模式

说一说哪个项目对你的成长起到了很大的帮助

三 Java基础

1.sleep和wait的区别

2.都用过哪些map类

3.HashMap、HashTable、ConcurrentHashMap比较

4.String,StringBuffer与StringBuilder的区别

5.对象的深浅复制

6.CountDownLatch的await方法是否安全,怎么改造

7.线程池都有哪些配置参数

8.线程池工作原理

9.ThreadLocal原理

10.servlet是否线程安全,如何改造

11.session与cookie的区别

12.get和post区别

13.tcp3次握手

14.文件上传用post还是get

15.分布式session的设计

16.如何防止表单重复提交

17.jvm工具,jps,jinfo,jmap...使用

18.有哪些方式创建线程

19.有两个线程,怎么有序的执行

20.怎么实现多个线程先执行完的等待其他未执行完的线程

21.对JVM的了解

22.Java都有哪些类加载器

23.可以自己定义String类吗

24.删除ArrayList中值为“A”的字符串

25.JVM的dump文件都有哪些信息

26.线上cpu占比过高怎么排查

27.BIO、NIO、AIO讲解

28.JVM堆外内存都有哪些

29.JVM堆外内存怎么回收

30.cms回收时有哪几个步骤

31.cms哪个步骤会应用不可用

32.jdk和cglib代理的区别

33.双检锁单例模式

34.aqs的实现

35.都有哪些内存泄露的例子

36.httponly啥作用

37.HTTPS 和 HTTP 有什么区别

38.ssl加密算法

39.ReentrantLock默认是公平锁还是非公平锁

40.hashcode的使用场景

41.怎么实现hashcode

四 数据库

1.SQL的优化方式都有哪些

2.MySQL深度分页查询limit 100000, 10过慢优化

3.MySQL的innoDB的特性有哪些

4.innodb的bTree的树的深度有限制吗

5.索性失效的场景

6.最左原则

7.锁的类型,行级表级

8.数据库事务隔离级别

9.悲观乐观锁

10.数据库事物

11.MySQL数据库的主键索引和非主键索引的区别(区分存储引擎)

12.MySQL的索引有几种

13.联合索引,用一个查询参数会走索引吗

14.数据库的表设计

五 框架

1.spring给我们带来了什么优势

2.ioc原理

3.aop原理

4.ioc初始化流程

5.springmvc的流程

6.spring怎么实现事务隔离的

7.spring的controller是单例还是原型

8.spring的controller是单例的话,其中注入的httpRequest对象是怎么做到线程安全的

9.spring的事务,同一个类中,方法a没有@Transcationnal注解,方法b有,在方法a内调用方法b会有事务吗

10.mybatis怎么将查询结果集和返回类型映射的

11.mybatis怎么将接口和xml映射的

12.dubbo的分组

13.dubbo的负载策略在哪块做的

14.dubbo的负载算法有哪些

15.dubbo怎么实现接口实例化的

16.zk 挂掉后对dubbo有影响吗

17.zk 挂了,dubbo服务提供者也挂了一个,消费端会删除这个提供者吗

18.dubbo如何实现优雅的停止服务

19.dubbo协议都有哪些,项目中使用的是哪个

六 中间件和分布式

CAP原理

1.都有哪些分布式锁的实现方式

2.分布式事务

3.Redis的数据类型

4.Redis集群的搭建方式

5.Redis zset的排序实现原理

6.Redis的持久化方式

7.Redis缓存穿透,如何解决

8.Redis缓存雪崩,何如解决

9.Redis的io模型

10.Redis的高可用

11.Redis是单线程还是多线程

12.zookeeper的节点类型

13.zookeeper的通知机制

14.zookeeper对节点的watch监听通知是永久的吗

15.zookeeper满足了CAP的哪些特性

16.zookeeper集群最少要几台机器

17.zookeeper集群中的机器角色都有哪些

18.zookeeper集群选举过程

19.zookeeper整个集群挂掉会不会影响在运行的dubbo服务

20.kafka判断一个节点是否还活着有那两个条件

21.kafka的数据传输的事务定义

22.kafka consumer是否可以消费指定分区消息

23.kafka消息是采用Pull模式,还是Push模式

23.kafka其他MQ的区别

24.kafka新建的分区会在哪个目录下创建

25.kafka消费者负载均衡策略

26.kafka数据有序消费

27.kafaka生产数据时数据的分组策略

28.elasticsearch数据类型

29.elasticsearch集群

30.netty的线程模型

七 总结

以上就是这次面试遇到的相关问题,当然还有一些未整理在上面的算法相关问题。

总结下来和以往面试的不同之处,这次更多的是分布式相关问题,Java基础的部分相对少了,这也许就是以后重点学习的方向。

欢迎工作一到五年的Java程序员朋友们加入Java架构交流:810589193

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导

你可能感兴趣的:(面试题总结)