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

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

相关推荐

分为三个部分,技术考核、代码解答、场景题1、一台程序有运行瓶颈,如何找到?2、如果不知道代码,怎么找到瓶颈?3、用什么命令看CPU利用率、内存占用率,看完下一步怎么做?4、一个函数在什么情况下会出现线程安全问题?怎么解决线程安全问题?5、在Linux下,读一个文件,经socket上传到网络,过程中经历了几次拷贝?6、有用过redis吗?了解过zset吗?Zest的底层数据结构是什么?7、Zset用在什么场景?8、Zset里有O(1)的命令吗?9、kafka用过吗?MQ有什么缺陷?10、登录场景下会有什么漏洞问题?11、你会如何设计一个安全的登录功能?12、HTTPS协议是基于什么协议实现的?13、HTTPS的整个传输过程?14、HTTPS的数据在什么情况下会被篡改?15、有10亿个没有重复的数字,随机等分为10份16、假设一个订单表 order(mysql,innodb 引擎)里面有用户 ID,订单时间,现在有三种查询需求:a. 某个用户的所有订单;b. 某一天的所有订单;c. 某个用户在某天的所有订单17、请填写一条SQL查询语句,计算表(Time_user_price),统计每周从周一到周六每天的累计销售额。具体要求如下:统计周期为每周,截止到周六。- 输出内容为周一至周六每天的累计销售额;- 周二:显示当天的销售额;- 周三:显示周一和周二的销售额之和;- 周四:显示周一、周二、周三的累计销售额;- 以此类推,直到周六显示本周的总销售额。18、leetcode原题:单词最小编辑次数
查看18道真题和解析
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

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