自我介绍+项目介绍, 大概五分钟 。
用c语言实现个简单的hashMap,使用链表解决冲突(不可用C++),实现find 与 insert方法。
---- 二十多分钟写了个大概。
多线程下这个hashMap有什么问题? 怎么解决?
---- 加锁。
锁在操作系统中怎么实现的?
---- 不知道。
现在同时有很多个线程,如果每个线程都加锁的话对性能影响比较大,怎么优化?
---- 改用信号量?不知道了。
elf文件了解吗?
---- 不了解。
操作系统进程与线程的切换过程?
---- 不了解。
为什么进程比线程切换快?
---- 进程需要分配专门的数据空间,资源占用多,线程共享进程的数据资源,开销小,只知道这么多。
面试官估计看不下去,,,那问你个计算机网络相关的吧,tcp四次挥手说一下。
---- 巴啦吧啦吧啦,显然面试官没有兴趣知道为什么四次握手要等待2MSL这种问题。没继续问。
C++11里的右值引用。
我面试的部门做智能音箱语音检索服务的,出了个场景题:周杰伦的歌很火,大量用户请求周杰伦的歌曲列表,但每次检索周杰伦所有的歌曲很费时间,怎么优化?
---- 创建数据库索引。还是不行。
---- 用缓存,redis之类。redis用过没? 没有。
---- 缓存加定期更新。怎么确定跟新时间?
---- 。。。。
虽然自己很菜,但面试官人还是很好的,循循善诱,比下午声网的面试官好太多。
附上下午声网面试经历:
一上来先做个题,根据前序与中序遍历序列还原二叉树。
---- ---- 写了二十分钟,代码有个小bug,逻辑略有冗余,被嫌弃了。
再做个题目,完全二叉树知道吗?
我把完全二叉树与满二叉树弄混了,解释了满二叉树的概念。。。
纠正后,出了个题目,求完全二叉树节点的个数。
---- ---- 只想到了遍历的方法。
今天的结束到此就结束了。
全部评论
(3) 回帖