我招聘初中级Java工程师的10个笔试题目
2018-07-25 本文已影响175人
landon30
我招聘初中级Java工程师的10个笔试题目
- Integer a = 16,Integer b = 16,请输出 a == b和 a.equals(b)的结果
- 实现String的hashcode方法
- 实现将一个int转为byte[]
- HashMap、LinkedHashMap、TreeMap区别
- ConcurrentSkipListMap是做什么的
- 列举JDK类库中用到的设计模式,列举越多越好
- 请说出程序的运行结果
List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); for (String str : list) { if ("1".equals(str)) { list.remove(str); } } System.out.println(list);
- 实现一个线程安全的单例(可写出多种实现方式,越多越好)
- 写出ThreadPoolExecutor的构造函数
- 伪代码实现LinkedBlockingQueue的put和take
简单剖析一下
- 比较基础的问题,但是坑在于'IntegerCache'
- 一个基础扎实的Java程序员如果不知道经典的String的hashcode实现,那真得应该去补补effective Java了
- 这个考察程序员对于底层的'位运算基础'
- 考察Java基本的数据结构
- 这个很多程序员可能没用过,如果用过或者了解,那么是加分项
- 这个和编程相关了,是否对于oop和模式有一定的了解
- 这个问题看似简单,其实有坑,是否能彻底理解‘ConcurrentModificationException’
- 比较基础,但是能看出很多东西,如‘double-checked’,enum,static holder
- 多线程的基础,需要了解线程池的实现原理和建议使用方式
- 多线程的一个运用,线程之间同步、锁分离等
我的评分和评价
- 我出的这些题目主要考察Java基础,因为一个好的程序员,基础是非常重要的
- 如果10个题目能拿60分,那说明及格了;如果80分以上,那很优秀,如果全部都答的不错,那么说明你非常不错了
ps:欢迎大家给我提issues