得物Java一面(之前发错号了)

先简单聊了两句,交代了一下大致需要的时间,然后就直接步入正题了(面试官人超级nice)

1. 从项目开始问,看到我用了Netty,问我怎么用Netty来做RPC框架

    我介绍了一下我用Netty的原因和使用场景(跟设备保持长连接用),没有做过RPC

2. 针对项目,问了我关于Netty的一些细节

3. 之后聊到了数据库设计的一些细节,比如数据量多少、我是怎么设计的等等

4. 然后讨论了一下我本科期间那个项目,看我用了Docker,然后问我对Docker了解多少

    没了解多少hhh,只记得为啥要用Docker了(移植快、部署方便、方便扩容缩容、开发和部署可以平行移植环境等等)

    面试官也说 以前他也蛮喜欢Docker的,可惜(哈哈哈哈哈)

5. 场景题1:你在家里用浏览器访问www.baidu.com的过程是怎么样的

    先是输入网址,按下回车, 浏览器发送请求到DNS服务器,DNS服务器解析出IP地址,然后访问对应的服务器,服务器可能还会有重定向,然后就是和服务器建立TCP连接,发送http/https请求,然后服务器返回数据,浏览器解析页面。

中间面试官问了我一下,浏览器怎么知道你按下了回车,给我愣了一下。

我回答,大概是监听的机制,通过监听我按下哪个键然后做出对应的操作

6. 场景题2:如何设计一个排队系统(商场饭店的那种排队取号系统)

    首先确定了一下场景,是面向单个店还是面向整个区域(确定了是区域),然后说可以用队列的形式存储每类桌子的排队情况,再开一个叫号的队列,把排到的号子移到叫号队列中进行广播。

6.1. 如果数据要刷盘的话要怎么设计表结构,就假设我们用MySQL好了

    首先我确定了一下分表的原则,先说了按照商家来存储的话,可以每个商家开一个表存,但是考虑到每天可能都有新店进来旧店出去,会频繁新建和删除表,不现实。后来我说按照时间分表可能更合理一些,这样的话就要新建一个商家表来存商家的信息(比如uuid、店名等其他信息),再开一个按日期分表的订单表(或者排队表),记录排队的uuid、对应的店家、排队号、开始时间、结束时间等

7. 问了我本硕期间那么多专业课最喜欢哪个

    数据结构+算法(笑)

8. 反问环节

总时长大概在25-30Min左右,和最开始面试官跟我说的时间差不多。

期待二面

#得物##得物面经##得物面试##java校招##得物信息集散地#
全部评论
同学有netty、rpc相关知识,可以考虑下我们阿里中间件团队,我们有Java丰富的中间件、运行时生态,相信不会让你失望:https://www.nowcoder.com/feed/main/detail/2d96a9d8d2ac4097bdcc68a8c4e3c845?sourceSSR=users
点赞 回复 分享
发布于 2023-08-29 09:40 浙江

相关推荐

Aki-Tomoya:窝趣,人家这是先富带动后富,共同富裕了属于是
投递英伟达等公司8个岗位
点赞 评论 收藏
分享
评论
4
32
分享

创作者周榜

更多
牛客网
牛客企业服务