Java 面试宝典 Beta 5.0 PDF 文档

发布于 2023-10-03 17:31:04 字数 25631 浏览 41 评论 0

该宝典是一份知识点全面又能不断更新,与时俱进的学习手册,不仅收录了作者亲身面试遇到的问题,还收录了近上万名黑马学子面试时遇到的问题。我们会一直不断地更新和充实该宝典,同时也希望读者朋友能够多多提供优质的面试题,也许下一个版本就有你提供的面试题哦。

第一章 内容介绍
第二章 JavaSE 基础
一、 Java 面向对象
1. 面向对象都有哪些特性以及你对这些特性的理解
2. 访问权限修饰符 public、private、protected, 以及不写(默认)时的区别
3. 如何理解 clone 对象
3.1 为什么要用 clone?
3.2 new 一个对象的过程和 clone 一个对象的过程区别
3.3 clone 对象的使用
二、 JavaSE 语法(2017-11-12-wl)
1. Java 有没有 goto 语句?(2017-11-12-wl)
2. & 和 && 的区别(2017-11-12-wl)
3. 在 Java 中,如何跳出当前的多重嵌套循环(2017-11-14-wl)
4. 两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hashCode,这句话对不对?(2017-11-14-wl)
5. 是否可以继承 String (2017-11-14-wl)
6. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?(2017-11-14-wl)
7. 重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分?(2017-11-15-wl)
8. 为什么函数不能根据返回类型来区分重载?(2017-11-15-wl)
9. char 型变量中能不能存储一个中文汉字,为什么?(2017-11-16-wl)
10. 抽象类(abstract class) 和接口(interface) 有什么异同?(2017-11-16-wl)
11. 抽象的(abstract) 方法是否可同时是静态的(static), 是否可同时是本地方法(native),是否可同时被 synchronized(2017-11-16-wl)
12. 阐述静态变量和实例变量的区别?(2017-11-16-wl)
13. ==和 equals 的区别?(2017-11-22-wzz)
14. break 和 continue 的区别?(2017-11-23-wzz)
15. String s = "Hello";s = s + " world!";这两行代码执行后,原始的 String 对象中的内容到底变了没有?(2017-12-1-lyq)
三、 Java 中的多态
1. Java 中实现多态的机制是什么?
四、 Java 的异常处理
1. Java 中异常分为哪些种类
2. 调用下面的方法,得到的返回值是什么?
3. error 和 exception 的区别?(2017-2-23)
4. java 异常处理机制(2017-2-23)
5. 请写出你最常见的 5 个 RuntimeException(2017-11-22-wzz)
6. throw 和 throws 的区别(2017-11-22-wzz)
7. final、finally、finalize 的区别?(2017-11-23-wzz)
五、 JavaSE 常用 API
1. Math.round(11.5) 等于多少?Math.round(- 11.5) 又等于多少?(2017-11-14-wl)
2. switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?(2017-11-14-wl)
3. 数组有没有 length() 方法?String 有没有 length() 方法?(2017-11-14-wl)
4. String 、StringBuilder 、StringBuffer 的区别?(2017-11-14-wl)
5. 什么情况下用“+”运算符进行字符串连接比调用 StringBuffer/StringBuilder 对象的 append 方法连接字符串性能更好?(2017-11-14-wl)
6. 请说出下面程序的输出(2017-11-14-wl)
7. Java 中的日期和时间(2017-11-19-wl)
7.1 如何取得年月日、小时分钟秒?(2017-11-19-wl)
7.2 如何取得从 1970 年 1 月 1 日 0 时 0 分 0 秒到现在的毫秒数?(2017-11-19-wl)
7.3 如何取得某月的最后一天?(2017-11-19-wl)
7.4 如何格式化日期?(2017-11-19-wl)
7.5 打印昨天的当前时刻? (2017-11-19-wl)
7.6 Java8 的日期特性? (2017-12-3-wl)
Java 8 日期/时间特性
Java 8 日期/时间 API 包解释
Java 8 日期/时间常用 API
1.java.time.LocalDate
2.java.time.LocalTime
3. java.time.LocalDateTime
4. java.time.Instant
5. 日期 API 工具
6. 解析和格式化
7. 旧的日期时间支持
7.7 Java8 之前的日期和时间使用的槽点 (2017-11-19-wl)
1. 槽点一
2. 槽点二
3. 槽点三
7.8 Java8 日期实现 JSR310 规范 (2017-11-23-wl)
1. JSR310 介绍
2. Java8 方法概览
3. 简单实用 java.time 的 API 实用
7.9 JSR310 规范 Joda-Time 的区别 (2017-11-23-wl)
7.10 总结 (2017-11-23-wl)
六、 Java 的数据类型
1. Java 的基本数据类型都有哪些各占几个字节
2. String 是基本数据类型吗?(2017-11-12-wl)
3. short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗;(2017-11-12-wl)
4. int 和 和 Integer 有什么区别?(2017-11-12-wl)
5. 下面 Integer 类型的数值比较输出的结果为?(2017-11-12-wl)
6. String 类常用方法(2017-11-15-lyq)
7. String、StringBuffer、StringBuilder 的区别?(2017-11-23-wzz)
8. 数据类型之间的转换(2017-11-23-wzz)
七、 Java 的 IO
1. Java 中有几种类型的流(2017-11-23-wzz)
2. 字节流如何转为字符流
3. 如何将一个 java 对象序列化到文件里
4. 字节流和字符流的区别(2017-11-23-wzz)
5. 如何实现对象克隆?(2017-11-12-wl)
6. 什么是 java 序列化,如何实现 java 序列化?(2017-12-7-lyq)
八、 Java 的集合
1. HashMap 排序题,上机题。(本人主要靠这道题入职的第一家公司)
2. 集合的安全性问题
3. ArrayList 内部用什么实现的?(2015-11-24)
4. 并发集合和普通集合如何区别?(2015-11-24)
5. List 的三个子类的特点(2017-2-23)
6. List 和 Map、Set 的区别(2017-11-22-wzz)
6.1 结构特点
6.2 实现类
6.3 区别
7. HashMap 和 HashTable 有什么区别?(2017-2-23)
8. 数组和链表分别比较适合用于什么场景,为什么?(2017-2-23)
8.1 数组和链表简介
8.2 数组和链表的区别
8.3 链表和数组使用场景
8.4 跟数组相关的面试题
9. Java 中 ArrayList 和 Linkedlist 区别?(2017-2-23)
10. List a=new ArrayList() 和 ArrayList a =new ArrayList() 的区别?(2017-2-24)
11. 要对集合更新操作时,ArrayList 和 LinkedList 哪个更适合?(2017-2-24)
12. 请用两个队列模拟堆栈结构(2017-2-24)
13. Collection 和 Map 的集成体系(2017-11-14-lyq)
14. Map 中的 key 和 value 可以为 null 么?(2017-11-21-gxb)
九、 Java 的多线程和并发库
(一)多线程基础知识--传统线程机制的回顾(2017-12-11-wl)
( 1 ) 传统使用类 Thread 和接口 Runnable 实现
( 2 ) 定实现时器 Timer 和 TimerTask
( 3 ) 线程互斥与同步
( 4 ) 线程局部变量 ThreadLocal
( 5 ) 多线程共享数据
(二)多线程基础知识--线程并发库(2017-12-11-wl)
( 1 ) Java 的线程并发库介绍
( 2 ) Java 的并发库入门
1) java.util.concurrent 包
A. 执行程序
Executors 线程池工厂类
ExecutorService 执行器服务
ThreadPoolExecutor 线程池执行者
ScheduledPoolExecutor 定时线程池执行者
ForkJoinPool 合并和分叉(线程池)
B. 并发队列-阻塞队列
BlockingQueue 阻塞队列
ArrayBlockingQueue 阻塞队列
LinkedBlockingQueue 阻塞队列
PriorityBlockingQueue 无界阻塞优先级队列
SychronousQueue 同步队列
DeplayQueue 延时无界阻塞队列
C. 并发(Collection)队列-非阻塞队列
非阻塞队列
非阻塞算法 CAS
ConcurrentLinkedQueue 非阻塞无界链表队列
ConcurrentHashMap 非阻塞 Hash 集合
ConcurrentSkipListMap 非阻塞 Hash 跳表集合
2) java.util.concurrent.atomic 包
AtomicBoolean 原子性布尔
AtomicInteger 原子性整型
AtomicIntegerArray 原子性整型数组
AtomicLong、AtomicLongArray 原子性整型数组
3) java.util.concurrent.lock 包
(三)多线程面试题
1. 多线程的创建方式(2017-11-23-wzz)
2. 在 java 中 wait 和 sleep 方法的不同?
3. synchronized 和 volatile 关键字的作用
4. 分析线程并发访问代码解释原因
5. 什么是线程池,如何使用?
6. 常用的线程池有哪些?(2017-11-23-wzz)
7. 请叙述一下您对线程池的理解?(2015-11-25)
8. 线程池的启动策略?(2015-11-25)
9. 如何控制某个方法允许并发访问线程的个数?(2015-11-30)
10. 三个线程 a、b、c 并发运行,b,c 需要 a 线程的数据怎么实现(上海 3 期学员提供)
11. 同一个类中的 2 个方法都加了同步锁,多个线程能同时访问同一个类中的这两个方法吗?(2017-2-24)
12. 什么情况下导致线程死锁,遇到线程死锁该怎么解决?(2017-2-24)
13. Java 中多线程间的通信怎么实现?(2017-2-24)
14. 线程和进程的区别(2017-11-23-wzz)
15. 请说出同步线程及线程调度相关的方法?(2017-11-23-wzz)
16. 启动一个线程是调用 run() 方法还是 start() 方法?(2017-11-23-wzz)
十、 Java 内部类
1. 静态嵌套类 (Static Nested Class) 和内部类(Inner Class) 的不同?(2017-11-16-wl)
2. 下面的代码哪些地方会产生编译错误?(2017-11-16-wl)
第三章 JavaSE 高级
一、 Java 中的反射
1. 说说你对 Java 中反射的理解
二、 Java 中的动态代理
1. 写一个 ArrayList 的动态代理类(笔试题)
2. 动静态代理的区别,什么场景使用?(2015-11-25)
三、 Java 中的设计模式&回收机制
1. 你所知道的设计模式有哪些
2. 单例设计模式
3. 工厂设计模式
4. 建造者模式(Builder)
5. 适配器设计模式
6. 装饰模式(Decorator)
7. 策略模式(strategy)
8. 观察者模式(Observer)
9. JVM 垃圾回收机制和常见算法
10. 谈谈 JVM 的内存结构和内存分配
11. Java 中引用类型都有哪些?(重要)
12. heap 和 stack 有什么区别(2017-2-23)
13. 解释内存中的栈 (stack) 、堆 (heap) 和方法区 (method area) 的用法(2017-11-12-wl)
四、 Java 的类加载器(2015-12-2)
1. Java 的类加载器的种类都有哪些?
2. 类什么时候被初始化?
3. Java 类加载体系之 ClassLoader 双亲委托机制 (2017-2-24)
4. 描述一下 JVM 加载 class (2017-11-15-wl)
5. 获得一个类对象有哪些方式?(2017-11-23-wzz)
五、 JVM 基础知识(2017-11-16-wl)
1. 既然有 GC 机制,为什么还会有内存泄露的情况 (2017-11-16-wl)
六、 GC 基础知识(2017-11-16-wl)
1. Java 中为什么会有 GC 机制呢?(2017-11-16-wl)
2. 对于 Java 的 GC 哪些内存需要回收(2017-11-16-wl)
3. Java 的 GC 什么时候回收垃圾(2017-11-16-wl)
七、 Java8 的新特性以及使用(2017-12-02-wl)
1. 通过 10 个示例来初步认识 Java8 中的 lambda 表达式(2017-12-02-wl)
例 1、用 lambda 表达式实现 Runnable
例 2、使用 Java 8 lambda 表达式进行事件处理
例 3、使用 Java 8 lambda 表达式进行事件处理 使用 lambda 表达式对列表进行迭代
例 4、使用 lambda 表达式和函数式接口 Predicate
例 5、如何在 lambda 表达式中加入 Predicate
例 6、Java 8 中使用 lambda 表达式的 Map 和 Reduce 示例
例 7、通过过滤创建一个 String 列表
例 8、对列表的每个元素应用函数
例 9、复制不同的值,创建一个子列表
例 10、计算集合元素的最大值、最小值、总和以及平均值
2. Java8 中的 lambda 表达式要点(2017-12-02-wl)
要点 1:lambda 表达式的使用位置
要点 2:lambda 表达式和方法引用
要点 3:lambda 表达式内部引用资源
要点 4:lambda 表达式也成闭包
要点 5:lambda 表达式的编译方式
要点 6:lambda 表达式的限制
3. Java8 中的 Optional 类的解析(2017-12-02-wl)
方法 1:Optional.of()
方法 2:Optional.ofNullable()
方法 3:Optional.isPresent()
方法 4:Optional.get()
方法 5:Optional.ifPresent()
方法 7:Optional.orElse()
方法 8:Optional.orElseGet()
方法 9:Optional.orElseThrow()
方法 10:Optional.map()
方法 11:Optional.flatMap()
方法 12:Optional.filter()
总结:Optional 方法
八、 在开发中遇到过内存溢出么?原因有哪些?解决方法有哪些?(2017-11-23-gxb)
第四章 JavaWEB 基础
一、JDBC 技术
1. 说下原生 jdbc 操作数据库流程?(2017-11-25-wzz)
2. 什么要使用 PreparedStatement?(2017-11-25-wzz)
3. 关系数据库中连接池的机制是什么?(2017-12-6-lyq)
三、Http 协议
1. http 的长连接和短连接(2017-11-14-lyq)
2. HTTP/1.1 与 HTTP/1.0 的区别(2017-11-21-wzy)
3. http 常见的状态码有哪些?(2017-11-23-wzz)
4. GET 和 POST 的区别?(2017-11-23-wzz)
5. http 中重定向和请求转发的区别?(2017-11-23-wzz)
四、Cookie 和 Session
1. Cookie 和 Session 的区别(2017-11-15-lyq)
2. session 共享怎么做的(分布式如何实现 session 共享)?
3. 在单点登录中,如果 cookie 被禁用了怎么办?(2017-11-23-gxb)
五、jsp 技术
1. 什么是 jsp,什么是 Servlet?jsp 和 Servlet 有什么区别?(2017-11-23-wzz)
2. jsp 有哪些域对象和内置对象及他们的作用?(2017-11-25-wzz)
六、XML 技术
1. 什么是 xml,使用 xml 的优缺点,xml 的解析器有哪几种,分别有什么区别?(2017-11-25-wzz)
第五章 JavaWEB 高级
一、 Filter 和 Listener
二、AJAX
1. 谈谈你对 ajax 的认识?(2017-11-23-wzz)
2. jsonp 原理(2017-11-21-gxb)
三、Linux
1. 说一下常用的 Linux 命令
2. Linux 中如何查看日志?(2017-11-21-gxb)
3. Linux 怎么关闭进程(2017-11-21-gxb)
四、 常见的前端框架有哪些
1. EasyUI(2017-11-23-lyq)
2. MiniUI(2017-11-23-lyq)
1. jQueryUI(2017-11-23-lyq)
2. Vue.js(2017-11-23-lyq)
3. AngularJS (2017-11-23-lyq)
第六章 数据库
一、 Mysql
1. SQL 的 select 语句完整的执行顺序(2017-11-15-lyq)
2. SQL 之聚合函数(2017-11-15-lyq)
3. SQL 之连接查询(左连接和右连接的区别)(2017-11-15-lyq)
4. SQL 之 sql 注入(2017-11-15-lyq)
5. Mysql 性能优化(2017-11-15-lyq)
6. 必看 sql 面试题(学生表_课程表_成绩表_教师表)(2017-11-25-wzz)
7. Mysql 数据库架构图(2017-11-25-wzz)
8. Mysql 架构器中各个模块都是什么?(2017-11-25-wzz)
9. Mysql 存储引擎有哪些?(2017-11-25-wzz)
10. MySQL 事务介绍(2017-11-25-wzz)
10.1 事务的四大特征是什么?
10.2 Mysql 中四种隔离级别分别是什么?
11. MySQL 怎么创建存储过程(2017-11-25-wzz)
12. MySQL 触发器怎么写?(2017-11-25-wzz)
13. MySQL 语句优化(2017-11-26-wzz)
13.1 where 子句中可以对字段进行 null 值判断吗?
13.2 select * from admin left join log on admin.admin_id = log.admin_id where log.admin_id>10 如何优化?
13.3 limit 的基数比较大时使用 between
13.4 尽量避免在列上做运算,这样导致索引失效
14. MySQL 中文乱码问题完美解决方案(2017-12-07-lwl)
15. 如何提高 MySQL 的安全性(2017-12-8-lwl)
二、 Oracle
1. 什么是存储过程,使用存储过程的好处?(2017-11-25-wzz)
2. Oracle 存储过程怎么创建?(2017-11-25-wzz)
3. 如何使用 Oracle 的游标?(2017-11-25-wzz)
4. Oracle 中字符串用什么连接?(2017-11-25-wzz)
5. Oracle 中是如何进行分页查询的?(2017-11-25-wzz)
6. 存储过程和存储函数的特点和区别?(2017-11-25-wzz)
7. 存储过程与 SQL 的对比?(2017-11-21-gxb)
8. 你觉得存储过程和 SQL 语句该使用哪个?(2017-11-21-gxb)
9. 触发器的作用有哪些?(2017-11-21-gxb)
10. 在千万级的数据库查询中,如何提高效率?(2017-11-23-gxb)
第七章 框架
一、 SpringMVC
1. SpringMVC 的工作原理(2017-11-13-lyq)
2. SpringMVC 常用注解都有哪些?(2017-11-24-gxb)
3. 如何开启注解处理器和适配器?(2017-11-24-gxb)
4. 如何解决 get 和 post 乱码问题?(2017-11-24-gxb)
二、 Spring
1. 谈谈你对 Spring 的理解(2017-11-13-lyq)
2. Spring 中的设计模式(2017-11-13-lyq)
3. Spring 的常用注解(2017-11-13-lyq)
4. 简单介绍一下 Spring bean 的生命周期(2017-11-21-gxb)
5. Spring 结构图(2017-11-22-lyq)
6. Spring 能帮我们做什么?(2017-11-22-lyq)
7. 请描述一下 Spring 的事务(2017-11-22-lyq)
8. BeanFactory 常用的实现类有哪些?(2017-12-03-gxb)
9. 解释 Spring JDBC、Spring DAO 和 Spring ORM(2017-12-03-gxb)
10. 简单介绍一下 Spring WEB 模块。(2017-12-03-gxb)
11. Spring 配置文件有什么作用?(2017-12-03-gxb)
12. 什么是 Spring IOC 容器?(2017-12-03-gxb)
13. IOC 的优点是什么?
14. ApplicationContext 的实现类有哪些? (2017-12-03-gxb)
15. BeanFactory 与 AppliacationContext 有什么区别(2017-12-03-gxb)
16. 什么是 Spring 的依赖注入?(2017-12-04-gxb)
17. 有哪些不同类型的 IOC(依赖注入)方式?(2017-12-04-gxb)
18. 什么是 Spring beans? (2017-12-04-gxb)
19. 一个 Spring Beans 的定义需要包含什么?(2017-12-04-gxb)
20. 你怎样定义类的作用域? (2017-12-04-gxb)
21. Spring 支持的几种 bean 的作用域。(2017-12-04-gxb)
22. Spring 框架中的单例 bean 是线程安全的吗? (2017-12-04-gxb)
23. 什么是 Spring 的内部 bean?(2017-12-04-gxb)
24. 在 Spring 中如何注入一个 java 集合?(2017-12-04-gxb)
25. 什么是 bean 的自动装配?(2017-12-04-gxb)
26. 解释不同方式的自动装配 。(2017-12-04-gxb)
27. 什么是基于 Java 的 Spring 注解配置? 给一些注解的例子(2017-12-05-gxb)
28. 什么是基于注解的容器配置? (2017-12-05-gxb)
29. 怎样开启注解装配?(2017-12-05-gxb)
30. 在 Spring 框架中如何更有效地使用 JDBC? (2017-12-05-gxb)
31. 使用 Spring 通过什么方式访问 Hibernate? (2017-12-05-gxb)
32. Spring 支持的 ORM 框架有哪些?(2017-12-05-gxb)
33. 简单解释一下 spring 的 AOP(2017-12-05-gxb)
34. 在 Spring AOP 中,关注点和横切关注的区别是什么?(2017-12-05-gxb)
35. 什么是连接点?(2017-12-05-gxb)
36. Spring 的通知是什么?有哪几种类型?(2017-12-05-gxb)
37. 什么是切点?(2017-12-05-gxb)
38. 什么是目标对象? (2017-12-05-gxb)
39. 什么是代理? (2017-12-05-gxb)
40. 什么是织入?什么是织入应用的不同点?(2017-12-05-gxb)
三、 Shiro
1. 简单介绍一下 Shiro 框架(2017-11-23-gxb)
2. Shiro 主要的四个组件(2017-12-2-wzz)
3. Shiro 运行原理(2017-12-2-wzz)
4. Shiro 的四种权限控制方式(2017-12-2-wzz)
5. 授权实现的流程(2017-12-2-wzz)
四、 Mybatis
1. Mybatis 中#和$的区别?(2017-11-23-gxb)
2. Mybatis 的编程步骤是什么样的?(2017-12-2-wzz)
3. JDBC 编程有哪些不足之处,MyBatis 是如何解决这些问题的?(2017-12-2-wzz)
4. 使用 MyBatis 的 mapper 接口调用时有哪些要求?(2017-12-2-wzz)
5. Mybatis 中一级缓存与二级缓存?(2017-12-4-lyq)
6. MyBatis 在 insert 插入操作时返回主键 ID(2017-12-4-lyq)
五、 Struts2
1. 简单介绍一下 Struts2(2017-11-24-gxb)
2. Struts2 的执行流程了解么?(2017-11-24-gxb)
3. Struts2 中 Action 配置的注意事项有哪些?(2017-11-24-gxb)
4. 拦截器和过滤器有哪些区别?(2017-11-24-gxb)
5. Struts2 的封装方式有哪些?(2017-11-24-gxb)
6. 简单介绍一下 Struts2 的值栈。(2017-11-24-gxb)
7. SpringMVC 和 Struts2 的区别?(2017-11-23-gxb)
8. Struts2 中的 # 和 % 分别是做什么的?(2017-11-30-wzz)
9. Struts2 中有哪些常用结果类型?(2017-12-1-lyq)
六、 Hibernate
1. 简述一下 hibernate 的开发流程(2017-11-24-gxb)
2. hibernate 中对象的三种状态(2017-11-24-gxb)
3. hibernate 的缓存机制。(2017-11-24-gxb)
4. Hibernate 的查询方式有哪些?(2017-11-24-gxb)
5. Hibernate 和 Mybatis 的区别?(2017-11-23-gxb)
6. Hibernate 和 JDBC 优缺点对比(2017-11-29-wzz)
7. 关于 Hibernate 的 orm 思想你了解多少?(2017-11-29-wzz)
8. get 和 load 的区别?(2017-11-30-wzz)
9. 如何进行 Hibernate 的优化?(2017-11-30-wzz)
10. 什么是 Hibernate 延迟加载?(2017-12-1-lyq)
11. No Session 问题原理及解决方法?(2017-12-4-lyq)
12. Spring 的两种代理 JDK 和 CGLIB 的区别浅谈(2017-12-4-lyq)
13. 叙述 Session 的缓存的作用(2017-12-9-lwl)
14. Session 的清理和清空有什么区别?(2017-12-10-lwl)
15. 请简述 Session 的特点有哪些?(2017-12-10-lwl)
16. 比较 Hibernate 三种检索策略的优缺点(2017-12-10-lwl)
七、 Quartz 定时任务
1. 什么是 Quartz 框架(2017-12-2-wzz)
2.配置文件 applicationContext_job.xml 各个属性作用(2017-12-2-wzz)
3.Cron 表达式详解(2017-12-2-wzz)
4. 如何监控 Quartz 的 job 执行状态:运行中,暂停中,等待中? (2017-12-2-wzz)
第八章 最新技术
一、 Redis
1. Redis 的特点?(2017-11-25-wzz)
2. 为什么 redis 需要把所有数据放到内存中?(2017-11-25-wzz)
3. Redis 常见的性能问题都有哪些?如何解决?(2017-11-25-wzz)
4. Redis 最适合的场景有哪些?(2017-11-25-wzz)
5. Memcache 与 Redis 的区别都有哪些?(2017-11-25-wzz)
6. Redis 用过 RedisNX 吗?Redis 有哪几种数据结构?(2017-11-14-lyq)
7. Redis 的优缺点(2017-11-22-lyq)
8. Redis 的持久化(2017-11-23-lyq)
二、 消息队列 ActiveMQ
1. 如何使用 ActiveMQ 解决分布式事务?(2017-11-21-gxb)
2. 了解哪些消息队列?(2017-11-24-gxb)
3. ActiveMQ 如果消息发送失败怎么办?(2017-11-24-gxb)
三、 Dubbo
1. Dubbo 的容错机制有哪些。(2017-11-23-gxb)
2. 使用 dubbo 遇到过哪些问题?(2017-11-23-gxb)
3. Dubbo 的连接方式有哪些?(2017-12-1-lyq)
3.1、Dubbo 广播
3.2、Dubbo 直连
3.3、zookeeper 注册中心
3.3.1、Zookeeper 介绍
四、 并发相关
1. 如何测试并发量?(2017-11-23-gxb)
五、 Nginx
1. Nginx 反向代理为什么能够提升服务器性能?(2017-11-24-gxb)
2. Nginx 和 Apache 各有什么优缺点? (2017-11-24-gxb)
3. Nginx 多进程模型是如何实现高并发的?(2017-12-5-lyq)
六、 Zookeeper
1. 简单介绍一下 zookeeper 以及 zookeeper 的原理。(2017-11-24-gxb)
七、 solr
1. 简单介绍一下 solr(2017-11-24-gxb)
2. solr 怎么设置搜索结果排名靠前?(2017-11-24-gxb)
3. solr 中 IK 分词器原理是什么?(2017-11-24-gxb)
八、 webService
1. 什么是 webService?(2017-11-24-lyq)
2. 常见的远程调用技术(2017-11-24-lyq)
九、 Restful
1. 谈谈你对 restful 的理解以及在项目中的使用?(2017-11-30-wzz)
第九章 企业实战面试题
一、 智慧星(2017-11-25-wmm)
1. 选择题
1.1 在 Java 中,负责对字节代码解释执行的是(B)
1.2 一个栈的输入序列为 1 2 3 4 5, 则下列序列中不可能是栈输出的序列的是(A)
1.3 下列那一个选项按照顺序包括了 OSI 模型的 7 个层次( C)
1.4 当客户度关闭一个从连接池中获取的连接, 会发生下面哪一种情况?(A)
1.5 以下哪些不是 javaScript 的全局函数( C)
1.6 你使用 mkdir 命令创建一个临时的文件夹/tmp/aaa, 并将一些文件复制其中,使用完后要删除/mnt/tmp 文件夹及其中的所有文件, 应该使用命令(B)
1.7 在 UML 提供的图中, ( C) 用于按数据顺序描述对象间的交互
1.8 下面有关系统并发访问数估算数据哪个最有效: (B)
1.9 不同级别的用户对同一对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,但有必须和那个对象有所互动, 这种情况最好使用什么设计模式.( D)
1.10 下面哪个 Set 是排序的? (C)
2. 编程题
2.1 用 1,2 , 2 ,3, 4 ,5 这 6 个数字, 用 Java 写一个 main 函数, 打印出所有不同的排列, 如: 512234, 412345 等, 要求: “4”不能在第三位, “3”与”5”不能相连。
2.2 一个数如果恰好等于它的因子之和, 这个数就称为”完数”. 例如 6 = 1+2+3。编程找出 1000 以内的所有完数。
二、 中讯志远科技(2017-11-26-wmm)
1. 问答题
1.1 下面程序的运行结果是? 为什么?
1.2 HashSet 里的元素是不能重复的, 那用什么方法来区分重复与否呢?
1.3. List ,Set, Map 是否继承来自 Collection 接口? 存取元素时, 有何差异?
1.4. 简述 Java 中的值传递和引用传递?
1.5 switch 是否作用在 byte 上, 是否能作用在 long 上, 是否能作用在 String 上?
1.6 Java 语言如何进行异常处理? 请写出几个常见的运行时异常的编译时异常
1.7 简述数据库事务和实际工作中的作用
三、 腾讯(2016 年校招面试题 2017-11-29-wzy)
1. 选择题
1.1 已知一棵二叉树,如果先序遍历的节点顺序是: ADCEFGHB ,中序遍历是: CDFEGHAB ,则后序遍历结果为:( D )
1.2 下列哪两个数据结构,同时具有较高的查找和删除性能?(CD)
1.3 下列排序算法中,哪些时间复杂度不会超过 nlogn?(BC)
1.4 初始序列为 1 8 6 2 5 4 7 3 一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:( A )
1.5 S 市 A ,B 共有两个区,人口比例为 3:5 ,据历史统计 A 区的犯罪率为 0.01% ,B 区为 0.015% ,现有一起新案件发生在 S 市,那么案件发生在 A 区的可能性有多大?(C)
1.6 Unix 系统中,哪些可以用于进程间的通信?(ABCD )
1.7 静态变量通常存储在进程哪个区?( C )
1.8 如何提供查询 Name 字段的性能( B )
1.9 IP 地址 131.153.12.71 是一个(B)类 IP 地址
1.10 浏览器访问某页面,HTTP 协议返回状态码为 403 时表示:( B )
1.11 如果某系统 15*4=112 成立,则系统采用的是( A )进制
1.12 TCP 和 IP 分别对应了 OSI 中的哪几层?(CD)
1.13 一个栈的入栈序列是 A,B,C,D,E,则栈的不可能的输出序列是?(C)
1.14 同一进程下的线程可以共享以下?(BD)
1.15 对于派生类的构造函数,在定义对象时构造函数的执行顺序为?(D)
1.16 递归函数最终会结束,那么这个函数一定?(B)
1.17 编译过程中,语法分析器的任务是(BCD)
1.18 同步机制应该遵循哪些基本准则?(ABCD)
1.19 进程进入等待状态有哪几种方式?(D)
1.20 设计模式中,属于结构型模式的有哪些?(BC)
四、 北京宝蓝德股份科技有限公司(2017-12-03-wmm)
1.选择题
1.1 下面代码的运行结果是(C)
1.2 Linux 下查看进程占用的 CPU 的百分比, 使用工具(A)
1.3 JVM 内存里哪个区域不可能发生 OutOfMerncyError( A)
1.4 下面关于阻塞队列(java.util.concurrent.BlockingQueue)的说法不正确的是(C)
1.5 如果现在需要创建一组任务, 他们并行的执行工作,然后进行下一个步骤之前等待,直至所有的任务都完成,而去这种控制可以重用多次, 这种情形使用 java.util.concurrent 包中引入哪种同步工具最适合(B)
2.问答题
2.1 java 中, 为什么基类不能做为 HashMap 的键值, 而只能是引用类型,把引用类型作为 HashMap 的键值, 需要注意哪些地方?
2.2 编写一个工具类 StringUtil, 提供方法 int compare(char[] v1 ,char[] v2) 方法,比较字符串 v1,v2 ,如果按照字符顺序 v1>v2 则 return 1 ,v1=v2 则 return 0, v1<v2 则 return -1。
2.3 Java 出现 OutOfMemoryError(OOM) 的原因有那些?出现 OOM 错误后,怎么解决?
五、 智慧流(2017-12-04-wmm)
1.选择题
1.1 下列关于栈的描述错误的是(B)
1.2 对于长度为 n 的线性表,在最坏的情况下,下列个排序法所对应的比较次数中正确的是(D)
1.3 阅读下列代码后, 下列正确的说法是(A)
1.4 执行以下程序后输出的结果是(D)
1.5 下列不属于持久化的是(A)
1.6 下列代码输出的结果是(C)
1.7 下列程序段输出的结果是(B)
1.8 一个栈的输入序列为 123,则下列序列中不可能是栈输出的序列的是(C)
1.9 设有一个二维数组 A[m][n],假设 A[0][0]存放的位置在 644(10),A[2][2]存放的文职在 676(10)每个元素占一个空间,问 A[3][3](10)存放在什么位置? 脚注(10)表示用 10 进制表示(C)
1.10 下列代码执行结果是(B)
1.11 下面程序能正常运行吗(可以)
2. 问答题
2.1 解释一下什么是 Servlet, 说一说 Servlet 的生命周期
2.2 过滤器有哪些作用和用法?
2.3 写出一个冒泡排序
3. 逻辑思维题
3.1 4 2 12 28 80 (C)
3.2 2006 年某人连续打工 24 天,共赚了 190 元(日工资 10 元,星期日工资 5 元,星期日休息无工资)。已知他打工是从 1 月下旬的某一天开始的,这个月的 1 日恰好是星期日,这人打工结束的那一天是 2 月(C)日
2.3 由甲地到乙地有一天线路的巴士,全程行驶时间 42 分钟,到达总站后,司机至少休息 10 分钟,巴士就掉头行驶,如果这条线路甲,乙两边总站每隔 8 分钟都发一辆(不必是同一时间),则这条线路至少需要是多少俩巴士(C)
2.4 编号为 1 至 10 的 10 个果盘中,每盘都盛有水果,共盛放 100 个。其中第一盘里有 16 个,并且编号相邻的三个果盘中水果是的和都相等,求第 8 盘中水果最多可能有几个(A)
2.5 根据下面图片选出正确的答案(B)
2.6 一只蜗牛掉进 20 米深的井中,白天往上爬 3 米,晚上有掉下去 2 米,请问要几天才能爬出来?
2.7 按规律填数字 1, 1, 2, 3, ?。
2.8 假设一个池塘,里面有无穷多的水,现在有 2 个空水壶容积分别是 5 升和 6 升,问如何用这两只水壶取得 3 升水。
2.9 在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制哪一盏灯。
2.10 两个盲人,他们各自买个两双黑袜和白袜,8 双袜子的布质,大小完全相同,每双袜子都有 1 张商标纸连着,两位盲人不小心把 8 双袜子混在的一起,问他们怎样才能取回黑袜和白袜各两双。
2.11 一楼到十楼的每层电梯门口都方和一颗钻石,钻石大小不一,你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,手里只能拿一颗钻石,问怎样才能拿到最大的钻石。
六、 某公司 (2017-12-05-wmm)
1. 选择题
1.1 ArrayList list = new ArrayList(20);语句中的 list 集合大小扩充了几次(A)
1.2 如果去掉了 main 方法的 static 修饰符会怎样(B)
1.3 启动 java 程序进程时,输入一下哪个参数可以实现年轻代的堆大小为 50M(C )
1.4 下面程序输出的结果是()
1.5 下面哪些是 Thread 类的方法(A,B)
1.6 以下语句输出的结果是什么(C)
1.7log4j 的优先级从高到低的排序为(A)
1.8 下列哪些方法可以使线程从运行状态进入到阻塞状态(BCD)
1.9 下列关于 Thread 类提供的线程控制的方法中,错误的一项是(A)
1.10 设 String s1 =”Topwalk”;String s2 =”Company”;以下方法可以得到字符串“TopwalkCompany” 有:(ABD)
1.11 String a = new String(“1”+”2”) 最终创建了几个对象(B)
1.12 int 类型占用(C)个字节?
1.13.下列那一条语句可以实现快速的复制一张数据库表(C)
1.14 属于单利模式的特点的是(ACD)
1.15 选择 Oracle 的分页语句的关键字(A)
1.16 选出可以查询出所有的表和视图的方法:(B)
1.17 可以监控到数据库变化的机制有哪些(AB)
1.18 清空表所有数据的性能最优的语句是哪一个(B)
1.19 文件对外共享的协议有哪几个(AB)
1.20 关于 Java 中国特殊符号的用法正确的是(AD)
1.21 根据以下代码回答问题,放置什么方法在地 6 行,会引起编译错误的是(B)
1.22 根据以下代码回答问题:输出结果是什么?(B)
1.23 根据以下代码回答问题,请问输出 i 和 j 的值是多少(D)
1.24 请问 java 关键字?(CD)
1.25 以下哪些不属于约束(CD)
1.26 下列关于数据库连接池的说法中哪个是错误的(D)
1.27 以下哪句是对索引的错误描述(C)
1.28 关于锁 locks,描述正确的是(A)
1.29 如下那种情况下,Oracle 不会使用 Full Table Scean(D)
2. 问答题
2.1 如何判断两个单向链表相交,如何找相交点?
2.2 如何从 cookie 中拿到 session?
2.3. System.out.println(3/2); System.out.println(3.0/2); System.out.println(3.0/2.0); 分别会打印什么结果?
2.4 打印出下面两个数组的交集,结果不能重复
2.5 SpringMvc 拦截器用过吗?什么场景会用到,过滤器,拦截器,监听器有什么区别?
2.6 ThreadLocal 的原理和应用场景
2.7 简述 TCP 的三次握手
2.8 SpringMVC request 接收设置是线程安全的吗?
2.9 列举 Maven 常见的六种依赖范围
2.10 Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么?
2.11 简单解释自动装配的各种模式,或者叫装配方式。
2.12 mvc 的各个部分都有哪些技术来实现?如何实现的?
2.13 反射机制一般应用在什么场景?
2.14 设计 Java 程序,假设有 50 瓶饮料,喝完三个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少饮料。
2.15 根据某年某月某日,输出这是一年中第几天。
2.16 利润与奖金,某公司销售 10 万元到 20 万元的奖金 10%,在 20 万元的奖金 10 万元以上的奖金 7.5%,到 40 万元超出 20 万元的部分奖金为 5%,到 60 万元的超出 40 万元的部分奖金 3%,到 100 万元的超出 60 万元部分奖金 1%,请输出说的奖金。
2.17 请描述工作流机制(JBPM/BPEL)等
2.18 除了懒汉式和饿汉式你还了解那些单利模式?
2.19 简述 SSH 的概念以及中主要的设计思想?
20..unix 下如何让命令在后台执行?
2.21 rm -i 与 rm -r 个实现什么功能?
2.22 什么是乐观锁,什么是悲观锁,两者的区别是什么?
2.23 日志打印的 log4j 的配置中%t 表示什么?
2.24 Spring 中什么时候引起 NotWritablePropertyException 和 Could not open calss path resource[ApplicationContext.xml]
七、 华胜天成(2017-12-11-wzy)
1. 不定项选择题
1.1 关于 Web 应用程序,下列说法错误的是(b)。
1.2 有关 Servlet 的生命周期说法正确的有( cd)。
1.3 有关会话跟踪技术描述正确的是( abc)。
1.4 以下 web.xml 片断( d )正确地声明 servlet 上下文参数。
1.5 以下(a)可用于检索 session 属性 userid 的值。
1.6 下列 JSP 代码,以下(cd)可放置在//1 处,不会发生编译错误。
1.7 考虑下面两个 JSP 文件代码片断:
1.8 有关 JSP 隐式对象,以下(acd )描述正确。
1.9 考虑下面 JSP 文件代码片断:
1.10 以下是 login.jsp 文件的代码片断:
1.11 doAfterBody() 方法是在( b )接口中定义的。
1.12 编写一个 Filter,需要( b)。
1.13 有关 MVC 设计模式(b )描述不正确。
1.14 在 Linux 中,可以使用命令(c)加挂计算机上的非 Linux 文件系统。
1.15 下面关于 Linux 中 shell 的说法错误的是(d)。
1.16 在 Oracle 中,当需要使用显式游标更新或删除游标中的行时,UPDATE 或 DELETE 语句必须使用(c)子句。
1.17 在 Oracle 中,使用下列的语句 CREATE PUBLIC SYNONYM parts FOR Scott.inventory;完成的任务是(d)。
1.18 在 Oracle 中,执行如下 PL/SQL 语句后
2. 简答题
2.1 List、Map、Set 三个接口存储元素时各有什么特点?
2.2 在项目中用过 Spring 的哪些方面?及用过哪些 Ajax 框架?
八、 诚迈(2017-12-7-lyq)
1. 选择题
1.1、下列说法正确的有(C)
1.2、下列运算符合法的是(D)
1.3、下列哪种说法不正确(ABC)
1.4、执行如下程序代码后,c 的值是(C)
2. 判断题
2.1、(×)constructor 必须与 class 同名,但是方法不能与 class 同名
2.2、(×)constructor 可以被继承,因此可以重写 Overriding,也可以被重载 Overloading
2.3、(√)String 类是 final 类 故不可以被继承
2.4、(×)数组的大小可以任意改变,又称动态数组
2.5、(×)try{}里有一个 return 语句,则紧跟在 try 后面的 finally{}里的 code 将在 return 后执行
3. 简答题
3.1、抽象类和接口有什么不同点?
3.1.1 什么时候使用抽象类和接口
3.2、sleep()和 wait()有什么不同点?
3.3、TreeMap 和 HashMap 有什么不同点?
3.4、throws 和 throw 有什么不同点?
3.5、length()和 length 有什么不同点?
4. 编程题
4.1、请编写一个 jdbc 查询任意一个数据库(如 mysql、Oracle 等),数据库名为 test,表明为 user,只有一个字段。
4.2、请编写一 socket 的程序,客户端向服务器端发送字符串,服务器端在返回相同的字符串。(类似 echo 功能)
4.3、写一个多线程程序,四个线程对一个 int 变量,2 个加 1,2 个减 1,输出。
5. linux 试题
5.1、说出常用的 10 个 linux 操作命令,至少 5 个,并简述命令的作用。
5.2、说出常见的 5 个 linux 系统日志,至少 3 个并做简述日志的用途。
6. 数据库试题
问题 1、写出建表语句
问题 2、检索出员工工资最高的员工姓名和工资
问题 3、检索出部门中员工最多的部门号和此部门员工数量
7. 应用服务器试题
7.1、j2ee 中的应用服务器有哪些?
7.2、EJB 程序与普通的 java 程序区别有哪些?
九、 科大讯飞(2017-12-11-lyq)
1. 字符串中有重复的内容去重 例如:abbccccaaddaggb -> abvadagb
2. javaScript 字符串去重的方法
3. 利用 java 面向对象的思路设计正方形.长方形.和圆的计算面积的类
4. 任何>=6 的偶数都可以分解为两个质数之和,从键盘输入一个偶数,输出其分解的质数
十、 泰瑞(2017-12-16-wmm)
1. 笔试题
1.1 面向对象的特征有哪些方面?
1.2 int 和 Integer 有什么区别?
1.5、说出一些常用的类,包,接口,请各举 5 个。
2. 上机题
2.1 题目:雇员查询系统
十一、 文思创新(2017-12-17-wmm)
1. 什么叫对象?什么叫类?什么面向对象(OOP)?
2. 相对于 JDK1.4,JDK1.5 有哪些新特性?
3. JAVA 中使用 final 修饰符,对程序有哪些影响?
4. Java 环境变量 Unix/Linux 下如何配置?
5. 写出 5 个你在 JAVA 开发中常用的包含(全名),并简述其作用。
6. 写出 5 个常见的运行时异常(RuntimeException)。
7. 方法重载(overload)需要满足什么条件,方法覆盖/方法重写(override)需要满足什么条件?(二选一)
8. 继承(inheritance)的优缺点是什么?
9. 为什么要使用接口和抽象类?
10. 什么是自定义异常?如何自定义异常?
11. Set,List,Map 有什么区别?
12. 什么叫对象持久化(OBJect PERSIstence),为什么要进行对象持久化?
13. JavaScript 有哪些优缺点?
14. Jsp 有什么特点?
15. 什么叫脏数据,什么叫脏读(Dirty Read)
第十章 项目业务逻辑问题
一、 传统项目(2017-12-5-lyq)
1. 什么是 BOS?
2. Activity 工作流
2.1 什么是工作流?
2.2 工作流技术的优点
2.3 工作流生命周期

下载地址:https://www.wenjiangs.com/wp-content/uploads/2023/10/mWJlsUR71X4kTf0R.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

lixs

文章 0 评论 0

敷衍 

文章 0 评论 0

盗梦空间

文章 0 评论 0

tian

文章 0 评论 0

13375331123

文章 0 评论 0

你对谁都笑

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文