虾皮社招后端面经

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 15:26
我靠,我无了,这么难
1 回复 分享
发布于 2021-03-18 12:36
不用手写代码?
2 回复 分享
发布于 2021-03-24 12:32
tql
点赞 回复 分享
发布于 2021-03-29 12:38
恭喜恭喜,欢迎加入虾皮~
点赞 回复 分享
发布于 2021-03-23 16:21
这都是问工程不问基础,lz是社招吧
点赞 回复 分享
发布于 2021-03-20 13:13
吓死了.......还好你是社招.... 校招要这样....
点赞 回复 分享
发布于 2021-03-18 20:56
点赞 回复 分享
发布于 2021-03-18 17:00
lz,请问你是研究生吗?我感觉这面试问题有点难度啊
点赞 回复 分享
发布于 2021-03-18 15:38
面的这么离谱嘛,老哥
点赞 回复 分享
发布于 2021-03-18 15:16
啥时候面的
点赞 回复 分享
发布于 2021-03-18 14:02

相关推荐

04-10 04:25
门头沟学院 Java
给我面没招了,感觉自己好菜、面试很难,还是要多多练习1. 项目拷打2. 实习询问3. 询问论文4. 通过 WebSocket 推送订单状态变更,只要消费者只做这一件事吗?5. 如果在弱网环境下,WebSocket 连接断了,那就收不到了吗?6. 你的代码逻辑是怎么处理的?如果出现异常情况,WebSocket 如何处理?去拉取的时机是什么?7. 你的外卖系统订单的 ID 是怎么生成的?生成策略是什么?8. 随机数是怎么随机的?这个随机数会有冲突的可能吗?9. 在 Redis 是多级缓存,具体指的是什么?你这个缓存的是数量还是商品的信息?10. 多级缓存加分布式锁保证秒杀场景零超卖这块是通过什么实现的?11. 有没有用过一些线程组件,比如 ThreadLocal 用过吗?12. 你为什么要用 ThreadLocal?这个场景为什么用它?它是怎么满足你的业务诉求的?13. 你有没有了解过它为什么能够做到线程隔离?14. 所有的 ThreadLocal 是存在哪里的?15. ThreadLocalMap 是存在哪里的?16. 这后面不会有啥问题吗?为什么会内存泄露?17. 你之前是软件工程专业,计算机网络、操作系统这些都有学过吗?你能给我介绍一下 TCP 四次挥手的过程吗?为什么服务端要分两次发出呢?为什么要 2MSL,而不是 1MSL 呢?18. 有没有了解过 SYN 攻击?什么是 SYN 攻击?这种问题应该怎么检测或者避免?19. 你刚才说也用过一些组件,最近 openclaw 比较火,有没有了解过?有没有大概看过它的实现原理?20. 有没有了解过一些知名的大模型?你有没有对比过像通义千问、DeepSeek 这些模型的优缺点?比如你之前部署 openclaw 用的什么模型?模型参数是多少?21. SQL 题22. 算法题:二叉树的之字形遍历+讲思路。
查看22道真题和解析
点赞 评论 收藏
分享
评论
9
169
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务