Java面试题

作者: 小鱼嘻嘻 | 来源:发表于2017-03-07 23:06 被阅读288次

    工作快三年了,也待过几家公司,有了一些面试的经验,整理了一下面试经常遇到的问题,当然答案不完全对,希望相互讨论吧!

    Java基础相关
    • 1 集合相关
      arraylist 和linkedlist的区别,以及内部实现
      hashmap的数据结构,hashmap的扩容,hashmap是否线程安全,如何保证线程安全
      currenthashmap如何实现
      copyonwritearraylist的实现
      arrayblockingqueue等阻塞队列的实现
    • 2 多线程相关
      线程的状态以及相互转化
      线程的创建的两种方式
      线程的常用方法sleep,yeild,join等等
      synchronzied的使用,synchronized和lock的区别
      线程通信,写出生产者和消费者
      wait和sleep的区别,wait 和notify的区别
      reentrantlock的实现原理
      countdownlatch和cyclicbarrier的区别,以及现实中的使用
      线程池的原理,线程池的参数意义,线程池的拒绝策略有哪些分别有什么区别,线程池的分类有哪些分别在上面情况下使用
    • 3 其他相关
      static的使用
      final的使用
      volitale的使用以及原理
      单例的写法
    JVM相关

    垃圾回收算法有哪些,分别怎么回收
    jvm的内存结构画出来
    JVM参数怎么调优
    怎么处理线上oom问题

    数据库相关

    分页sql怎么写
    数据库的left join 和right join 和join的区别,以及left join on 和 join where 的区别
    数据库索引分类有哪些,联合索引如何使用,索引的原理是什么?
    如何在100w的数据里快速分页,找出90w 之后的10条
    数据库事务的隔离级别
    脏读幻读不可重读读分别怎么出现
    innodb和myisam区别

    缓存相关

    memcache 和 redis 如何做分布式锁
    memcache 和redis有什么区别
    redis 有哪些优点和缺点,memcache 有哪些优点和缺点
    memcache 和redis 使用的时候遇到的那些坑
    emcache 如何集群,redis 如何实现集群

    springMVC和Mybatis相关

    springmvc 什么叫aop,aop的原理是什么
    springmvc 什么叫做ioc,原理是什么
    springmvc 事务的传播行为和事务的隔离级别
    springmvc一个请求的完整路径画出来
    mybatis的# 和$有什么区别

    RPC和消息相关和分布式

    dubbo 的组成
    dubbo 的底层实现
    dubbo的负载均衡算法
    消息的作用,消息的使用
    分布式锁如何实现
    分布式session如何实现

    数据结构和算法相关
    • 1 链表相关
      a:链表的逆序
      b: 不知道长度链表找中间元素
      c: 两个有序链表合并一个链表
    • 2 排序相关
      a: 冒泡排序
      b: 比较排序
      c: 插入排序
      d: 快速排序
      e: 堆排序
      f: 希尔排序
      g: 归并排序
    • 3 树
      a: 二叉树遍历 前中后序(递归非递归)
      b: 红黑树
      c:求树的深度和叶子节点个数等等
    • 4 算法相关
      a: 递归算法(斐波尼奇数列)
      b: 二分查找
      c: top k算法
      d: 字符串中求只出现一次的字符 O(n)
      e:一个数组里,元素只有一个出现一次,其余出现两次找出出现一次的数字 O(n)

    相关文章

      网友评论

      本文标题:Java面试题

      本文链接:https://www.haomeiwen.com/subject/uvkvgttx.html