2020年Java程序员北京四月份面试题

说明:此文中的面试题是我2020年四月份面试过程所遇到过的,面试的是工作经验三年左右的Java开发工程师。

目录

Java基础方面

Java框架方面

Java数据库方面

前端

Java其他方面

Linux方面

其他方面


Java基础方面

1.if(0.1*3 == 0.3){}else{},这段代码会执行if还是else,为什么?

 

2.==与equals的区别?

 

3.string、stringbuffer和stringbuilder的区别?为什么stringbuffer比string快?

 

4.string类为什么设置成final类型,有什么好处?

 

5.overload和override的区别?

 

6.说说Java中static的用法?

 

7.final的用法知道吗?怎么用?

 

8.Java中的集合有哪些,具体说一说?

 

9.ArrayList、linkedList和vector的区别?为什么ArrayList查询快,增删慢,而linkedList增删快,查询慢?

 

10.list和array是否可以互换?如果可以,怎么互换?

 

11.hashmap和hashtable的区别?hashmap的键可以重复吗?键和值允许是空的吗?

 

12.map的循环方式有几种?请说明一下。

 

13.多线程有几种创建方式?

 

14.线程有几种状态?

 

15.synchronized和lock的区别知道吗?说一下。

 

16.throw和throws能说一下有什么区别嘛?

 

17.字节流和字符流有什么区别?什么情况下用字符流,什么情况下用字节流?

 

Java框架方面

1.MVC指的什么,能说下嘛?

 

2.spring的IOC和AOP有了解吗?具体说说。

 

3.事务的特性知道吗?

 

4.spring的传播行为知道吗,具体列举一下。

 

5.spring的隔离级别有几种,说明一下。可重复读,能具体解释一下吗?

 

6.springMVC的组件知道吗?springMVC的流程呢?

 

7.springMVC的注解有用到哪些?能具体说一下注解和其作用吗?

 

8.mybatis用过吗?能具体说明一下吗?

 

9.mybatis的动态SQL知道吗,列举一下你用到的标签。

 

10.mybatis的自增主键了解吗?

 

11.mybatis的一对一、一对多用过吗?说一下。 

 

12.mybatis种的#{}和${}有什么不同?

 

13.hibernate中的一对多、多对一、多对多、一对一在实体中的注解是什么?

 

14.mybatis和hibernate都用过吗?有什么区别?能具体结合你的项目说一下嘛?

 

15.springboot了解吗?既然有了spring,为什么要用到springboot,相比spring,它有什么好处?

 

16.springboot中常用的注解知道吗?列举一下。

 

Java数据库方面

1.jdbc操作数据库步骤知道吗,说一下。

 

2.Oracle中的varchar和varchar2有什么区别,能具体说一下嘛?

 

3.having和where都用过吗,有什么区别?

 

4.MySQL和Oracle都了解吗?有什么区别?分页查询,它们的区别,能具体说一下吗?

 

5.mybatis的乐观锁和悲观锁,能说一下嘛?

 

6.有一张学生表,表的字段有学生id、课程、成绩,请查询至少一门课程分数大于80分的学生信息。

 

7.写一条SQL,查询出一个班级中男生、女生的人数。

 

8.数据库的优化有做过哪些工作,具体说明你是怎么优化数据库查询的?

 

9.索引创建过吗?怎么创建索引,哪些字段适合创建索引?

 

10.有四十万的数据要插入数据库,要保证跟目前数据库中的数据不重复,问你怎么做?

 

11.Redis有用过吗?Redis相比MySQL有什么好处?

 

12.Redis的数据类型有哪些?它的持久化机制了解吗?说一下。

 

13.如何保证Redis和数据库数据的一致性?

 

前端

1.jQuery了解吗?jQuery常用的选择器知道吗,能具体说一下嘛?

 

2.ID选择器、class选择器、标签选择器的优先级,说一下?

 

Java其他方面

1.session和cookie知道吗?具体说一下。

 

2.get和post有什么区别,知道吗?

 

3.单例模式说一下,饿汉式和懒汉式的区别知道吗?

 

4.排序知道几种,试说明其中一种的思路。

 

Linux方面

1.说一下你常用的Linux命令,并说明其作用。

 

2.Linux下怎么查看进程?

 

其他方面

1.你也用Java好久了,说说你自己擅长的。

 

2.你在实际项目当中,解决过哪些问题?怎么解决的,说一下。

 

3.针对你做过的项目,你有哪些优化建议?你会怎么去做?

你可能感兴趣的:(面试,java进阶之路)