3.27-字节跳动服务器开发一面-70min(已过)
- 先做个自我介绍吧
- 都学了什么课程呀?主修Java,有没有学过其他语言?
- Java里面的垃圾回收是怎么做的?
- Java的多态是这么实现的呢?
- 你说的是用法,不是原理,它在语言层面是怎么实现的这个事情的?有没有了解Java实现这个事情的时候是怎么处理的?它编译运行的时候是怎么处理这个事情的?
- 有学编译原理之类的课程吗?
- 操作系统学了哪些内容?
- 有用过linux吗?
- 写过网络编程的程序吗?
- 说下poll和epoll?
- 用它们写过程序吗?
- 那你说一下这个rpc的这个项目吧
- 那你网络协议是怎么定的呢?
- 你在选择序列化方式的时候是有哪些考虑?
- 你有测试过这些序列化方式在序列化相同的消息的耗时和序列化后的体积大小吗?
- 你是会发整个对象过去吗?还是只是发一些数据过去?
- 我的意思是你序列化的物体是一个数组?还是字典?还是一个对象?
- 你这里用到了随机权重和一致性哈希,这两个算法是用在什么情景下?
- 你在写业务的时候,什么样的情况下你会使用随机权重?什么样的情况下你会使用一致性哈希?(他又问了一遍,我又答了一遍)
- 容扩容灭有试过吗?有去试过增加或者减少一些节点之后观察它的效果是怎么样的吗?
- 你在增加节点或者删除节点的时候都做了哪些处理?
- 我看你这里写到了自动服务扫描和注册,也就是说增加节点或者删除节点的处理都是可以自动完成的吗?
- 节点变化是怎么同步到调用者的?
- 你每次调用都要去注册中心拉取节点列表吗?能优化一下吗?
- 介绍一下工厂方法模式吧
- 你是在哪个情境下用到了这个模式?
- 这里我看到你这个***项目,你可以介绍一下吗?(课程实训项目)
- 你带领一个班做的话,你是核心吗?你主要承担的角色和做的事情是什么?大概有多少人参与?
- 你这个项目里面你觉得有哪些技术点是可以说一说的
- 我看你用redis做中间件解决重复提交的这个可以说一下吗?
- 那如果不用redis,你还有什么方法实现吗?
- redis底层的框架你知道吗?它内部结构是怎么样的?它是怎么实现这件事情的?它的分布式结构是怎么样的?(他一次问了四个,后面才知道他想问的是集群)
- 简单说一下redis 的分布式锁的实现吧
- 那一个节点在上锁之后解锁之前挂掉了怎么办?
- 简单问个算法题吧,最长公共子序列可以怎么做?简单说下它的递推公式是怎么样的
- 我想问一下你的这个专业排名怎么样?
- 你说你带着你们班的同学一起做项目,你在遇到分歧的时候是怎么协调解决的?有什么经验可以分享一下?
- 那你觉得大家一起写项目和你自己写项目,有什么区别和感受?你更愿意怎么样?
反问:
- 以您的角度来看,您能给我一些建议吗?
- 部门使用的语言和技术栈是什么?
- 能简单聊一聊游戏服务器开发是做什么事情的嘛?
追问:
- 平时爱玩游戏吗?
- 你居然还玩war3?平时是一个人玩还是联网玩?
- 玩什么图?是RPG还是剧情?