Java面试时常见的几个问题
本篇文章是针对刚入职场的Java,Java,Java程序猿准备的,针对面试时常见的几个问题和大家分享一下。
这些问题是我面试遇到的,答案自己总结,自己总结,自己总结。
自己先打个分,再查找答案总结。
- 谈谈你对 面向对象 和 面向过程 的理解 。
- Java 中基本数据类型(4整型+2浮点型+1字符+1布尔,重要)。
- 谈谈你对集合和数组的理解(分别对 List, Set, Map 及其几个常用的实现类说明,数组和集合区别在查找,删除元素方面考虑)。
- 如何遍历 Map 中的数据(说出三种最好,重要)。
- Set集合的特性?Set中添加实体类创建的 两个属性相同 对象,如何做出处理?Set集合中的元素如何实现无序的 。
- 谈谈你对String,StringBuffer,StringBuilder 的理解(从 字符串拼接,效率,线程安全 方面考虑)。
- Java线程的几种创建方式 。
- 线程的几种状态以及转换,尤其是运行到阻塞,阻塞到就绪的发生事件 。
- 线程中 sleep() 和 wait() 方法的区别 。
- 谈谈你对阻塞编程和非阻塞编程的了解,这两种状态如何转化 。
- 谈谈 上传文件 使用到的 IO 或 设计思想 。
- get 和 post 的区别(url的区别,传递数据的大小,数据的安全)。
- JSP 和 Servlet 的区别 。
- Cookie 和 Session 的区别 。
- 列举几个常见 运行时异常 。(再总结几个编译时异常备用)
- 有使用过哪些框架(简单介绍几个)。
- 谈谈你对 Spring 的理解(叙述 Spring 的概念,并从这几个方面叙述 IOC, DI, AOP)
- Spring常用的注解,属性的几种注入方式 。
- Spring MVC 的处理流程。(流程图一定要牢记,DispatcherServlet, HandlerMapping, HandlerAdapter, ViewReslover这几个组件的是做 what)。
- Spring MVC中常用的注解,这几个注解有什么用 。
- 简单介绍 Spring Boot,Spring Cloud 。
- 介绍 Mybatis 和 Hibernate。(先介绍,再做区别)。
- Mybatis 如何做到 一对一,一对多,多对多 关联查询的 。
- Mybatis 如何进行 批量操作 的 。
- 说一下 Mybatis 中的 缓存机制 。
- Linux 常用命令和作用。
- MySQL 中有哪些数据类型 。
- 数据库中查询当前时间的 SQL 语句 。
- 数据库中左外连接,和右外连接的区别 。
- MySQL 中查询 id为10-20 之间的数据,limit 参数如何定义 。
- Mysql 和 Oracle 中事务的默认隔离级别 。(先介绍事务的几种隔离方式,再做区别)
- 简单介绍一些 HTML 常用标签 。
- CSS 是做什么的 。
- JS 和 jQuery 如何获取元素,JS的异步请求有了解过吗 。
- 谈谈你对 Bootstrap 中栅格的理解 。
- 有了解过跨域吗 ?在项目中是如何处理的 ?
- 有使用过Redis吗 ?(先介绍Redis是干什么的,并举例你在开发中应用的业务场景)
- 介绍你对Dubbo的理解 ?
- 简单叙述你对分布式的理解 ?
- 在项目中遇到哪些困难,如何解决 ?
- 说说你常用的几种设计模式 ?