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 开始,难绷

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

相关推荐

码客明:我们组100%
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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