面试官很和蔼,一开始先让我自我介绍,然后问我是使用Java是吗?我说是的,然后说问一些Java基础吧final 修饰符的含义?final修饰不可变是什么意思,能具体说清楚些吗?回答:对于值类型,final修饰指的是值不可变,对于引用类型,则是引用不可变,也就是内存地址不可变static 关键字的含义?为什么equals方法要和hashcode方法同时重写?回答:从Object类的这两个方法说起,引出第一条约定(equals相等的两个对象,hashcode一定相等),其他继承Object的类都遵守该约定。举例HashMap,如果只重写了equals方法,而不重写hashcode,可能会导致HashMap中存在两个key值相同的元素(put时,hashcode不同会被认为是两个不同的key)hashMap中的桶(buckets)是什么?以及hashMap是否安全?ConcurrentHashMap如何保证安全?答:分段锁Segment是什么?既然Segment继承自ReentrantLock,那么谈谈你对ReentrantLock的理解?回答:从ReentrantLock与Synchronized的比较进行回答AQS的原理是什么?AQS是双端队列,讲了一下具体的应用:比如 CountdownLatch 、CyclicBarrier、Semaphore等公平锁是什么?对于jvm了解吗?谈谈五大内存区域?说说了解的垃圾回收算法?知道哪些垃圾收集器?类加载的阶段有哪些?双亲委派模型知道吗?数据库了解吗?InnoDB和MyISAM的区别?B+树的特点?哪四种隔离级别?什么是聚簇索引?如果我想在索引时,先用a字段进行索引,再用b字段进行索引,该怎么做?我答的是使用联合索引,面试官说也可以。(不知道最好应该用什么?)场景设计题:如果让你设计类似于滴滴打车的软件,只考虑后端,那么你会设计哪些模块?编程题:给定一个单向链表,里面存放着数字,例如 1 2 3 2 1 ,判断该链表中存放的数字是不是回文数?比如 1 2 3 2 1 就是回文数,而 1 2 3 4 不是。给定一个数组, 4 5 6 1 2 3 ,是由1 2 3 4 5 6翻转过来的,也可以翻转成 6 1 2 3 4 5 、 3 4 5 6 1 2 ,如何快速在里面查找某个数字的下标,如果找不到,则返回-
暂无评论,快来抢首评~
相关推荐