虾皮社招后端面经

OA题比较简单,输入输出都是基本功,刷过题的都会,最难也就是中等题中的简单题。
一面,面试官拿着我的简历,
1. redis 和mysql 可以用binlog 同步全量数据,也可以更新mysql后删除redis更新缓存
2. kafka 架构,WAL,一致性保证(p用pid,c用offset管理,broker用WAL和并发锁,partition、replica高吞吐),broker的并发锁,offset用特殊topic收集存在zookeeper里
3. es mysql用 mysql binlog同步的架构+同步方案,这个属于ETL的过程
4. hash表,jdk1.8后的hashtable很有说头,数组+链表+红黑树+rehash都能展开来讲
5. 一致性hash(dynamo的hash方案,2^64的hash空间,每个机器加入集群随机撒点,key hash后按顺时针找机器,每个kv顺时针存在三个点上),怎么解决数据倾斜(nmk,n指加机器,m指撒更多点,k要检讨partitionkey 或者key后加随机值)
6. mysql 索引
7. 一个脑筋急转弯
二面,
1. 多线程多进程的区别(因为我都用c++写过,编程的模型完全不一样,所以花了很大篇幅解释),一致性hash
2. redis、多写的分布式一致性原理(这个我参考hdfs的分布式设计方案,读写锁,多段提交,基于codis方案的健康管理和hash)
3. 高并发系统设计(redis、限流器、前端,层层拦截),照着秒杀系统的框架往里面套。
三面,boss的压力测试,hash表,一致性hash,设计库存服务的系统设计,表结构,一致性原理。很多问题就是为难而难,放平心态就行了。

评价:
1. 总的来说还行,不会的就说不会,比如一面有问到kafka broker并发的时候加锁,因为没有看过源码所以不知道有这么回事,但最后的评价还可以。
2. 一二面都有算法题,难到是不难。
3. 本来听说要面golang的,准备了垃圾回收,tcmalloc,内存管理,协程调度,context的内容,但是一个都没考,很蛋疼。
4. 准备系统面试我推荐九章算法的系统设计班,查缺补强很有效果。谷歌三驾马车,一致性hash,redis,mysql,高并发,分布式系统设计,这些八股文一定要心里有底。
#面经##社招##golang工程师#
全部评论
我靠,我无了,这么难
1 回复
分享
发布于 2021-03-18 12:36
这是校招吗????
1 回复
分享
发布于 2021-03-18 15:26
联想
校招火热招聘中
官网直投
不用手写代码?
2 回复
分享
发布于 2021-03-24 12:32
啥时候面的
点赞 回复
分享
发布于 2021-03-18 14:02
面的这么离谱嘛,老哥
点赞 回复
分享
发布于 2021-03-18 15:16
lz,请问你是研究生吗?我感觉这面试问题有点难度啊
点赞 回复
分享
发布于 2021-03-18 15:38
点赞 回复
分享
发布于 2021-03-18 17:00
吓死了.......还好你是社招.... 校招要这样....
点赞 回复
分享
发布于 2021-03-18 20:56
这都是问工程不问基础,lz是社招吧
点赞 回复
分享
发布于 2021-03-20 13:13
恭喜恭喜,欢迎加入虾皮~
点赞 回复
分享
发布于 2021-03-23 16:21
tql
点赞 回复
分享
发布于 2021-03-29 12:38

相关推荐

8 156 评论
分享
牛客网
牛客企业服务