面试题

作者: 安心远 | 来源:发表于2020-04-07 10:48 被阅读0次

    高级、资深工程师面试题

    java
    • 集合类用过哪些?

    • hashmap 1.8比1.7有哪些变化?
      红黑树的查询时间复杂度?
      为什么链表长度>8时转成红黑树

    • treeMap和hashmap有哪些区别?

    • Collections.sort() 用的那种排序算法,时间复杂度
      采用了2种排序算法 -- 基本类型数据使用快速排序法,对象数组使用归并排序。O(log n)

    • 场景:比如有一个服务,昨天上了一次线,今天从服务监控上看,这个服务所有的接口的平均响应耗时增加了不少,让你来排查这个问题,你会从哪几个方面考虑?
      QPS增高?锁?线程池配置的不合理?full gc

    • 线程池
      线程池工作原理,参数含义

    • jvm
      jdk1.8 和1.7相比 jvm内存模型有什么区别,这个升级有什么用
      描述JVM中一次完整的GC流程,对象如何从创建到老年代,被回收的
      线上发生OOM 该如何排查?
      cpu负载非常高,如何排查?

    • 多线程
      场景:有5个子线程,我想让5个子线程都执行完之后,主线程再往下执行。怎么实现?
      CyclicBarrir或countDownLatch原理
      volatile 的两个cpu语义,是如何实现内存可见性的(JMM内存模型)
      aqs的实现原理,
      cas的缺陷

    redis
    • redis的数据结构用过哪些,及其底层存储的数据结构
      场景:redis底层是用c语音写的,‘\0’ 在c语音字符串中会被认为是字符串的结束。如果redis字符串存储,‘123\0123’,那么get出来是什么? 为什么?
      简述hash表的扩容过程
      跳跃表的时间复杂度
    • 候选人redis采用的架构模式是哪种,存在什么缺点
    • 主从架构下的问题,集群模式的问题
      场景:主从模式下,set key设置过期时间,比如10分钟,过了10分钟之后,get key,还能把set的值拿出来,问题可能出在哪?
    • 过期机制了解几种,讲一下
    • redis是单线程的,为什么单线程还这么快呢?
    • 如何防止缓存雪崩

    mysql数据库

    场景:线上数据库出现慢查询,如何排查优化,
    如何优化索引
    有哪几种索引?
    聚簇索引结构
    非聚簇索引和聚簇索引结构有何不同
    mysql事务和隔离级别
    隔离级别有哪几个,各自存在的问题
    事务是如何实现的?MVCC?

    spring

    aop的例子,设计实现原理。动态代理
    spring中还使用了哪些设计模式?
    自己有没有写过切面

    rocketmq

    • rocketmq如何保证性能的?
    • 和kafka的区别?
    • 场景:用户对一个商品下单,然后支付完成。下单、支付成功各自发了mq,消费者消费了这两个mq,但这俩mq显然是有先后顺序的,如何:
      如何保证不重复消费?
      如何保证顺序消费?

    kafka

    kafka 为什么快
    kafka怎么实现顺序消费
    Kafka消息是采用Pull模式,还是Push模式?

    微服务

    • dubbo 和 spring cloud用过哪个?讲一下注册发现的过程,zk(cp模型)和eureka(ap模型)的区别,从cap模型讲,各属于什么模型,哪个更适合做注册中心?
    • 分布式下的事务,数据一致性。有哪种分布式事务框架
    • 怎么实现分布式锁,有几种方式,优缺点

    相关文章

      网友评论

          本文标题:面试题

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