美团到店餐饮SaaS面经(已offer)

一面(4-1)

  1. Java是自学的还是教的,如何自学的

  2. 数据量有多大

  3. 介绍一下加密检索

  4. 对中台的理解

  5. TCP三次握手

    • 追问1: 为什么一定要3次,不能两次

  6. 介绍一下JVM有哪几块

    • 追问1: 哪些是线程私有的,哪些是线程共享的

  7. 了解metaSpace嘛

  8. JVM如何判断对象能不能回收

  9. 重写equals方法时,为什么一定要重写hashCode方法

  10. 介绍一下Java的双亲委派模型

    • 追问1: 类加载器分为哪几类(Bootstrap ClassLoader、Extension ClassLoader、 Application ClassLoader)

  11. Integer a = 128; Integer b = 128; Integer c = 64; Integer d = 64;a==b和c==d分别输出什么,为什么

  12. HashMap会检查冲突吗

    • 追问1: 建一个空map初始容量是多大

    • 追问2: map扩展的规则

    • 追问3: 每次扩容为什么要为2的幂次方

  13. 聚簇索引和非聚簇索引的区别

    • 追问1: 最左匹配原则

    • 追问2: MySQL为什么使用B+树

  14. Redis持久化方式

    • 追问1: AOF需要频繁的写入磁盘,效率是不是很低

二面(4-8)

  1. mysql的默认隔离级别是什么?有幻读问题吗

    • 追问1: RR如何解决幻读问题

    • 追问2: 编码时需要做什么事情来解决幻读?还是Mysql会自己实现

    • 追问3: RR+next key lock通过串行化解决幻读问题的吗

    • 追问4: 如何给mysql加锁(可以在select的最后加一个for update;在select 语句后加上Lock in xxxx mode)

    • 追问5: 什么是幻读?什么场景会产生幻读?

    • 追问6: 删除会出现幻读吗?为什么?

  2. 事务的特性

    • 追问1: 一个事务在修改数据库,一个事务在读数据库,如何保证原子性?(没理解什么意思)

    • 追问2: 操作时先更新数据库,还是先读数据

    • 追问3: 为什么数据库用B+树不用红黑树

    • 追问4: 什么场景适合使用红黑树

    • 追问5: 二叉树和红黑树的区别

  3. A表有5行,B表有10行。A左右连接B表有几行记录

  4. 数组和链表的区别

  5. hashMap的数据结构

    • 追问1: 为什么链表要转换为红黑树

    • 追问2: 100个元素,是否需要扩容?扩容过后是多大

    • 追问3: 为什么需要扩容到256

    • 追问4: 什么时候需要扩容

    • 追问5: threshold是多少

  6. 栈和队列的区别?适用场景?

  7. 线程的状态及转换过程

    • 追问1: blocked可以直接转换为running吗

    • 追问2: 有哪些状态可以转换到销毁状态

    • 追问3: sleep和wait的区别

    • 追问4: notify一定会会唤醒线程吗

    • 追问5: 如何保证notify一定能唤醒线程

    • 追问6: 如何知道notify唤醒哪些线程

    • 追问7: notify是如何唤醒线程的?是唤醒所有线程吗?

    • 追问8: 如何唤醒全部线程

    • 追问9: Java线程的状态

    • 追问10: Time_Waiting和Waiting的区别

    • 追问11: Waiting如何被唤醒

  8. 网络可以分为哪几层

    • 追问1: 你觉得三种分层方式最合理?为什么会出现三种分层方式

  9. Java设计原则有哪些

    • 追问1: 设计模式有哪些

    • 追问2: 工厂模式有哪几种?有什么区别?

  10. 传输层有哪些协议

    • 追问1: TCP如何实现流量控制

    • 追问2: 什么是连包问题

    • 追问3: 接收方缓存满了之后多余的报文会如何处理

    • 追问4: 糊涂窗口综合症及解决方案

    • 追问5: 这些问题在编码时需要注意吗

  11. 冯诺依计算机体系结构

    • 追问1: 每个结构说一下有哪些部件

    • 追问2: 主板属于哪些结构

  12. TCP可以双向发送请求吗

    • 追问1: HTTP可以双向发送请求吗

    • 追问2: HTTP和TCP是长连接吗

      HTTP1.0是短链接的,每次请求都需要重新建立TCP连接,HTTP1.1及以后默认是长连接的,通过响应头的Connection:keep-alive来保证长连接。keep-alive不会永久保持连接,他有一个连接时间,在不同的软件中有不同的大小。

    • 追问3: HTTP如何支持的长连接

    • 追问4: HTTP数据传输的过程

    • 追问5: HTTP如何保证可以一直接收到客户端的请求

    • 追问6: HTTP是串行接收还是并行接收

    • 追问7: HTTP如何知道回复的是哪一部分信息
