京东
一面
- 项目,RPC具体怎么实现的,服务怎么注册和服务发现,服务端怎么调用相应的方法,负载均衡策略,用的什么协议
- java和go的区别
- CAP原理,ZooKeeper满足什么,顺序一致性是怎么保证的
- MySql索引
- 希尔排序
二面
- RPC的一致性哈希怎么做的,虚拟节点有什么用(解决数据倾斜),除了这个还解决了什么问题
- 客户端请求失败之后怎么处理
- 如果大多数客户端都认为某个服务节点不可用了,怎么通知?否则所有客户端都可能会经历这个失败
- 快速失败的情况,客户端要不要删除这个服务的信息
- 重试的情况,如果请求不是幂等的怎么办?
腾讯凉经
CSIG一面
- go内存管理,TCMalloc,go垃圾回收,三色标记,go的内存怎么还给操作系统
- TCMalloc和普通Malloc的区别,各适用什么场景
- go和java的区别
- 内存碎片和内存泄漏是怎么回事,举例
- go怎么写一个tcp通信服务,阻塞socket和非阻塞socket,同步socket和异步socket
- 同步非阻塞的socket,select,epoll
- 了不了解异步的socket,IOCP
- GMP模型,多用户线程对应一个内核线程有什么问题,go是怎么解决的。然后面试官给我讲了以下腾讯自己实现的微线程
- TCP和UDP的区别,TCP拥塞控制,重传和超时哪种更拥塞,TCP粘包拆包怎么解决的
- 聊RPC,为什么RPC要用go来做,怎么不用java
- RPC服务端怎么调到方法的,ZooKeeper做注册中心是怎么用的,怎么服务发现的
- RPC为什么要用长连接,如果连接失效了怎么办
- Redis的特点,Redis有哪些数据结构,简单动态字符串讲讲,为什么这么设计,会不会缩小
- hash类型怎么使用,set类型有什么用
- 用过专业的消息队列吗,消息队列主要是解决什么问题
- 讲归并排序和插入排序,归并排序的空间复杂度
- 代码:大数相乘
CSIG二面
- 讲项目
- 怎么直到两个主机是否连通,ping怎么实现的
- 同一个局域网的两台电脑怎么通信,ARP流程,ARP会不会出路由器,路由器和交换机、集线器的区别,没有交换机ARP能不能发出去
- 32位linux的虚拟内存怎么划分,各个段的作用,堆上内存分配和挥手的流程
TEG鞭尸一面
- 快排的过程,时间复杂度,最坏的情况
- 堆,建堆的过程,建堆的时间复杂度,完全二叉树
- 哈希冲突的解决办法
- bitmap
- tcp和udp的区别
- tcp挥手过程,状态机的变化,TIME_WAIT的作用
- 事务ACID,数据库容灾
- zookeeper在rpc中的作用,为什么用zookeeper,有其他可以替代的吗
- zookeeper和etcd的区别
- zookeeper的一致性怎么保证的,选主过程,会不会出现脑裂
全部评论
(0) 回帖