2024年双非硕士校园招聘(网易、百度、中兴、滴滴、联想、字节)面试经验分享:从面试流程到常见问题解析
作为一名2024年的应届双非硕士,我最终签约于杭州的一家国企(某研发中心)。虽然这也算不上绝对的成功,但我参与了数十场面试,时间跨度从去年的6月到11月。以下是我总结的一些富有代表性和深度的面试问题,期待这些经验能够帮助大家顺利找到适合自己的工作。
网易
第一面试环节
- 线程池的核心线程数是如何设定的?(扩展:那么最大线程数又是如何设定的?)
- nacos与zookeeper的区别及各自的优势是什么?
- 你是否使用过配置中心?
- 了解CAP定理吗?nacos和zookeeper分别属于CP还是AP,为什么?
- 你是否了解过Dubbo版本的迭代历史?
- 请写一个SQL查询,找出信息表(name, object, score)中总成绩大于90的学生信息。
- 请谈谈缓存击穿问题,你会如何解决?
- 如果redis中有上万条数据,你会如何更快地进行查询?(不考虑二分查找)
- git cherry-pick的用途是什么?
- 什么是逃逸?是否所有对象都在堆上分配内存?
第二面试环节
- 请进行自我介绍。
- 简要介绍一个项目。
- 为什么ES检索的速度会比MySQL快?
- 请简单描述一下Dubbo及其作用。
- 除了Dubbo,你是否会使用其他类似的工具?请简单介绍一下。
- Dubbo的网络层是如何实现的?如何实现自定义协议?
- 请简单描述TCP的拥塞控制及其目的。
- Java中的Map有哪些实现?
- 你了解TreeMap吗?它是如何保持Map中键的有序性的?
- 请解释CPU利用率的含义及其解释。
- 如何确保某台机器上的CPU利用率保持在60%?
- 死循环时,CPU利用率会是多少?
- MySQL事务的实现方式是什么?
- nacos与zookeeper的差异。
- 你最近读过哪些书?
- 是否关注过一些新技术?
- 有什么问题想要反问我?
百度
提前批第一面试环节
- 请简单介绍一下七层网络与四层网络的区别。
- 四层网络中常见的协议有哪些?
- UDP与TCP的区别是什么?
- 模拟TCP建立连接的场景问题。
- SQL语句的执行过程是什么?使用什么命令查看执行状态?
- Redis中有哪些常用的数据结构?
- 请设计一个签到系统,并解释位图压缩的方法。
- Redis的持久化操作方式是什么?
- 在Linux中,如何查看资源配比?(使用命令如top及load average)
- 如何查看Linux的磁盘/文件使用情况?(使用df和du命令)
- 请讲解Redis分布式锁的机制。
- MQ中的延时队列是如何实现的?
- 给定有序数组,找到目标元素的起始与结束下标(使用二分法,需要递归)。
中兴
第一面试环节
- 请提供在校成绩及六级成绩。
- 请解释多态的概念。
- 你对多线程有何认识?
- 什么是抽象类?它的特点是什么?
- 请讲解Python的可变数据类型与不可变数据类型的区别。
- Redis有哪些显著特点?
- 列举几种进程间通信的方式。
- 实现互斥的方式有哪些?
- 通过学生表与成绩表找出排名前10的学生姓名。
- 关于奖项情况的相关问题。
- 请谈谈你在其他公司面试的经历。
- 你有什么问题想要反问我?
滴滴
第一面试环节
- 请进行自我介绍。
- 请描述秒杀的流程。
- 如何防止超卖现象?
- 请解释分布式锁(如redission)相关内容。
- 超时未支付的处理方式,例如使用延时队列依赖于死信队列。
- Redis中的常用数据结构。
- 你了解bitmap吗?请描述它的常见应用场景及优势。
- 请解释缓存雪崩、缓存击穿与缓存穿透的区别。
- 如果热点key过期,如何确保用户不察觉查询数据库的过程?(使用双key等方法)
- Redis sentinel的作用是什么?
- 主从切换的原因是什么?
- B树与B+树的应用场景比较。
- NOT IN条件是否一定走索引?
- 请解答一道算法题。
联想
第一面试环节
- 请进行自我介绍。
- 你的籍贯是哪里?
- 为什么选择在天津工作?
- 你是否有其他正在投递的公司?
- 对于互联网或国企,你的倾向是什么?
- 请介绍一个项目。
- 你在哪些方面进行了调优?
- 请讲解RabbitMQ的异步与削峰机制,以及如何保证消息的顺序消费。
- Redis如何防止超卖现象?
- 为什么选择Redis+Lua而非Redission?
- 你了解Redission吗?(守护线程的概念)
- QPS提升2.1倍的含义?
- MQ如何提高QPS,为什么会提升80%以上?
- MySQL的吞吐量。
- QPS与TPS的区别。
- 请解释缓存穿透与缓存击穿的概念,以及布隆过滤器的使用。
- 类加载机制的概念。
- 垃圾回收器的算法,尤其是G1的特点。
- 标记复制与标记整理哪个会产生内存碎片?
- 请讲解AQS的概念。
- 索引失效可能出现的场景。
- MVCC解决了哪些问题?
- MQ消息积压的原因与解决方式。
- 在Linux中使用哪些命令?
- 分布式事务是如何处理的?
- 为什么网络通信中使用三次握手与四次挥手?
- 请描述责任链模式与策略模式。
- 在git中如何创建分支?
- 如何防止超卖现象?
- 请设计秒杀场景。
- 反转链表与旋转链表的实现。
字节跳动
提前批第一面试环节
- 请进行自我介绍。
- CSDN通常会发布哪些内容?
- 作为研究生,选择Java后端的原因是什么?
- 在电商系统中遇到过哪些场景?是否有实际的开发经验?
- 使用RabbitMQ如何优化Redis?为什么引入RabbitMQ能够提高速度?
- 如果不使用RabbitMQ,实际操作会如何进行?
- 说明一下超卖的实现过程,以及用户排队页面的表现形式。
- JVM内存模型中,哪些部分是公有的,哪些是私有的?
- 堆的作用是什么?
- 创建对象是否一定在堆上进行?每次创建对象都是在堆上申请内存吗?
- 常量池放在方法区与堆上的区别是什么?如何影响GC的轻量回收?
- 多个线程创建对象时,如何实现线程安全?
- 请讨论Paxos与Raft算法。
- 请给出小于N的最大数的定义。
- 你还有什么问题想要反问我?
提前批第二面试环节
- 请列举比较常见的树及其应用场景。
- 不同生产环境需要采用不同的树(如数据库索引中的B+树对比其他树)。
- HashMap在什么条件下会使用红黑树?(树化条件)
- HashMap为何不考虑使用AVL树?(AVL性能开销较大)
- Redis中的HashMap是如何实现的?
- 设计一个MQ会具备哪些特性?(解耦、削峰、异步等)
- MQ如何设计以支持大量请求的存储能力?(采用循环的策略)
- Redis中预减库存的实现方式是什么?
- Redis已扣减库存,但最后未能发货的情况如何处理?
- 如何衡量系统的性能?
- 如果压测未达到预期,如何检查和优化?
- 你的项目是否使用Redis集群?
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果