程序员|程序员大场面试经验分享,加强基础在所难免。

程序员|程序员大场面试经验分享,加强基础在所难免。

文章图片

程序员|程序员大场面试经验分享,加强基础在所难免。

文章图片

程序员|程序员大场面试经验分享,加强基础在所难免。

关注小编 , 每日分享干货 。

今日跟随小编来看看美团、滴滴、京东三大厂的面试要求及感受(来自之前同事经验分享 , 非小编亲身经历) 。 美团
美团面试很难 。 基本上 , 所有要求的内容都将深入研究原理 。 因此 , 如果您不熟悉该原理 , 请不要主动提出它 , 否则您将为自己挖个坑 。

一面

  • 自我介绍 。 简要介绍自己并把握要点 , 最好不要超过3分钟 。
  • 该项目是否已针对mysql进行了调优?你为什么这么做?
  • 您知道mysql事务隔离级别吗? mvcc懂吗? mvcc解决什么问题?
  • 在项目中使用redis吗?如何使用它?
  • 您对Redis的数据结构了解多少?
  • 常见的Redis问题和解决方案
  • 谈谈跳表和布隆过滤器的数据结构 。 使用场景和好处是什么?
  • Redis集群 , 如何在项目中使用
  • Redis内存淘汰策略
  • juc包下使用了哪些类 , 您是否看过源码?
  • 线程池执行过程
  • AQS原则
  • 手写LRU算法
个人感受
美团部门对技术有很高的要求 。
基本上 , 简历上写的技能要点和项目中使用的技能要点都是要挖掘的原理 , 所以请不要自己挖坑 。 最初 , 采访只是询问redis的基本数据结构 。 您必须提到底层实现 。 然后 , 您必须了解相应的SDS , 跳表和布隆过滤器 , 否则您将被埋在挖出的坑中 。
另外 , 美团面试官在整个过程中都无法通过表情感受到情绪 , 这给人以极大的压抑感 。 因此 , 请提前做好准备 。 当然 , 只要您具备良好的技能 , 这些都不是问题 。
滴滴
滴滴面试整体体验不错 , 但是二面和三面难度较大 。 基本上是一周一面 。

一面
  • 自我介绍
  • 您了解对象类吗?有哪些方法 , 特别是每种方法的作用 。
  • ==和equals有什么区别
  • Java的几个特征 。 继承 , 封装 , 多态并谈论您对它们的理解
  • 告诉我您知道的设计模式以及它们在项目中的使用方式 。
  • 您知道设计模式的8大原则吗?您如何理解开闭原则 。
  • 您了解hashMap吗?底层数据结构是什么?您看过源代码并了解扩展机制了吗?
  • mysql懂吗?索引底层数据结构 , 为什么是B +树 。
  • mysql事务原子性的实现原理
  • 让我们来谈谈juc下的锁
  • 线程池参数及其各自的作用
  • AQS了解吗?说说它的原理 。
  • 手工编写一个字符串压缩算法 。(即aaaabbbbcccc变为a4b4c4)
二面
  • 自我介绍
  • 介绍一个熟悉的项目 , 主要是业务逻辑 。
  • 项目中的困难 , 哪些工作做得不好 , 哪些可以改进 。
  • 设计一个可支持峰值200000 QPS和5000写库操作的系统 。
  • 系统设计中的缺陷在哪里(最后一个问题)以及如何解决 。
三面
  • 自我介绍
  • 介绍做过的最好的项目之一和重点 。 并谈谈细节 。
  • 数据库和缓存一致性解决方案 , 应用方案和不同解决方案的问题 。
  • 设计一个支持100000 QPS的系统 , 以查看当前的Didi驱动程序并查看历史订单 。
个人感受
滴滴的面试在他们的客户服务业务分配部门进行 。
一面都是基础问题略简单(当然一定要基础过关) , 算法也不难 。
但是二面和三面的难度陡增 , 可能和面试职位有关系吧 。 直接要求设计一个支撑具体 QPS、TPS 值的系统 , 这种问题对于没有互联网经验的程序员来说真的很棘手 。 只能按照自己平时积累的关于系统设计的所有点和层面进行分析 , 从服务端 nginx、网关层、应用层、redis 集群、分库分表(运行之后的扩容)各个点去逐个分析了 。
京东
京东有很好的面试经验 , 更注重知识的理解 。 面试官非常善于引导您 , 因此压力并不是很大 。

一面
  • 自我介绍
  • hashMap的基础数据结构 , 即扩展过程 。 条件树 , 如何使用 。
  • 同步和锁定之间的区别 。 每个实现原理
  • 谈论您对原子性 , 可见性和并发顺序的理解
  • 线程有几个状态?讨论线程池的各种参数
  • 什么是jvm垃圾回收算法
  • 您对jvm垃圾回收器了解多少? jdk8的默认垃圾回收器是什么?
  • 在项目中有过进行jvm调优的经验吗?
  • 如果要设计jvm内存管理系统 , 您将怎么办?
二面
  • 自我介绍
  • 告诉我您认为最好的项目的业务逻辑 。
  • 您如何解决项目中遇到的最大问题?
  • 您了解java8的新功能吗?如何在项目中使用
  • 有进行过代码重构吗 , 如何做以及为什么
  • 如何在项目中调优mysql , 让我们讨论一下过程
  • 为什么使用索引会加快查询速度
  • 如何在项目中使用Redis
  • 您了解分布式锁吗?它会使用什么场景以及如何使用它 。
  • 有几个Redis集群 , 如何解决热键问题 。
  • 持久化redis有几种方法 , 原理是什么?
  • 手写演示可以控制多个线程同时执行同一任务 。
三面
  • 自我介绍
  • Spring事务中的bean生命周期Spring事务实现原理 , 什么情况下事务不生效
  • 您了解分布式吗?如何实现 , 各自的优缺点
  • 您是否使用过Java随附的jvm监视工具?您能否谈谈特定的用例?
  • 如何对在线oom进行故障排除
  • 【程序员|程序员大场面试经验分享,加强基础在所难免。】如何在不影响线上系统运行的情况下水平扩展数据库 , 并给出可行的解决方案
个人感受
与美团和滴滴相比 , 京东的面试更加注重您对知识的理解 。 因此 , 以您自己的理解来回答问题 , 除了问题本身之外 , 您还将询问您在项目中使用什么 。

已经就是今日分享的所有内容了 , 希望对程序员的你有所帮助 。
喜欢编程 , 职场 , 圈内新料 。
多多分享 , 转发 。


    推荐阅读