2019尚硅谷互联网大厂高频重点面试题(第2季)1 笔试和面试题合集,暂未整理答案,Redis,MQ,JVM,JUC

面试题整合

蚂蚁花呗

  1. Java容器有哪些?哪些是同步容器,哪些是并发容器?

  2. 2.ArrayLlist和LinkedList的插入和访问的时间复杂度?

    1. java反射原理,注解原理?
  3. 4.新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  4. 5.HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?

  5. HashMap push方法的执行过程?

  6. 7.HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?

  7. 8.1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?

  8. https和http区别,有没有用过其他安全传输手段?

  9. 10.线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?

  10. linux怎么查看系统负载情况?

  11. 12、请详细描述springmvc处理请求全流程?

    1. spring 一个bean装配的过程?
  12. 14.讲一讲Atomiclnteger,为什么要用CAS而不是synchronized?

美团

  1. 最近做的比较熟悉的项目是哪个,画一下项目技术架构图

  2. JVM老年代和新生代的比例?YGC和FGC发生的具体场景?

  3. jstack,jmap,jutil分别的意义?

  4. 如何线上排查JVM的相关问题?

  5. 线程池的构造类的方法的5个参数的具体意义?

  6. 单机上一个线程池正在处理服务如果忽然断电怎么办(正在处理和阻塞队列里的请求怎么处理)?

  7. 使用无界阻塞队列会出现什么问题?

  8. 接口如何处理重复请求?

