mysql多线程java_抖音四面,复盘总结48题:Java基础+Spring+多线程+算法+MySQL+分布式...

Java岗面试的重点:

数据结构与算法,JVM内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring框架:分布式相关:Redis缓存、一致Hash算法、分布式存储、负载均衡等,微服务以及Docker容器等

面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。

一面 (一个小时十分钟)

1.自我介绍

2.说说B+树和B树的区别,优缺点等?

3聊聊Spring,主要IOC等等

4多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等

5.锁的概念,锁相关的关键字,volatile,synchronized。还比较了ReentrantLock与synchronized。

6.你了解哪些收集器?CMS和G1。详细谈谈G1的优点?什么时候进行Full GC呢?

7.Spring中涉及的一些设计模式

8.算法题:无序数列中求第k大的数(维护最小堆,然后依次遍历,与堆顶比较)

9.MySQL创建索引的原则,好处

10. 怎么实现一个线程安全的计数器?

二面 (四十多分钟)

1. 设计模式:讲了单例,工厂方法,抽象工厂,策略模式,观察者模式,代理模式,还顺便讲了下spring动态代理的实现原理

2. 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?

3. HashMap的底层数据结构

4. 红黑树的具体结构及实现,红黑树与查找树的区别体现

5. 接着聊ConcurrentHashMap,底层实现

6. HashMap哈希函数的认识,JDK1.8采用的hash函数

7. 数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点

9. TCP三次握手四次挥手,四次挥手过程中服务端的哪几种状态,哪几种包

10. 已经有一个查询好友的接口,设计一个微信朋友圈,可以实现发表朋友圈,添加评论,查看评论等功能。主要是设计数据结构

三面 (50分钟:主要分布式这块)你对快手的了解,和抖音的区别,聊项目

项目中用到dubbo?那你说说什么是rpc框架?和http调用的区别是什么?

Redis有哪些数据结构?持久化方案和区别?

Redis哨兵、集群的设计原理和区别?

Redis缓存和数据库会存在一致性问题吗?怎么解决

Kafka怎么保证数据可靠性?讲了生产者端发送消息到broker持久化,分区和副本机制,消费者消费消息的at-least-once和at-most-once?怎么实现Exactly-Once?

HR面:你个人的最大的缺点是什么?

在工作中和生活中遇见最大的挑战是什么?是如何克服的?

未来有什么规划?

平时有哪些兴趣爱好

常规的面试流程了,主要就是自己优缺点,以及未来的职业发展,以及薪资这块。以上就是抖音四面题目,以下是总结出来的大厂经典面试题目及答案,内容涵盖: Java,MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL.Spring.Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈,有需要的朋友可以直接【看Up主主页添加小助理VX】即可!a9f8222307e92a6243f16d329dea5297.png

大量pdf学习文档 :

5f338e32db0402e3a7232aed6dd1e406.png有想获取面试题、pdf文档的朋友,直接【看Up主主页添加小助理VX】即可!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值