2021Java 开发现状分析,Java 中级笔试题百度文库
美团面试经历(还原最真实的 4 面)
美团一面:
1、自我介绍
2、聊项目相关
介绍项目
怎么保证 redis 与 Mysql 的数据一致性
见你写了个加随机数预防缓存雪崩,解释一下
未改进和改进后的 Jmter 测试性能对比
3、Redis
为什么选择 Redis 作为缓存?
为什么 Redis 的性能十分的高?
说一下单进程、单线程的 Redis 和你平时写的多线程程序的对比
如何保证 Redis 的高可用?(哨兵、持久化策略 RDB、AOF)
解释一下哨兵、RDB、AOF
主从一致性
Redis 数据淘汰策略
能说一下分布式事务吗?
setnx 是事务吗?
4、Mysql
解释一下事务
讲一讲事务隔离级别
为什么使用 B+树作为索引
聚簇索引和非聚簇索引的区别
5、Java
Java 是如何保证其安全性的
刚见你说了 Java 内存泄漏问题,解释一下什么情况下会出现
说一下 BIO、NIO、AIO
6、手撕算法
一个数组找出出现次数最多的一个数,如果多个数出现的次数相同则输出第一个
生产者消费者(一对一)
7、其它
平时怎么学习的
有什么需要问的吗?
美团二面:
1、手撕算法
10 个多线程保证 i 从 0 加到 10 (差点翻车,主线程忙等另外 10 个线程完结)
反转链表
上台阶(n=80)
2、操作系统
常用的 linux 命令说一下
操作系统中的信号 和 信号量有什么关系
epoll 和 Selector 有什么区别?
3、计算机网络
说一下拥塞控制
4、数据结构
说一下红黑树,你平时用的技术哪里用到了它?
哈希表怎么处理冲突?
5、项目相关
把项目放到服务器上运行的时候有没有遇到什么问题?查看项目运行的状态怎么做?
spring 和 springboot 的关系你是怎么理解的?
Spring IOC 和 AOP 说一下你的理解
为什么用消息队列?
对于消息的重复消费你有什么设计方案吗?
美团三面:
你怎么学的 Java 啊?
设计模式了解吗?单例讲一下,懒汉饿汉 double-check,怎么实现。策略模式,外观模式,适配器模式,装饰器模式,分别讲一下
联合索引什么时候不会触发索引?
AOP 了解么,有什么好处,如何使用,怎么实现的?
支付宝到银行的转账业务怎么实现?
redis 实现分布式锁
三台机器集群,按不同权重访问,怎么做?
美团四面(hr):
先介绍一下你自己吧
说一下四种 IO 模型
平时怎么去学习的?
为什么你说学习了要去实践?
说一下的最大的优点和缺点
举一下你缺点的例子
想象一下你几十年后是怎样的生活?
你觉得最痛苦的一段时间
对你影响最大的一件事情
在安排活动的过程中有没有发生什么冲突?
你有什么崇拜的人吗?
你有什么想问的?
总结
三个工作日收到了 offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】
第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题 LeetCode 中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题 LeetCode 中文版》总共有 15 个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有 23 个章节:
第二个是 Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
第三个是网络(给大家看一本我之前得到的《JAVA 核心知识整理》包括 30 个章节分类,这本 283 页的 JAVA 核心知识整理还是很不错的,一次性总结了 30 个分享的大知识点)
评论