京东提前批一面,面试官说我基础还行

212 阅读1分钟

来自京东校招面试,一面还是主要偏基础,大家可以来查缺补漏一下

一面 50min

  • Java 中有个 Object 基类,里面有两个方法:hashcode()、equals(),他们是做什么的?

  • List 集合,ArrayList 和 LinkedList 有什么区别?

  • LinkedList不支持随机访问,但是我们 List 接口肯定有通过下标去 get(),LinkedList 想实现 get() 怎么实现呢?

  • ArrayList和LinkedList ,这两个 List 都是线程安全的吗,有没有线程安全的 List?

  • 你刚才提到了 ConcurrentHashMap,说一下它是怎么保证线程安全的,用的什么数据结构和锁机制

  • 刚才提到了 CAS,能详细说说吗、CAS 的 ABA 问题了解吗,怎么解决

  • 用 synchronized 实现一个简单的死锁,你会怎么实现

  • ThreadPoolExecutor 有哪些参数,每个参数大概都是干什么的,整个工作流程是怎样的,workQueue 满了会怎样?

  • 说一下 Spring 的 IOC

  • Spring 会帮你创建实例,那它整个的流程是怎样的,启动的时候是怎么个流程,最后怎么就让程序员能直接获取并使用实例

  • 如果我想在整个项目启动之前,初始化一个全局的线程池,或者打印日志,要怎么实现(启动过程中实现 Aware 接口)

  • Spring 中用到了哪些设计模式

  • 你们的项目里有用到什么设计模式

  • Sql 语句:只有一列 name,里面有重复的,怎么把重复的名字找出来 Group by...Having

  • 索引最左匹配原则

  • 中间件有了解吗,比如 Redis、消息队列

  • Redis 为什么快

  • Redis 的单进程单线程用到了什么模式/方式,其他的中间件也有用到的