vivo面试题目分享~java岗 社招

一面
1、HashMap

底层结构,什么时候扩容,为什么负载因子是0.75等

2、ConcurrentHashMap

底层结构,1.7和1.8有什么不同,为什么是线程安全

3、线程池的创建

七个参数,核心线程数和最大线程数根据什么设置

4、MySQL默认的隔离的机制,怎么解决幻读的?

5、Spring中AOP的实现原理

6、一般什么场景用AOP

7、Redis用于排序的数据结构

8、ZSet底层是怎么实现的

9、Redis实现分布式锁

10、setnx和过期时间分开两个语句设置会出现什么问题

11、还了解哪些分布式锁的实现

12、项目的代码结构

各层之间是怎么调用的(一下忘记忘记了),实体类什么时候调用

13、事务怎么用,是用在哪一层

14、深挖项目功能点,遇到什么难处,解决方法是什么

二面

1.java 创建线程的方式,runnable和callable 区别(参数不同)1. java线程的状态有哪些;线

程的几种状态

2说一下公平锁和非公平锁的原理;

3锁有哪些

4问了如何保证多线程通信

5 CAS 的原理给我讲一下,他是怎么保证内存的可见性的。CAS会产生什么问题

6多线程如何保持同步?

7linux中如何查看CPU负载top

8.protobuf 了解不,grpc 了解不,用的什么协议,HTTP2和HTTP1 区别,websocket建立连

接过程

9.RPC你了解过吗?

10 排序算法有哪些,简述冒泡和归并排序,冒泡算法的优化,讲讲归并排序,冒泡的优化知道

吗;回答相等不交换,还有flag做已排序标志的优化;直接插入排序,写一下伪代码或者说

一下思路,插入排序,时间复杂度


#面经##vivo##社招##Java工程师#
全部评论
楼主大大这是几年经验
1 回复 分享
发布于 2021-06-02 01:36
好厉害呀,我这没几个知道的还有救吗 😥
点赞 回复 分享
发布于 2022-08-23 08:26 安徽

相关推荐

3 54 评论
分享
牛客网
牛客企业服务