java面试题,java基础面试笔试题


写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。也欢迎各位一起在群里探讨技术。

1:首先三分钟自我介绍(从大学开始)

2:为什么要从上家公司离职

3:什么时候能到岗

里面写的绝大多数都是多次问到的

一:java基础部分

1:具体讲解一下java三大特性

2:4种访问修饰符的范围

3:工作中接触的排序方法有哪些,用java代码写出一个

4:什么是反射,反射有什么用,如何用反射技术获取一个类私有的方法

5:什么是线程安全

6:你知道的线程同步的方法有哪些

7:如何避免死锁

8:你用过线程池吗,讲一讲你了解的线程池

9:线程池顶层接口是什么

10:线程池能和工厂模式一起使用吗,为什么

11:如何才能实现线程安全

12:同步代码块和同步方法有什么区别

13:你了解的设计模式有哪几种,分别描述一下,用java代码写出一个设计模式

14:cookie和session的区别

15:讲一讲你了解的list,set,map,有没有看过集合的源码

16:hashmap为什么不是线程安全的

17:map有没有线程安全的子类,有的话是什么,如何实现的

18:讲一讲 过滤器 拦截器 监听器,以及如何配置

19:你用没用过多线程,有那些实现方式,平时用哪种,为什么

20:如何处理高并发的现象,有什么建议

21:代理模式有哪几种实现方式 如何实现动态代理

22:jvm以及 java内存模型

23:多台服务器之间如何实现session共享的

24:悲观锁 乐观锁的实现方式

25:java jdk并发包在哪个路径 讲一讲并发包做了什么事

26: jdbc 与mybatis的区别

27:hash冲突怎么解决

28:生成hashcode的方式(原理)

29:hashmap如何实现线程安全

29:如何保证hashmap线程安全

30:垃圾回收

31:数据结构 以及 数据结构算法

32:java 在那些场景用到了ThreadLocal 怎么用的

33:jdk1.8 新特性

别的忘了还有好多 以后想起来在补充

框架篇:(不全,好多都遗忘了)

Spring篇

1:讲一讲你理解的spring

2:平时开发中怎么用的spring 有没有看过源码,有什么什么使用心得

3:spring的ioc 有几种注入方式,具体讲一讲如何实现的

4:讲一讲spring的 aop 你们开发中都用了哪些功能

5:aop是靠什么实现的

6:你有没有用aop自己实现日志监测功能

7:你们开发中是如何使用spring事物的

8:谈一谈spring事物的隔离级别以及传播行为,默认的是什么

9:spring用了哪些设计模式

10:spring的动态代理

11:spring常用的注解有哪些

12:spring的事物是怎么实现的

Springmvc篇

1:springmvc的工作原理

2:平时开发中都用了哪些注解

3:controller层 都使用了哪些注解

4:controller层除了加@controller 还有什么注解可以使这个类交给spring管理

5:你们工作中如何接收参数的,用的什么注解

6:get请求和post请求接收的参数有什么不同,都是怎么接收的

7:用过resultful 风格吗 讲一讲如何用的

8:springmvc 的拦截器如何配置

9:在springmvc 视图渲染这一流程中 freemarker模板引擎和jsp引擎能同时使用吗

10:@Autowired 和@Resource的区别

Mybatis篇

1:${} 和#{} 的区别

2:什么是sql注入 如何用mybatis防止sql注入

3:如何用mybatis实现添加一条数据时将主键返回

4:谈一谈mybatis的一二级缓存,如何开启已经如何使用

5:如何用mybatis批量添加或者修改数据

6:mybatis的工作流程

7:mybatis的session是如何关闭的

8:mybatis怎么创建selsession的

9:mybatis如何获取配置文件中配置的内容的

struts2篇

1:struts2能否是单例的,为什么

2:你们工作中是如何使用struts2的

Hibernate篇

1:mybatis和hibernate的区别

2:谈一谈hibernate的缓存

3:hibernate的get方法和load方法哪一个可以导致懒加载

4:懒加载获得的对象是什么态的

5:为什么hibernate会用到hql语句 hql语句和sql语句有什么区别,哪个更有优势

Spring boot 篇

1:用没用过Spring boot ,谈一谈你了解的Spring boot

2:Spring boot如何启动的

3:Spring boot的启动类上面加的是哪一个注解

4:Spring boot如何将项目打成jar包的,如何启动这个jar包

5:Spring boot和传统的开发相比 具备哪些优势

Mysql篇

1:创建一张学生表 字段包括 学号 姓名 年龄 学历 性别 手机号 家庭住址

2:将 年龄小于20岁的学生学历改成大专

3:查出 手机号 为18开头的学生

4:查出前30条学生全部信息 (limit 后面跟什么参数)

5:按照性别统计出学生的平均年龄

6:平时对mysql进行调优过吗

7:平时用的mysql的哪一种引擎

8:mysql 中innodb myisam的 区别

9:myisam可以使用事物吗

10: 谈一谈你了解的sql索引优化

