8.23-虾皮-基础架构-一面

自我介绍

实习部分
深挖鸡架实习,期间狠狠挖坑,但是答错了也会说正确解决方案,也是狠狠学习了
本来说只聊一段实习的,但可能觉得这个鸡架太简单了了,又简要讲了一下 web 后端实习
InnoDB 下不是要求必须有主键吗?为什么有主键索引,还需要去建额外的索引,才能保证查询效率?
应该是想问 SQL 语句的 WHERE 部分查询条件是不是主键索引
为什么要用 Redis 分布式锁来限制用户的创作任务,为什么不直接在 MySQL 里面加一个字段?
后期会添加服务器数量,便于水平扩展

语言部分
熟悉什么语言?
C++
那太好了,我们这里主要也用 C++,当然 Golang、C++、Rust 都 OK
菱形继承?
什么是二义性?
能否强制指定避免二义性?(不会)
什么是切片现象?
带有虚函数的对象,其内存模型是什么样的?
emplace_back 和 push_back 的区别?
emplace_back 的实现用到了 C++ 什么特性?

网络部分
1s 内 100W 个 TCP 连接请求打到服务端,会发生什么?(其实就是考半连接状态的负面影响)

数据库部分
哪些隔离级别,各自有哪些异常

操作系统部分
 malloc 分配 1GB 内存时,还未进行其他任何操作,前后的 top 命令有什么变化?
应该是问内存分配的原理,答虚拟内存多 1GB,物理内存几乎不变
什么时候发生缺页中断?
答只知道 Redis 持久化中做后台重写时会发生,就跳过这个问题了

算法部分
一开始让用 Golang 实现两个协程交替打印 0~n 的数,一个打印奇数,一个打印偶数,保证最终打印的顺序还是 0、1、2、3 ... 这种顺序
这题应该很简单了,但是 Golang 只会 CRUD,让自己写真不会

说自己不是很熟悉 Golang 之后,就换成了带过期时间的 LRU,虾皮这个面试站的编辑器真的难用,很多代码不全都没有,硬是手敲了二十多分钟,然后运行之后我这里还看不到输出,只能让面试官遥控 debug,最后这道算法写了快 40min,也是很难绷了

反问
基础架构部门,系统的稳定性肯定很重要,设计之初会怎么来考虑?
答:问题太大了,回答不了
基于面试表现的建议
答:没啥建议,知识面挺广的,算法环节再加强一下
总共几轮技术面
答:2~3轮,具体问 HR

最后就是经典的感谢您的时间

总结
从 11:30 面到 13:00,两个人都很耐饿了
鸡架应该还是很看代码实操的,算法题发挥太差,大概率 G,但学到东西了,还是挺不错的

更新
没想到面完美团就约 8.30 二面了,又是同样的周六,又是同样的 11:30 开始,难绷

#秋招笔面试记录#
全部评论

相关推荐

自我介绍 AI Coding 你用的是什么工具?你让它帮你写代码还是写测试样例?你怎么做 review 的?你让它生成的是什么代码?八股GolangGolang 的特点是协程,那它是是如何实现的?(不会)那你开发的时候用到了 Golang 的哪些特性?Channel 了解吗?(只知道用来通信的,但没用过)Channel 有哪些类型?这些重要的特性你不熟悉的话,AI 生成代码后如何 code review?(都是 CRUD,数组和哈希,这些我都没见到过)算了,问你 C++ 吧指针使用时有哪些问题?内存泄漏如何做排查和解决?C++ 的垃圾回收机制是什么?那 Go 的 GC 是怎么实现的?Golang 用的是什么框架?Redis你们用的是什么消息队列?基于 Redis 实现消息队列,会消耗内存,代价会不会很高?怎么设计消息队列的生产和提交?分布式锁是如何实现的?SET NX 有什么问题?怎么续锁?续锁时间的设定依据是什么?消费者是如何判断队列中有无数据的,死循环还是轮询?你们用 Redis 存 token,会遇到缓存击穿问题吗?那抛开这个项目不谈,什么情况下会出现缓存击穿,怎么解决?你提到互斥锁,这里要怎么实现?了解过布隆过滤器吗?它能不能用来解决缓存击穿?那布隆过滤器能用来做什么?bitmap 的空间消耗是怎么样的?比如我有 100W 用户,要判断它们存不存在,要开多大的 bitmap?分布式锁除了 SET NX 还有什么实现?Redis 的内存淘汰策略是什么?如果说一个 key 没有设置过期时间,又被删掉了,这种问题怎么解决?key 到了过期时间,会被立马删掉吗?那它什么时候会被真正删掉呢?(追问太快了,本来要在上个问题一起讲的)MySQL你们的 QPS 有测过吗?索引失效场景?MySQL 有哪些锁?哪些场景下会用表锁?你说的这个 UPDATE 未走索引,触发的是全表扫描,不一定会用到表锁有哪些行锁?SELECT ... FOR UPDATE 加的是什么锁?MySQL 什么情况下可能出现死锁?(这个忘记了,只能往操作系统死锁扯一扯了)使用的时候没有遇到过死锁情况吗?你下去再了解一下,主要是在多表读写的时候,需要限制顺序,不然会有死锁数据结构二叉搜索树的数据结构大概长什么样?二叉搜索树的搜索时间复杂度是多少?你提到 2 为底,那 N 叉树的底为多少?红黑树了解过吗?(说了只知道节点有颜色)什么情况下会使用到红黑树?(说了 Epoll 内部用到,其它的就不知道了)那红黑树主要用来解决什么问题?它有什么优势?网络有了解过 HTTPS 吗?它是如何做加密的?它是对称加密还是非对称加密?对称加密和非对称加密的区别是什么?手撕乱序数组中第 K 大的数只要求写对,甚至可以直接调用 C++ 的优先队列,面试官貌似不太懂 C++,问了下 priority_queue 是干嘛的堆排序的复杂度是怎么样的?反问部门业务?金融部门,类似花呗、借呗(那应该挺核的)对应届生的培养机制?大概一个月的培养周期,技术方面和职场方面都有对 AI 对鼓励程度?都会用来提效建议?建议你夯实底层机制后,再利用 AI 进行提效,否则你可能判断不出来 AI 做的是不是对的。特别是对于我们这种金融业务,不能单纯信赖 AI 的几轮业务面?2 轮技术 + HR总结面试官看着像初入职场的,八股给我问爽了,答错的或答不上来的,直接当场就给我讲了
深圳虾皮信息科技有限公司一面455人在聊
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

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