美团-到家-面经
美团-到家-履约一面-0325 15:00-15:50 (0409 意向书get)
- 自我介绍
- 项目挑一个讲,快手的hudi技术选型,hive与hudi的对比(计算、存储成本、用户时效性),hudi缺点(稳定性)
- mysql索引的优化(讲了联合索引注意点,以及索引字段的3点讲究:常作为条件、不常修改、区分度高)https://tech.meituan.com/2014/06/30/mysql-index.html
- 联合索引讲讲
- ES与mysql的对比与使用场景(答了分布式,分片,模糊搜索)
- jvm问了下内存模型?为什么不全用JIT,而是JIT和解释器共存呢?(热机与即时性)年轻代的结构,GC的场景,啥时候进入老年代(年龄+过大),Eden满),啥时候YGC?如果YGC后仍然存活很多怎么办?答看对象生命周期以及调Y区大小
- hashmap的put过程,juc的怎么保证安全?下标的定位,hash过程,rehash
- TCP UDP
- 代码题:二叉树的bfs,秒了
- 比较尬的是我以为是拼好饭二面,就说拼好饭咋咋,面试官一脸懵逼说他们是做履约的,负责骑手调度。我心想这比拼好饭好多了hh,正好不想去拼好饭,表示了对业务的肯定很感兴趣。原来美团一个志愿居然可以安排多个组面试吗hh,长知识了。又问了下流程,一般是技术二面,没HR面
美团-到家-履约二面-0401 19:15-20:15
- 自我介绍
- 说说优缺点,并举例佐证一下。怎么体现学习能力,乐观呢(笑,有点压力啊,汗流浃背
- 说一下C++和Java各种语言的区别?答了内存管理、垃圾回收、指针、多继承、JVM跨平台、Java生态。。
- 说下快手的项目,参与部分与难点
- *说下hudi与hive区别,mysql区别。主要说了OLTP,OLAP,mysql事务,CRUD,数据量等。面试官建议这一块需要加强理解,不过他说不太深入也正常
- 如果你自己设计一个延迟队列你怎么设计呢?讲了时间戳以及小根堆,追问性能?
- 讲讲时间轮的几种实现?MySQL、Hive 和 Hudi 是三种不同的数据存储和处理技术,各自适用于不同的场景和需求,以下是它们的主要区别:
- mysql的MVCC了解吗?八股有一阵子没背,这块儿差点都要忘了
- 说下TCP和UDP的区别
- 说下BIO和NIO的区别?讲讲NIO,用过Netty吗?
- 写道算法题:最小路径和(***********************************************************)不难,但今天差点翻车。。边界处理有点慌,最后总算是过了用例,面试官还问复杂度?n*m,能优化吗。。感觉不能了。今天面试最高心率都超130了很怪。
- 面试官主动介绍起了团队的业务,还问我对base地有要求吗,以及在快手没考虑转正吗。自我感觉总体应该还行吧,希望能oc了
- 反问:有后续的话,进来实习对我有什么建议吗?说觉得我自驱力很强,就是各种中间件的区别和原理可以再了解深入些,不过实习生也正常。
- MySQL:
- MySQL 是一种关系型数据库管理系统(RDBMS),常用于存储结构化数据,并提供了 SQL 查询和事务处理等功能。
- MySQL 采用 ACID(原子性、一致性、隔离性、持久性)事务模型,支持多种数据类型和索引类型,具有较好的数据一致性和可靠性。
- MySQL 可以在单机或者分布式环境下部署,并且可以通过主从复制、分片等方式实现高可用和高性能。
- Hive:
- Hive 是一种基于 Hadoop 的数据仓库工具,用于在 Hadoop 上执行 SQL 类似的查询操作,适用于大规模数据的批处理和分析。
- Hive 使用类 SQL 查询语言(HiveQL)来操作数据,将查询转换为 MapReduce 作业或者 Spark 任务进行执行,可以处理 PB 级别的数据。
- Hive 通常用于数据仓库和数据湖等场景,支持数据的存储、管理、查询和分析,并提供了丰富的数据格式和压缩编码等功能。
- Hudi(Hadoop Upserts Deletes & Incrementals):
- Hudi 是一种分布式数据湖技术,用于实时大规模数据的增量更新、删除和查询,适用于大数据湖架构和实时分析场景。
- Hudi 提供了一种基于列式存储和写时复制的数据存储和管理方式,支持 ACID 事务和增量数据处理。
- Hudi 可以与 Apache Spark、Apache Flink 等大数据处理框架集成,实现实时数据流处理和交互式查询。 综上所述,MySQL 主要用于关系型数据存储和管理,适用于结构化数据的存储和查询;Hive 主要用于大规模数据仓库和数据湖场景,适用于批量数据处理和分析;Hudi 主要用于实时数据湖和大数据流处理场景,适用于增量数据更新和实时查询。三者在数据处理方式、数据规模和应用场景等方面有所不同,各自具有自己的优势和适用性。