天天看点

2021金三银四 Java面试

面试:人人网(Java武汉)

时间:2021-03-19

笔试两道算法题

算法1: 长度为1000万的字符串数组,要求去除重复字符串,并以首字母大写其他字母小写输出。

例如:[“Wuhan”,“nanjing”,“Shang Hai”,“Nan jing”]

输出:[“Wuhan”,“Nanjing”,“Shanghai”]

算法2: 比较版本号大小(LetCode 165原题)

面试:

1.ArrayList 和LinkList区别?

2.redis底层数据结构?(不是让你介绍5种数据类型,而是回答5种数据类型底层数据结构实现)

3.redis宕机后数据恢复?(知识点:AOF和哨兵)

面试:盛天网络(Java)

1.redis锁怎么实现?

2.redis持久化?

3.基于redis设计奖牌榜需要考虑哪些?

4.RocketMq如何确认消费成功?

5.rocketmq如何避免重复消费?

6.Spring框架相关问题:方法B上使用@Cacheable注解,方法A对B调用,会读取缓存吗?

7.在方法B上加@Transactional,方法A对B进行调用,事务是否有效?

8.小程序事件通知是如何实现?

面试:腾讯云(Java)

1.mysql索引类型

2.mysql性能优化如何设计?

3.什么情况下出现内存溢出?

4.介绍下线程创建方式?

5.HashMap和HashTable区别?

6.说说对mysql索引的理解?主键索引和唯一索引、普通索引的区别?

7.mysql锁的理解?行级锁死锁的理解?

8.mysql性能优化的理解,需要考虑哪些?

9.explain执行计划介绍?

10.讲下mysql主从复制过程?

11.redis使用,有哪些数据结构?

12.讲下分布式锁实现?

13.redis持久化策略?

14.redis集群部署方式?

15.Time_waite发生在TCP哪个过程?

16.IPv4是多少位?

17.http和https区别?

…面了不超过20min,gg…剩下内容想不起来了

面试:青藤云(Java)

1.synchronized和reentrantlock的区别?synchronize如何使用?

synchronize在静态方法和非静态方法上使用有什么区别?

2.RocketMq和RabbitMq区别?为什么RocketMQ能支持更高的并发?

3.RocketMq如何保证消费者成功消息?

4.RabbitMq死信有了解吗?介绍下?

5.Mysql所的类型?分别介绍下行级索、表级索、页面索的作用?

6.介绍下索引类型?为什么B+数效率更高?(这里给自己挖了个坑,介绍B+树特性时候很索引引擎特性搞混了,说B+树支持事务,gg…)

7.Git中reBase是做什么的?cher-Pick做什么用的?

8.介绍下JPA使用中N+1问题?

总结:基础知识了解不够深入,最近面试了5家公司,高频面试题:MQ-持久化、高可用、如何判断消费者是否消费成功、死信…

Redis-持久化、一致性、高可用、锁…

Mysql-索引、锁、索引的效率、事务

Spring-事务、缓存、AOP

JPA-N+1问题

计算机网络-七层结构、三次握手/四次挥手

##腾讯云 40min

1.项目架构介绍?

2.HashMap为什么线程不安全?

3.ThreadLocal底层实现?

4.介绍下缓存雪崩,缓存击穿,缓存穿透?如何避免?

5.redis分布式锁如何实现?除了setnx还有其他的方法没?JAVA代码如何实现一把分布式锁?

6.Mysql联合索引什么情况下会失效?

7.Mysql分库分表如何实现?

8.介绍一下Tcp三次握手?

9.介绍一下Spring, Spring Mvc ,Spring Boot, Spring Cloud?

10.线程池如何实现线程数量?

11.ELK的组成,分别介绍下?

算法题:整数数组,找出并返回能被3整除的元素最大和?

##科大讯飞 30min

1.介绍一下项目架构?

2.Hashmap底层实现?为什么用红黑树?

3.ThreadLocal底层实现?

4.缓存击穿和缓存穿透区别?

5.count(*)和count(1)的区别?

6.自增主键和uuid主键区别?

7.项目中遇到的难点?

8.常用的数据类型有哪几种?

9.int占几个字节?

10.java介绍下常用数据结构接口有哪些,分别有哪些实现?

11.SpringMVC的理解?它和SpringBoot有什么区别?

联影医疗

1.StringBuilder和SringBuffer区别?是否现程安全?

2.java中实现锁的方式?Synchronized,ReentrantLock 对比?synchronized是公平锁吗?

3.ArrayList是否线程安全?列举一个线程安全的List类(vector)

4.三个线程同时向ArrayList写数据,会出现什么情况,如果解决?

5.Springboot底层进行容器注入实现?

6.nacos配置中心加载原理?如何实现热启动?

旷视科技

1.redis分布式锁怎么实现的?

2.redis进行rdb持久化时时同步还是异步的?

3.redis如何保证高可用?

4.redis内存淘汰策略?哪三种?(实际上时没有使用到定时策略)

5.synchronization和ReentrantLock的区别?底层时怎么实现加锁的?

6.阻塞队列有哪些?分别试用哪些场景?

7.ArrayList扩容过程?

8.setnx和setex区别?

9.如何实现一个分布式锁?

10.索引有哪些数据结构,B树、B+树、Hash索引分别适用什么场景?

11.介绍下SpringCloudAlibabab?它与SpringClould有什么区别?

12.介绍下服务发现的原理?

13.介绍下nacos如何实现服务注册?

14.分布式事务实现方案?介绍下过程

15.SpringBean是单例还是多例?

16.介绍下设计模式?应用场景?简单工厂和抽象工厂有什么区别?