4-10号OC
4-12号offer
#美团##实习##面经#
全部评论
好快哦,楼主base哪里?
1 回复 分享
发布于 2022-04-12 21:29
感谢分享
点赞 回复 分享
发布于 2024-03-08 19:40 浙江
羡慕
点赞 回复 分享
发布于 2022-05-21 14:32
大哥是985、211吗
点赞 回复 分享
发布于 2022-04-14 00:37
打算去实习吗,可以加个联系方式,一块租房啥的
点赞 回复 分享
发布于 2022-04-13 23:34

相关推荐

码客明:我教你个方法,你和你室友沟通一下告知他这个事情。然后就说导员问我就说,室友已经和导员提前沟通了。最后被查到你就说室友和我说了他已经和你沟通好了我没想到他是骗我的呀!把责任都甩给你室友,当然你出去实习的室友也肯定愿意承担这个责任。
点赞 评论 收藏
分享
各位前辈好,先说声抱歉,可能又是一篇“求骂醒”的帖子,但我真的需要一个方向。我的情况比大多数人都糟糕:双非软件工程,大四,马上毕业了,0实习经历,0工作经验。秋招根本没参加,原因很傻——我一头扎进了一个自己觉得“挺有意思”的项目里,天真的以为把项目做好工作自然会找上门。现在春招也快结束了,我才如梦初醒,发现简历投出去基本石沉大海。我没有什么能拿出手的背景,唯一能说的就是这个从后端到前端全栈独立开发的电影推荐平台。我知道在各位前辈眼里这大概率就是个小玩具,但我确实是下了功夫去琢磨的,它不是什么网上扒的代码,下面这些是我自己琢磨并落地的东西:项目概况:Spring Boot + MyBatis-Plus + Redis + JWT + MySQL + Vue3(前端是AI辅助生成的)我自己觉得花了心思的几个点:1. 推荐算法落地:没有照搬别人的推荐逻辑。我是基于用户多维行为数据(评分、收藏、浏览时长)去计算标签权重,然后用“评分×log(热度+1)”的公式做加权排序;冷启动场景用热门数据兜底。推荐结果用Redis的ZSet缓存,用户行为一变化就主动删缓存触发重算。2. 缓存体系设计:不是那种“面试八股文背完就扔”的表面理解。我实际遇到了缓存穿透和击穿的问题,然后自己用空值缓存+逻辑过期去解决。热门电影定时预热、批量查询用multiGet减少IO次数,还封装了MyCacheUtils通用模板,让整个项目其他模块也能复用这套缓存逻辑。3. 并发与一致性:用Redis的SET NX EX实现了收藏/点赞的分布式锁,key精确到“用户+操作对象”级别,不是粗粒度的一锁全锁。异常回滚时Redis和MySQL数据一致性问题也思考并落地了。验证码的原子性校验用了Lua脚本来保证。4. 性能是真实数据:我用JMeter做了2000并发的压测,引入Redis缓存体系后,推荐接口平均响应从6466ms降到155ms,吞吐量翻了一倍,缓存命中率干到98%以上。这些数据不是编的,是我自己反复调优跑出来的。说实话,做完这些的时候,看着压测报告我是挺兴奋的,觉得“这也算出活儿了吧”。但现实是,0实习好像成了我简历上的原罪,很多公司直接筛选条件就把我过滤了。所以我想跪求各位前辈指点我几个问题,每一条我都认真看、认真执行:1. 关于简历:0实习的应届生,还有资格谈“项目亮点”吗?我这项目,是不是在专业面试官眼里就是一个“低配版培训项目”?如果这个项目还有救,该怎么在简历上呈现,才能让HR或者面试官至少愿意给我一个电话面试?如果没有,一个0实习的应届生到底该在简历上写什么?2. 关于面试:如何用项目细节证明“我虽然没实习但真的能干活”?我挺怕面试官看到我没有实习经历就直接失去兴趣。真到了面试那一步,我该怎么引导对话,用上面这些技术细节去对抗“没实习=没工程经验”的刻板印象?比如缓存那块,怎么从“我解决了击穿”讲出一个有技术判断力和工程思维的完整故事?3. 关于求职策略:错过了黄金窗口期,现在该冲什么样的公司?大厂我肯定不奢望了。现在这个时间点,我应该去投那些小公司和外包吗?要不要把薪资预期降到最低先入行再说?对于0实习的应届生,什么样的公司是真的有机会让我进去学技术、积累经验的?4. 关于未来:如果现在直接找不到工作,我该怎么办?这段时间我想好了,如果实在是找不到研发岗,我要不要去干测试或者运维先入行?还是找家小公司被压榨一年攒个经验?还是干脆先找个其他工作边干边学等下一轮秋招?我什么建议都能接受。我知道自己起步晚了,代价得自己扛。现在唯一能做的就是面对现实,然后找到一条最有可能逆袭的路。希望前辈们能给我指个方向,即使简单几句“没救了”或者“还能救,去做XXX”我都非常感激。
jiestart:这简历肯定没面试的,你得包装个实习再加一个agent项目才有希望
点赞 评论 收藏
分享
评论
7
82
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务