广州蓝炎科技一面
- 简单自我介绍
- 用的什么技术栈
- go的map是线程安全的吗?
- Channel一般会在什么场景下使用?
- 往一个未初始化的channel发送数据,会怎样?
- 关于go里头的随机数是线程安全的吗?
- 随机数的那个种子的设置有什么注意的地方?需不需设置
- go里头的对象池了解吗?
- 长连接(TCP/Websocket)编程接触过吗?
- MySQL有一张表,有几十万的数据量,但是感觉查询速度不是很快,这个时候你会怎么处理呢?
- 如果这张表涉及的业务特别多,有上千个select查询语句,你是要每个语句都查执行计划吗?
- 比如我有上亿的数据量,这张表该怎么处理?
- 有一个IOT的项目是这样的,有几十万台设备,但要求保持长连接实时去关注这些设备的状态,如果这时候有100w个长连接,这个时候,服务端的架构应该怎么设计?
- 那如果是要求负载均衡,该怎么设计?
- 假设现在A的长连接,连的是一号网关,然后B的长连接,连的是二号网关,A向B发消息的时候,程序应该怎么去实现呢?
- 关于NoSQL数据库,除了Redis的,mogodb了解过吗?
- 从毕业就一直在用go吗,Java熟悉吗
- Linux操作系统熟吗
- 经常用到docker吗?了解多少?
- 你觉得自己的特长是什么?
北京爱诗科技一面
1.简单自我介绍
2.你觉得这里头最有亮点的项目是什么?
3.哪些点你觉得之前做得不够好的,可以怎么提升呢?
4.你们的服务部署是在海外的吧?不同业务地区会存在多机房的问题吗?
5.例如跨区场景,中国有个服务,新加坡有个服务,业务在新加坡,中国到新加坡的中心机房会有延迟,怎么去调用保证稳定性和可靠性呢?
6.假设新加坡的机房挂了,下游的服务挂掉了,我需要流量打到另外一个机房的服务器,那要怎么保证这个链路的稳定性,因为跨区调用的时候,网络可能有延迟,中间也不是很好的专线
7.代码题,麻将算法实现
一个长度为14的整形int数组,每个元素的范围是1-9,
现在用go设计一个函数,要求可以输入一个数组,判断这个数组是否满足规则:
x*AAA + y*ABC + z*DD,其中 z=1, x+y = 4, AAA表示3个相同的值,ABC表示3个连续递增的顺子,DD表示一个对子
就类似麻将胡牌规则,输入14张牌,每个牌的取值范围为1~9的某个正整数,判断是否胡牌
8.反问