校招 未知部门 / 数据 / 一面/二面

[面试日期] 2024-04-08 [面试时长] 未知
[学校背景] 厦门大学 | 985 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>蚂蚁暑期一面 二面 面经</h2> <h2>一面</h2><p>4.2 国际事业群,45min,追着项目问八股,没有手撕。忘记录音了,只能尽量回忆</p><ol><li> 自我介绍</li><li> 问项目里下订单的接口是如何优化的(Redis缓存+MQ异步)</li><li> 接着问如何保证缓存数据库一致性、如何保证微服务模块间数据一致性</li><li> 分布式session登录咋实现的</li><li> 接着问RocketMQ事务消息的一些细节,模拟了一些场景进行拷问,比如第二条半消息发送失败但事务已经提交时MQ可以采取哪些措施</li><li> 问项目为啥用了MySQL还要用MongoDB</li><li> 问项目SQL优化(我直接说没写SQL语句,直接用了持久层框架,优化数据库查询全考加索引,面试官说没关系加索引可以解决9成问题)</li><li>接着问MySQL索引(问到我擅长的部分了,直接从索引的作用、加索引技巧、索引的数据结构、使用索引的注意事项等等方面开讲)</li><li>问项目里用的DDD领域驱动设计是啥,面向对象的满血模型是啥(因为简历写了这个,学校老师教的东西)</li><li>Java多线程了解吗?线程池的有哪些重要参数?</li><li>接着模拟场景拷打线程池的使用细节(涉及到线程池的饱和策略、线程池处理任务的流程)</li><li>从操作系统角度讲,创建新线程和加入等待队列哪个开销更大?(当然是创建新线程)那为什么线程池直接给了线程而不是先进等待队列?(因为线程池就是解决这个问题的,线程池会<span>重复利用已创建的线程降低线程创建和销毁造成的消耗</span>)</li><li>两个线程让一个全局整型变量+1,会有哪几种结果?如何实现同步?</li><li>算法:长度101的数组里有101个1-100的数,其中有一个数重复两遍,你如何找到它(原地哈希)</li><li>算法:链表如何判环?(双指针)环的长度怎么求?(指针两次相遇之间计数器的变化)</li><li>1吨100元纸币和100吨1元纸币你选哪个(喵喵喵???)</li><li>反问</li></ol><p>结局:面完不到俩小时就约二面了,真效率</p><p>总结:感觉面试官很喜欢从场景的角度来问技术问题,而不是让我框框背八股,他认为知道一个技术怎么用、为什么要这么用、能解决什么问题比背诵原理更重要。</p><h2>二面</h2><p>4.7 没手撕,主要问项目,但是被说项目没有亮点,没有实习经历,我说完项目就准备挂我了,然后象征性地问了两个八股</p><ol><li> 什么是线程死锁(幽默面试官,你要招有实习经历的实习生,但我是来刷实习经历的,这不就死锁了吗)</li><li> MySQL索引</li></ol><p></p><p>第二天收到感谢信</p><a>#找实习多的是你不知道的事#</a>
AI 推荐面试题