百度

  1. 介绍一下集合框架?

  2. hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢?

  3. hashmap和treemap什么区别?低层数据结构是什么?

  4. 线程池用过吗都有什么参数?底层如何实现的?

  5. sychnized和Lock什么区别?sychnize 什么情况情况是对象锁?什么时候是全局锁为什么?

  6. ThreadLocal是什么底层如何实现?写一个例子呗?

  7. volitile的工作原理?

  8. cas知道吗如何实现的?

  9. 请用至少四种写法写一个单例模式?

  10. 请介绍一下JVM内存模型??用过什么垃圾回收器都说说呗

  11. 线上发送频繁full gc如何处理? CPU使用率过高怎么办?

    1. 如何定位问题?如何解决说一下解决思路和处理方法
  12. 知道字节码吗?字节码都有哪些?Integer x =5, int y =5,比较x =y都经过哪些步骤?讲讲类加载机制呗都有哪些类加载器,这些类加载器都加载哪些文件?

  13. 手写一下类加载Demo

  14. 知道osgi吗?他是如何实现的???

  15. 请问你做过哪些JVM优化?使用什么方法达到什么效果???

  16. classforName(“java.lang.String”)和

    1. String classgetClassLoader()
    2. LoadClass(java.lang. String")什么区别啊?

今日头条

  1. HashMap.如果一直put元素会怎么样? hashcode全都相同如何? equals

  2. ApolicationContext的初始化过程?初始化过程中发现循环依赖Spring,

  3. GC 用什么收集器?收集的过程如何?哪些部分可以作为GC Root?

  4. Volatile关键字,指令重排序有什么意义? synchronied,怎么用?

  5. 并发包里的原子类有哪些,怎么实现? cas在CPU级别用什么指令实现

  6. Redis数据结构有哪些?如何实现sorted set ?这种数据结构在极端情况

  7. 系统设计题:一个推送场景,50条内容,定时推送,先推5%用户,一段,推给所有用户。设计相关库表,系统模块,需要可以落地,有伪代码

  8. MvSql索引是什么数据结构?B tree有什么特点?优点是什么?

  9. 慢查询怎么优化?

  10. 项: cache,各部分职责,有哪些优化点

京东金融面试

1.Dubbo超时重试;Dubbo超时时间设置

2如何保障请求执行顺序

3.分布式事务与分布式锁(扣款不要出现负数)
4.分布式session设置

5.执行某操作,前50次成功,第51次失败

  • a全部回滚
  • b前50次提交第51次抛异常,

ab场景分别如何设置Spring(传播特性)

7.JVM内存模型

8.数据库垂直和水平拆分

9.MyBatis如何分页;她何设置缓存;MySQL分页

10 熟悉IO么,与NIO的区别,阻塞与非阻塞

美团

一、Jvm相关
1对象在jvm中是怎么存储的?

2对象头信息里面有哪些东西?

3 jvm内部如何划分?常量池在哪里?

4写一段小程序使栈溢出,堆溢出?

二、GC
1 GC Root如何确定,哪些对象可以作为GC Root?

2 GC如何分代的?没代用什么算法回收?

3 CMS 过程是怎样的?内部使用什么算法做垃圾回收?

4分代垃圾回收过程?

三、并发相关
1 java中有哪几种锁?

2 synchronized内部原理?

3 ReentrantLock内部实现?

4 HashMap.Hashtable,ConcurrentHashMap区别?内部实现?

5原子类内部如何实现的?

6 ArrayBlockingQueue和 LinkedBlockingQueue内部如何实现?

  • 阻塞队列

四、数据库相关
1 innoDB索引数据结构?
2 BTree B+Tree区别?为什么使用B+Tree?

五、算法
1写程序判断一棵树是不是完全对称的二叉树?

2写程序判断两颗二叉树是不是相同?

六、其他
1 Comparable和Comparator区别?

2内存溢出和内存泄露分别指什么?

二轮技术面

一、项目介绍
二、开源架构

三轮技术面一、项目介绍二、开源框架
1 dubbo如何提供服务?有机器宕掉怎么检测出来?如何找到服务?

2zk如何管理服务和配置的?

3 tair 与redis有什么区别?

4 redis是单例的吗?

5 mysql的整体架构是怎样的?

6 innodb索引?

7 innodb主键索引和非主键索引区别?

8了解java的nio吗?

三、基础
1HashMap 与 concurrentHashMap比较?

2介绍一下 java多线程?

3线程间如何通信?

四、项目管理

1项目开发流程?

2如何推动了解整个项目情况?

蚂蚁金服

1、自我介绍、工作经历、技术栈
2、项目中你学到了什么技术?(把三项目具体描述了很久)

3、微服务划分的粒度
4、微服务的高可用怎么保证的?
5、常用的负载均衡,该怎么用,你能说下吗?

6、网关能够为后端服务带来哪些好处?
7、Spring Bean的生命周期
23、HashSet是不是线程安全的?为什么不是线程安全的?

24、Java中有哪些线程安全的 Map?
25、Concurrenthashmap是怎么做到线程安全的?

26、HashTable 你了解过吗?
27、如何保证线程安全问题?

28、synchronized、lock

29、volatile的原子性问题?为什么i++这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因
30、happens before原理

31、cas操作

32、lock 和 synchronized 的区别?

33、公平锁和非公平锁

34、Java读写锁

35、读写锁设计主要解决什么问题?

必问

ArrayListHashMap
底层是什么东东,
JVM/GC
多线程与高并发(UC)
java集合类

5.1 JVM/GC的知识5.2JUC前提知识
超级熟悉Java8以后的新特性(Stream+LambdaExpress+函数式接口+方法引用)

Redis

1.在你的项目中,哪些数据是数据库和redis缓存双写一份的?如何保证双写一致性?

2.系统上线,redis缓存系统是如何部署的

3.系统上线,redis缓存给了多大的总内存﹖命中率有多高?抗住了多少QPS?数据流回源会有多少QPS?

4.热Key大Value问题,某个key出现了热点缓存导致缓存集群中的某个机器负载过高?如何发现并解决

5.超大value打满网卡的问题如何规避这样的问题

6.你过往的工作经历中,是否出现过缓存集群事故?说说细节并说说高可用保障的方案

7.平时如何监控缓存集群的QPs和容量

8.缓存集群如何扩容??

9.说下redis的集群原理和选举机制

10.Key寻址算法都有哪些?

11.Redis线程模型现场画个图说说

12.Redis内存模型现场画个图说说

13.redis的底层数据结构了解多少?

14.redis的单线程特性有什么优缺点?

15.你们怎么解决缓存击穿问题的?

MQ

1.消息队列的主要作用是什么?
⒉.你项目好好的情况下,为什么要引入消息队列?引入的理由是什么?3.项目里你们是怎么用消息队列的?2
4.你在项目中是如何保证消息队列的高可用
5.kafka、activemq、rabbitmq、rocketmq都有什么区别6.MQ在高并发情况下假设队列满了如何防止消息丢失7.消费者消费消息,如何保证MQ幂等性
8.谈谈你对死信队列的理解
9.如果百万级别的消息积压了,你们如何处理?

10.你们为什么不用其他的MQ,最终选择了RokcetMQ?

JVM

常见的垃圾回收算法

1.JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots

2.你说你做过JVM调优和参数配置,请问如何查看JVM系统默认值

3.你平时工作用过的VM常用基本配置参数有哪些?

4.强引用、软引用、弱引用、虚引用分别是什么?

5.请谈谈你对oOM的认识

  • -java.lang.StackOverflowError
  • -java.lang.OutOfMemoryError: Java heap space
  • -java.lang.OutOfMemoryError: GC overhead limit exceeded 超过开销限额
  • java.lang.OutOfMemoryError: Direct buffer memory 直接缓冲存储器
  • -java.lang.OutOfMemoryError: Metaspace 元空间
  • java.lang.OutOfMemoryError: unable to create new native thread
  • java.lang.OutOfMemoryError: Requested array size exceeds VM limit

6.GC回收算法和垃圾收集器的关系?另外,串行收集/并行收集/并发收集/STW是什么?

7.怎么查看服务器默认的垃圾收集器是那个?
生产上你是如何配置垃圾收集器的?谈谈你的理解?

8.G1垃圾收集器21

9.生产环境服务器变慢,诊断思路和性能评估谈谈?

10.假如生产环境出现CPu占用过高,请谈谈你的分析思路和定位(13

11.对于JDK自带的Jvm监控和性能分析工具用过哪些?一般你是怎么用的?

  • jconsole.exe
  • jps,类似Linux系统里面的Ps -ef命令
  • jinfo
  • jmap
  • jstat
  • jstack

12.JVM的字节码指令接触过吗?

JUC

1.请谈谈你对volatile的理解

2.cAS你知道吗?
3.原子类Atomiclnteger的ABA问题谈谈?原子更新引用知道吗?
4.我们知道ArrayList是线程不安全,请编码写一个不安全的案例并给出解决方案。

5.公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解﹖请手写一个自旋锁

6.CountDownLatch/CyclicBarrier/Semaphore使用过吗?
(17
7.阻塞队列知道吗?
(13
8.线程池用过吗? ThreadPoolExecutor谈谈你的理解?
27
9.线程池用过吗?生产上你如何设置合理参数(18

10.死锁编码及定位分析9

11.Java里面锁请谈谈你的理解,能说多少说多少(14

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值