声明:本文全部列举的问题都来源于 《编程随想》的博客,这个博客的博主知识渊博,编程方面的一些文章质量很高,给人醍醐灌顶的感受。算法
何时该用数组类型容器,何时该用链表型容器,如何合理的使用数据类型编程
什么是散列函数,HashMap的实现原理是什么数组
什么是递归,使用递归实现目录树遍历数据结构
什么是算法复杂度多线程
是否理解空间换时间的思想函数
写一个针对整数数组的冒泡排序,性能
写一个针对整数数组的二分查找函数ui
基于接口的继承和基于实现的继承各有什么优缺点线程
继承(extend implement) 有什么缺点设计
多态有什么缺点
为何 Java 能够多继承interface,不能够多继承 class
假如让你写一个小游戏,如五子棋人机对战,如何设计类结构
类结构设计时,如何考虑可扩展性
随意的命名
习惯于代码的 copy & paste
Magic Number 满天飞
代码耦合度太大
被 GC 宠坏(资源不懂回收)
空 catch 语句块
没有使用 finally
笼统的 catch 语句块
使用函数返回值作错误处理
不清楚 Checked Exception 和 Runtime Exception的区别
Checked Exception 表示可恢复的异常,也就是必须检查的异常
Runtime Exception 表示不可恢复的异常
基本类型和引用类型
基本类型和引用类型在内存存储上有什么区别
这两种类型在性能上有什么区别
这两种类型对于 GC 有什么区别
垃圾回收机制
GC 是如何判断哪些对象已经失效
GC 对性能有哪些影响
如何经过 JVM 参数调优 GC 性能
关于字符串
String 和 StringBuilder的区别,为啥要设计两种类型
关于泛型
GP 是在编译时仍是在运行时实现的,为何要这么实现
GP 的类型擦除机制是咋回事,有啥优缺点
使用泛型容器在性能上有啥影响,为何
关于多线程
synchronized 关键字起什么做用
synchronized 的做用域如何,是针对某个类仍是针对某个对象实例
synchronized 对性能的影响,为何
volatile 关键字什么用途,何时须要这个关键字