11:byte字段可以用作索引吗

12:innodb 和myisam 索引有什么区别

13:说出几种会导致索引失效的场景

14:谈一谈你理解的mysql的事物

15:给你需求文档,你如何设计一张表

16:除了索引优化以外 你还做过哪些优化

17:在做商品秒杀活动的时候,如何设计才能避免库存表的高并发

18:谈一谈行锁和表锁

19:mysql索引怎么实现的

20:存储过程

Mycat篇:

1:为什么用项目中选择用mycat,用在了什么地方

2:mycat的路由规则都有哪几种

3:如果用mycat查询已经分库的表中数据的时候 查了一张表还是都查了

4:在mysql中间加了一层数据库中间件mycat会不会导致查询性能变慢

5:mycat如果挂掉的时候会不会导致查询崩溃

Nginx篇

1:说一说什么是负载均衡 和反向代理

2:如何配置 负载均衡 有哪几种方案 配置的参数名称叫什么

3:如何配置 反向代理 配置的参数名称是什么

4:反正代理和正向代理的区别

5 : 你们项目中用到了几台nginx 如何实现集群的

6:一台nginx挂掉之后 如何切换到备机的

7:你们公司用没用F5 或者一些别的方案实现 nginx的高可用的

FastDfs篇

1:为什么选择用FastDfs存储图片,有什么优势

2:FastDfs 和 hdfs 有什么区别

Dubbo篇

1:讲一讲dubbo的工作原理

2:dubbo 信息提供方如何在配置文件中配置的

3:dubbo 信息消费方如何在配置文件中配置的

4:dubbo 如何连接zookeeper的

5:你搭没搭建过dubbo 以及监控中心

6:在使用dubbo的时候 如果消息提供方挂掉了 如何排查出是那一台挂掉了

7:在使用duboo的时候 如果你在server方修改了一个方法但是还没有测试修改的正不正确,如何配置才能够在往zookeeper注册的时候不影响同组其他成员的正常使用

Redis篇

1:如何搭建集群的,怎么搭建的

2:了解哨兵模式吗

3:redis是单线程还是多线程 为什么这样设计

4:你用过 redis那些命令 讲一讲

5:有一个使用场景,在注册的时候用到了redis ,如何设计才能防止用户恶意注册

(就是如何设计让用户在单位时间内操作5次以后不能再访问了)

6:redis如何实现数据备份

7:redis的 set和 zset有什么区别

8:redis和memcache的区别

9:为什么用redis作缓存,在java中自己用map写缓存不也可以么?

10:redis是单线程的,那么同时发送2个请求,第一个请求获取返回的String类型的字符串太长,会有一段响应时间,那么第二个请求为什么可以添加数据?

activeMQ篇

1:activeMQ和 kafka有什么区别

2:还知道什么消息中间件吗

3:你在项目中如何使用的activeMQ

4:讲一讲activeMQ 的队列以及主题模式

5:单位时间内 activeMQ 的队列模式和主题模式那个吞吐量多 为什么

6:你搭没搭建过activeMQ 的集群

7:你改没改过 或者你了解activeMQ的相关配置吗

Kafka篇

1:zk与kafka怎么配合使用

2:为什么要用zk

3:kafka如何保证生产消息不丢失,消费消息不冲突

Freemarker篇

1:你在项目中哪些地方用到了Freemarker,如何使用的

2:使用Freemarker有什么优势

3:你们是通过定时任务生成的静态化页面还是别的方式

Maven篇

1: 你们工作中用到了maven的那些功能

2:maven如何依赖传递的

3:如何用maven创建一个分布式的项目

4:如何对传统的项目 用maven 改造成一个分布式的项目

前端篇

1:jq中的ajxa 异步的具备什么优势

2:考察一些标签选择器

3:现在有多个p标签 用 text 和 html 获取 p标签 返回的是什么

4:用没用过AngularJS

Linux篇:

1:讲一讲你熟悉的linux命令

2:如何查看系统的内存使用情况

3:如何查看系统运行的所有进程情况

4:如何在一个文本中 根据指定的关键词 快速搜索

PS:通过面试几家之后,发现外界绝大多数都对 分布式项目感兴趣

以上那些问题都是 对 中高级开发的提问问题 回答出一些常见的问题

只能算初级开发,so 在掌握基础的同时 要侧重学习一下 redis ,dubbo

以及nginx的负载均衡和反向代理的配置 问的最多最多。。。


转载:https://www.cnblogs.com/xuyou551/p/9488823.html

推荐内容:
Java面试前需要了解的东西
java线程面试
Java在常见的spring面试问题TOP50
【面试必备】常见Java面试题大综合
Java 开发岗面试知识点
从1.6W名面试者中收集的Java面试题精选汇总(内附知识脑图)
【java面试宝典】一年工作经验者适用
100道Java基础面试题收集整理(附答案)
Java面试集合(一)
java基础面试(二)

猜你喜欢

转载自blog.csdn.net/bee_wa/article/details/89452072