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.js数据类型3.判断基本数据类型的方法,说了typeof,instanceof,Object.prototype.toString()强调说基本数据类型,不要说对象类型,于是说了typeof,Object.prototype.toString()4.闭包的概念,说了内层函数引用外层函数作用域的变量,起到保护和保存的作用,并说了一系列用法,面试官只要定义,没答出来5.除了内存泄露,闭包的缺点有哪些,在React中用有什么后果,不会。6.箭头函数和普通函数的不同7.介绍Promise8.说一下Promise的静态方法9.什么是事件委托10.讲一下e.target11.0.1+0.2和0.3相等吗?0.2+0.2和0.4相等吗?12.在React中遇到过state和props是上一次的值的情况嘛,没有。13.介绍useCallback和useMemo。再问:这两个能不能互换着用。问:缺点是什么。答:占空间。再问:不用就不占空间了嘛。再问:看过源码吗?没。14.useEffect和useLayoutEffect15.ReactNative跨端原理,答了虚拟dom,桥,映射为原生组件,觉得我不太了解,不满意。16.自己写过桥吗?不会安卓ios,没。17.手撕题,给一个二维数组,写一个全排列,不许用c++,要用js。js不会,用c++写完了,正在调试说时间到了,大概给了10分钟。18.为什么不用js,为什么用c++。答:写算法用c++写惯了,没用js写过回溯。再问:是不是js代码写的少,不会写。答:写的不少。总结,面试官看我很不爽,能感觉到,大抵是挂了。两天后挂。
查看23道真题和解析
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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