美团客服平台一面,到店广告平台一二面 java开发

双非本科,自学java不到一年,太难了😭,有的问题即使面完下来自己也搞不明白。秋招最好的offer15k

美团客服平台11.24

你的Rpc框架可以拆分为哪几个关键组件 分别实现了什么功能

客户端服务端 还有服务注册中心  spring容器管理模块


我们服务端的所有服务都是注册到zk中的,客户端到zk去拿

zk有公共的节点  根节点是zk全局的root

二层节点是服务名称

三层节点是ip+port

也就是二层是服务名三层是你的服务的位置信息

三层可能有好多节点因为服务端可能有好多服务器 在我的项目我只有一台服务器,生产环境可能有***十台服务器都提供这个服务,这就是分布式,



服务的调用方怎么动态的发现服务的提供方,并且能使调用负载均衡到新的机器上

服务器挂掉了我就更新树形结构当我的客户端再去找树形结构发现改变了

zkwatcher机制 主要就是用了zk的这个能力

zk它会自动的去识别。其实中间应该也是一个心跳检测的过程

负载均衡这里其实就用的i++,比如你通过树形结构,在服务名下面得到了80台机器,我们项目当中模80,生产环境其实我们可以根据机器的性能,负载情况是不一样的,可以进行一个动态的调节


假使rpc服务它的zk挂掉了,他会对我们整个服务的通信造成什么影响?

Netty通信真的依赖zk吗


zk也是有集群的,主节点挂掉了可以从从节点拿到信息,如果集群里只有一个节点,这个东西挂掉了,那我客户端和服务端就没有办法连接,客户端没有办法得到ip地址和port


Netty线程模型 为什么要拆开呀

为什么rpc框架基于注解就可以调到远程的服务的接口

问一个使用细节aop的执行顺序


项目答得不好面试官安慰 直接和我说说说你比较熟悉哪一块吧

下面开始吟诵八股文

算法题leetcode.215(topK)






美团到店广告平台捞

一面50min 12.3

面试官自我介绍


自我介绍

你是物联网专业是吗

实习过吗

怎么看待有的人有更多的实习经验

你平常编码多吗


开始问项目 我做的一个基于spring netty zk的rpc框架

讲一下tcpip拆包粘包问题

你提到了以太网帧的payload大于MTU进行iP分片会产生拆包,这个在tcp这一头协议本身不是已经帮你解决了这个问题吗。

短连接和长连接有什么区别(这些问题都是根据简历里的项目这块你写的东西问的)

三次握手四次挥手

查看socket状态的命令

发现很多socket出现timewait状态,这种是什么原因

tcp和udp的区别

你了解业界其他rpc框架吗,和你的区别是什么

心跳检测机制的时间(我没搞懂想问什么,随便说了一下面试官说好..)

netty为什么性能好

你觉得它基于事件的触发的方式有没有什么缺点

CAP理论zk是什么

数组和链表,arraylist扩容机制,你对于高效使用arraylist有什么建议

了解各个排序算法的时间复杂度吗


支持向量机比感知机强在什么地方(简历写的,因为大二在学ai)

核函数是什么


算法题最大子段和

最长上升子序列说一下思路和优化解法

职业规划,你同学一般也去互联网吗

反问环节感觉你基础挺好的 会给你过



二面50min(估计凉了)12.7

有offer了吗

看你没实习过为啥

框架主要实现了哪些功能啊

面试官想问我是怎么做的因为看起来还是非常专业的这些东西

主流的rpc是怎样做的

什么情况下要用rpc(答屏蔽底层细节,使调用原程的方法像调用本地的一样)

怎么来实现这一点呢,比如一个rpc的方法它包含哪些过程

那这里面netty体现在哪

你刚刚讲到他可以解决阻塞调用的问题,怎么做到不阻塞的,阻塞是阻塞在哪(扯了一下bio nio几种io模型)

你刚刚提到用户线程和内核线程,那么在整个rpc过程中哪个是会切到内核线程

(其实这会已经比较懵了项目掌握的不够彻底 想自己挖掘一些底层又不能搞得很清楚)

ok那我想问一下这个问题啊,你这个rpc框架里面实现了netty的这种非阻塞吗,那我有一个问题你怎么去匹配你这个处理的线程和你的连接的关系呢

先回答这个问题有发生 线程切换吗

因为你之前好像也提到过接受连接的和实际去处理的肯定不是一套线程池对吧那你是怎么管理连接和处理 他们之间的关系的。比如我有十个client我都给你发请求,那你分别去处理,处理完了后你要把内容返回给这十个client是吧,那你怎么去匹配这个关系呢

(没搞懂瞎扯了一下netty线程池 这个问题跳过了)


你这个rpc框架写在哪儿的,有测试过吗,它的性能数据取决于哪些方面呢

你用的哪个gc

诶你知道jdk现在是第几个版本了吗,你用的什么

jdk8新特性


算法题在转动过的有序数组中寻找目标值

如果有重复值怎么办

算法题答的也一般估计凉了


后面的两次面试都没怎么问八股文可能是因为第一次面的时候已经说了很多?

#Java开发##面经##Java##校招##美团#
全部评论
楼主面的是上海的广告部门吗
点赞 回复 分享
发布于 2021-12-09 10:35
和往常的rpc面试题不太一样😷
点赞 回复 分享
发布于 2021-12-07 17:18

相关推荐

03-19 14:14
门头沟学院 Java
面感很好,面试官很亲和,不会的也不会深挖拷打,but感觉自己会凉1.简历上的两个项目上线了吗2.你负责的第二个项目内容是哪一块3.Redis里存分类信息是哪种数据结构?答的String4.为什么用String而不考虑用其他的结构比如set?5.怎么解决数据库和Redis数据一致性问题的6.如果更新数据,Redis写入了,写数据库的时候失败了,怎么解决?(没答出来,狂扯redisson读写锁数据一致性)7.说一下Redis集群和Redis主从8.说一下项目里的策略模式9.说一下你用布隆过滤器的工厂模式怎么做的10.防重Token和Lua脚本进行幂等性检验是怎么做的11.防重Token具体是怎么是实现的?12.第一个项目里有Kafka,配置的时候需要什么参数?不清楚,说了为什么用Kafka不用rabbitMQ13.说一下rabbitMQ事务?(自己把自己绕坑里了,没答出来)14.熟悉Linux命令吗?15.说一下MySQL索引16.说一下聚簇索引和非聚簇索引的区别17.非聚簇索引为什么查特定列很快?(其实是就是问B+树结构)18.项目里的库表是你自己建的吗?)不是算法题:1.滑动窗口最大值    2. 最小覆盖子串做完第一道hard感觉自己还是可以的,结果面试官说来来来我们再做一道,一看又是hard眼前一黑,说话都不自信了。第二道给面试官讲思路对了,但是代码有点问题测试结果不对,最后面试官说时间差不多了就到这吧
查看19道真题和解析
点赞 评论 收藏
分享
评论
2
24
分享

创作者周榜

更多
牛客网
牛客企业服务