么是 JdbcTemplate
什么是 DAO 模块
使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能
列出 5 个应该遵循的 JDBC 最佳实践
IO
- File类型中定义了什么方法来创建一级目录
File类型中定义了什么方法来判断一个文件是否存在
- 为了提高读写性能,可以采用什么流
- Java中有几种类型的流
- JDK 为每种类型的流提供了一些抽象类以供继承,分别是哪些类
- 对文本文件操作用什么I/O流
- 对各种基本数据类型和String类型的读写,采用什么流
- 能指定字符编码的 I/O 流类型是什么
- 什么是序列化?如何实现 Java 序列化及注意事项
- Serializable 与 Externalizable 的区别
- socket 选项 TCP NO DELAY 是指什么
- Socket 工作在 TCP/IP 协议栈是哪一层
- TCP、UDP 区别及 Java 实现方式
- 说几点 IO 的最佳实践
- 直接缓冲区与非直接缓冲器有什么区别?
- 怎么读写 ByteBuffer?ByteBuffer 中的字节序是什么
- 当用System.in.read(buffer)从键盘输入一行n个字符后,存储在缓冲区buffer中的字节数是多少
- 如何使用扫描器类(Scanner Class)令牌化
面向对象编程(OOP)
- 解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling)
- 多态的实现原理
- 封装、继承和多态是什么
- 对象封装的原则是什么?
- 类
- 获得一个类的类对象有哪些方式
- 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
- 说出几条 Java 中方法重载的最佳实践
- 抽象类和接口的区别
- 抽象类中是否可以有静态的main方法
- 抽象类是否可实现(implements)接口
- 抽象类是否可继承具体类(concrete class)
- 匿名类(Anonymous Inner Class)
匿名内部类是否可以继承其它类?是否可以实现接口
- 内部类分为几种
- 内部类可以引用它的包含类(外部类)的成员吗
- 请说一下 Java 中为什么要引入内部类?还有匿名内部类
- 继承(Inheritance)与聚合(Aggregation)的区别在哪里
- 继承和组合之间有什么不同
- 为什么类只能单继承,接口可以多继承
- 存在两个类,B 继承 A,C 继承 B,能将 B 转换为 C 么?如 C = (C) B
- 如果类 a 继承类 b,实现接口c,而类 b 和接口 c 中定义了同名变量,请问会出现什么问题
- 接口是什么
- 接口是否可继承接口
- 为什么要使用接口而不是直接使用具体类?接口有什么优点
泛型
- 泛型的存在是用来解决什么问题
- 泛型的常用特点
- List能否转为List
工具类
- Calendar Class的用途
- 如何在Java中获取日历类的实例
- 解释一些日历类中的重要方法
- GregorianCalendar 类是什么
- SimpleTimeZone 类是什么
- Locale类是什么
- 如何格式化日期对象
- 如何添加小时(hour)到一个日期对象(Date Objects)
- 如何将字符串 YYYYMMDD 转换为日期
Math.round()什么作用?Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
- XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?DOM 和 SAX 解析器有什么不同?
- Java解析XML的方式
- 用 jdom 解析 xml 文件时如何解决中文问题?如何解析
- 你在项目中用到了 XML 技术的哪些方面?如何实现
动态代理
- 什么是设计模式(Design Patterns)?你用过哪种设计模式?用在什么场合
- 你知道哪些商业级设计模式?
- 哪些设计模式可以增加系统的可扩展性
- 单例模式
- 除了单例模式,你在生产环境中还用过什么设计模式?
- 写 Singleton 单例模式
- 单例模式的双检锁是什么
- 如何创建线程安全的 Singleton
- 什么是类的单例模式
- 写出三种单例模式实现
- 适配器模式是什么?什么时候使用
- 适配器模式和代理模式之前有什么不同
- 适配器模式和装饰器模式有什么区别
- 什么时候使用享元模式
- 什么时候使用组合模式
- 什么时候使用访问者模式
- 什么是模板方法模式
- 请给出1个符合开闭原则的设计模式的例子
开放问题
- 用一句话概括 Web 编程的特点
- Google是如何在一秒内把搜索结果返回给用户
- 哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入
- 树(二叉或其他)形成许多普通数据结构的基础。请描述一些这样的数据结构以及何时可以使用它们
- 某一项功能如何设计
- 线上系统突然变得异常缓慢,你如何查找问题
- 什么样的项目不适合用框架
- 新浪微博是如何实现把微博推给订阅者
- 简要介绍下从浏览器输入 URL 开始到获取到请求界面之后 Java Web 应用中发生了什么
- 请你谈谈SSH整合
- 高并发下,如何做到安全的修改同一行数据
- 12306网站的订票系统如何实现,如何保证不会票不被超卖
- 网站性能优化如何优化的
- 聊了下曾经参与设计的服务器架构
- 请思考一个方案,实现分布式环境下的 countDownLatch
- 请思考一个方案,设计一个可以控制缓存总体大小的自动适应的本地缓存
- 在你的职业生涯中,算得上最困难的技术挑战是什么
- 如何写一篇设计文档,目录是什么
- 大写的O是什么?举几个例子
- 编程中自己都怎么考虑一些设计原则的,比如开闭原则,以及在工作中的应用
- 解释一下网络应用的模式及其特点
- 设计一个在线文档系统,文档可以被编辑,如何防止多人同时对同一份文档进行编辑更新
- 说出数据连接池的工作机制是什么
- 怎么获取一个文件中单词出现的最高频率
- 描述一下你最常用的编程风格
- 如果有机会重新设计你们的产品,你会怎么做
- 如何搭建一个高可用系统
- 如何启动时不需输入用户名与密码
- 如何在基于Java的Web项目中实现文件上传和下载
- 如何实现一个秒杀系统,保证只有几位用户能买到某件商品。
- 如何实现负载均衡,有哪些算法可以实现
- 如何设计一个购物车?想想淘宝的购物车如何实现的
- 如何设计一套高并发支付方案,架构如何设计
- 如何设计建立和保持 100w 的长连接
- 如何避免浏览器缓存。
- 如何防止缓存雪崩
- 如果AB两个系统互相依赖,如何解除依
- 如果有人恶意创建非法连接,怎么解决
- 如果有几十亿的白名单,每天白天需要高并发查询,晚上需要更新一次,如何设计这个功能
- 如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)
- 如果要设计一个图形系统,请你设计基本的图形元件(Point,Line,Rectangle,Triangle)的简单实现
- 如果让你实现一个并发安全的链表,你会怎么做
- 应用服务器与WEB 服务器的区别?应用服务器怎么监控性能,各种方式的区别?你使用过的应用服务器优化技术有哪些
- 大型网站在架构上应当考虑哪些问题
- 有没有处理过线上问题?出现内存泄露,CP