JAVA基础知识

来源:互联网 发布:淘宝店家可能亏本吗 编辑:程序博客网 时间:2024/05/17 09:17

Java基础

  1. switch能否用string做参数
  2. object有哪些公用方法:equals和==,hashcode,clone,wait,notify等
  3. String、StringBuffer与StringBuilder的区别。
  4. try catch finally,try里有return,finally还执行么?
  5. Excption与Error包结构。
  6. Override和Overload的含义与区别。
  7. Interface与abstract类的区别。
  8. Static class 与non static class的区别。
  9. foreach与正常for循环效率对比。
  10. 反射机制
  11. String类内部实现,能否改变String对象内容,String源码
  12. Java1.7与1.8新特性。
  13. java集合框架的结构
  14. list,set,map接口
  15. 哪些是线程安全,哪些不安全
  16. hashmap能否用null作为键或值
  17. hashmap源码
  18. 快速失败与安全失败
  19. arraylist,linkedlist底层实现区别,如何扩容
  20. treemap,hashmap,linkedhashmap区别和特点,底层实现的区别
  21. 如何解决不安全的集合的安全性问题
  22. 软弱虚四种引用,java的四种引用的区别
  23. java内存分区,JVM分区,分别解释
  24. java的个内存分区在什么情况下内存溢出
  25. java垃圾回收机制,垃圾收集算法特点及工作在哪一代,分代收集策略,如何判断一个对象该被回收了,java对象实现如何自救,java的垃圾收集器,内存分配与回收及分配担保
  26. java的类加载机制,类加载的5个步骤,类加载器
  27. 线程生命周期
  28. java如何使用多线程(runnable和Thread)
  29. stop,resume,suspend的缺点
  30. 终止线程有哪些方法
  31. 守护线程
  32. synchronize关键字和wait,notify,notifyAll
  33. lock与condition,Java中的几种不同锁
  34. 线程死锁情景
  35. 消费者生产者模型
  36. volatile关键字,是否保证原子性,优缺点
  37. ThreadLocal的特点和使用
  38. 单例模式和多线程
  39. SimpleDateFormat的安全性问题
  40. java的并发容器包Concurrent。阻塞队列,CopyOnWriteList等
  41. ConcurrentHashMap的源理
  42. java的线程池原理和自带的四大线程池
  43. Executor框架
  44. 垃圾回收器的分类及优缺点
  45. synchronized和锁区别
  46. HashMap && HashTable && ConcurrentHashMap
  47. volatile关键字的原理
  48. Java有几种不同的编码格式各有什么特点不同、file、线程安全、overload和override、JAVA内存机制、垃圾回收怎么实现
  49. 九种基本数据类型的大小,以及他们的封装类。
  50. Switch能否用string做参数?
  51. equals与==的区别。
  52. Object有哪些公用方法?
  53. java的四种引用,强弱软虚,用到的场景。
  54. Hashcode的作用。
  55. ArrayList、LinkedList、Vector的区别。
  56. String、StringBuffer与StringBuilder的区别。
  57. Map、Set、List、Queue、Stack的特点与用法。
  58. HashMap和HashTable的区别。
  59. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
  60. TreeMap、HashMap、LindedHashMap的区别。
  61. Collection包结构,与Collections的区别。
  62. try catch finally,try里有return,finally还执行么?
  63. Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。
  64. Java面向对象的三个特征与含义。
  65. Override和Overload的含义去区别。
  66. Interface与abstract类的区别。
  67. Static class 与non static class的区别。
  68. java多态的实现原理。
  69. 实现多线程的两种方法:Thread与Runable。
  70. 线程同步的方法:sychronized、lock、reentrantLock等。
  71. 锁的等级:方法锁、对象锁、类锁。
  72. 写出生产者消费者模式。
  73. ThreadLocal的设计理念与作用。
  74. ThreadPool用法与优势。
  75. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
  76. wait()和sleep()的区别。
  77. foreach与正常for循环效率对比。
  78. Java IO与NIO。
  79. 反射的作用于原理。
  80. 泛型常用特点,List<String>能否转为List<Object>。
  81. 解析XML的几种方式的原理与特点:DOM、SAX、PULL。
  82. Java与C++对比。
  83. 内存模型以及分区,需要详细到每个区放什么。
  84. 堆里面的分区:Eden,survival from to,老年代,各自的特点。
  85. 对象创建方法,对象的内存分配,对象的访问定位。
  86. GC的两种判定方法:引用计数与引用链。
  87. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
  88. GC收集器有哪些?CMS收集器与G1收集器的特点。
  89. Minor GC与Full GC分别在什么时候发生?
  90. 几种常用的内存调试工具:jmap、jstack、jconsole。
  91. 类加载的五个过程:加载、验证、准备、解析、初始化。
  92. 双亲委派模型:Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader。
  93. 分派:静态分派与动态分派。
  94. 泛型相关知识,比如能否List<Object> = new ArrayList<String>; 或者List<String> = new ArrayList<Object>;为什么可以或者不可以。
  95. ConcurrentHashMap和HashTable的区别。
  96. Jvm 自动内存管理、如何实现对象的自我救赎?
  97. violate起什么作用?
  98. 熟不熟jvm,说一下Jvm的自动内存管理?
  99. 语言基础,String类可以被继承吗?为什么?
  100.  Final能修饰什么?(当时我说class、field、method,他说还有吗?然后又叫我不要在意,后来回想起,应该是问到我在参数里面要不要用final,接下来是因为匿名内部类)
  101.  Java中有内存泄露吗?(先说本质,再结合handler+匿名内部类)当时如何分析的?
  102. Oom是如何解决?
  103. 除了软引用还知道什么引用?
  104. Jvm自动内存管理(什么时候触发gc)?
  105. Jvm中软、虚引用的区别
  106. Java nio的认识
  107. Java对象的引用方法
  108. Java GC机制
  109. HashMap && HashTable && ConcurrentHashMap
  110. 多线程同步
  111. Synchronized && Reentrantlock
  112. 线程池有几种用法?newFixedThreadPool是怎么执行的?--coreSize与maxSize
  113. 内存泄漏和内存溢出
  114. 除了handler,子线程与UI线程还有几种通信方式?(runOnUIThread、post)
  115. 启动Service的两种方式?startService和bindService的区别?对Binder的了解
  116. Rxjava在使用的时候和传统代码有什么区别
  117. 强引用和弱引用同时引用一个对象是否会被回收
  118. 自旋锁和syn关键字的区别
  119. volatile关键字的原理,我画了个工作内存和主内存的图
  120. 方法加syn和syn一个对象有什么区别
  121. 说下接口和抽象类的区别,在你项目中哪些地方用到了接口和抽象类?
  122. 说下泛型,用到的集合类,说的hashMap,说一下底层的实现,如果你要往hashMap插入一个数,详细说一下插入的具体流程,如果出现hash冲突,怎么解决?
  123. java多线程用的多么?怎么加锁?怎样停止一个线程?
  124. java线程的各种状态
  125. 线程同步
  126. hashmap与hashtable区别
  127. jvm栈
  128. gc算法
  129. java的多态,继承,封装,还有private protected public default的意义
  130. volitate的实现原理(说到了内存屏障)
  131. 软引用和弱引用
  132. 创建弱引用的时候,构造方法传入一个ReferenceQueue,作用是什么
  133. 共享变量的线程安全(自旋锁和synchronized区别)
  134. 抽象类与接口的区别。
  135. 集合类有哪些?
  136. ArrayList和LinkedList的区别
  137. Java的垃圾回收机制有了解过吗?
  138. GC的算法。
  139. Java的引用类型。
  140. Java中对哪个知识用的比较熟练,对你在客户端开发中作用最大。我说Collections。他就问ArrayList和LinkedList的区别是什么?底层实现是什么?
  141. HashMap和Map的区别,底层实现是什么?
  142. 多线程了解不?我说还好。他说两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
  143. Object中有哪些公有方法 ps:clone();toString();wait();notify();getClass();finalize();equals();hashCode();
  144. HashMap和HashTable的区别
  145. JVM结构,内存分配,内存管理,GC
  146. java锁机制,线程同步
  147. java四种修饰符(private,protected,public,default)的特点
  148. 静态内部类和非静态内部类的特点和区别
  149. jvm分区,GC(基本上后续所有地方面试都问了,基础中的基础)
  150. volatile和Synchronized区别
  151. 原子性、可见性的概念
  152. 进程与线程的区别
  153. 线程池的概念、好处、常见的线程池举例
  154. Callable和Runnable的区别
  155. HashMap的内部原理
  156. ConcurrentHashMap原理
  157. 线程池构造函数传参意义,手写代码实现线程池,继承方式,不能用现成的 
  158. hashmap底层实现原理,如何处理溢出
  159. 从单例引到static的用法,对成员,对方法的作用,包括初始化的过程。然后问一个static对象只初始化一次需要怎么做?
  160. arraylist和hashmap的原理及区别
  161. listview的原理,底层实现
  162. 插件化开发原理以及在项目中应用
  163. ImageLoader中内存分几级?这个我说lrucache和diklrucache,面试官告诉我不对
  164. arraylist和hashmap的实现
  165. react-native相关开发技术
  166. 阻塞队列知道吗?blockingQueue。
  167. arrayBlockingQueue和linkedBlockingQueue的区别?
  168. arrayBlockingQueue的实现?
  169. 如果要你自己实现arrayBlockingQueue怎么做?
  170. classLoader? 如何打破双亲委托?
  171. 回到单例,synchronized关键字的作用。怎么实现的。
  172. 有哪些锁,blabla我说了一大堆。
  173. 你说的这么多锁有什么区别?各自的应用场景是什么?
  174. 线程池怎么调度的知道吗?
  175. volatile的内存语义怎么解释,禁止重排序是如何保证的?
  176. 什么是多态?
  177. Java反射怎么使用?讲到类加载的Class怎么调用类的所有属性和方法,Android里面通过反射调用私有api。
  178. hashMap,hashTable,currentHashMap底层实现 
  179. 乐观锁与悲观锁。怎么实现乐观锁
  180. 接口和抽象类的区别是否可以实例化
  181. 多线程安全实现方式,synchronizedlock,信号量的介绍线程池具体原理

  182. Java相关知识(问的很细)

  183. Xml解析(问的很细)

  184. 图片压缩(问得很细)

  185. 文件上传下载(问的很细)

  186. Servlet的相关知识(问的很细)

  187. Session相关知识(问的很细)

  188. 数据结构对一个基本有序的数组应该采用什么方式进行排序,对一个乱序的数组应该采用什么方式排序能快速找到前n个数?为什么?

  189. JavaJavaScript的区别

  190. 虚拟机相关知识

  191. 接口和抽象类

  192. 介绍一下restful框架(问了是哪个博士写的,那篇文章看了吗,真可怕)


1 0
原创粉丝点击