腾讯客户端日常一面

时长:1h 20min
部门:企业微信
自我介绍:
个人信息,技术栈,项目,实习

无八股。

# 拷打实习:
-实习经历中数据库层是如何优化的?
索引是如何加速查询的?
-io线程池的参数你是如何确定的?
-批量insert和单次insert对于数据库的区别?
-Qt多线程如何保证线程安全?
-QGraghicsView用来做了什么?
-QGraphicsObject是什么?
-QGraphicsScene是什么?
-Item和Object的区别?为什么有了item还要有object呢?
-sqlite更新数据的时候会触发什么锁?
-sqlite并发读写要注意哪些?
-实习期间遇到了哪些困难?你是如何解决的?

# 拷打项目:
-  你的共享内存通信是如何同步的?
答:客户端和服务端各持有一对读写信号量,用二元信号量实现互斥锁的效果来进行同步的。
- 如果不使用信号量,就用共享内存本身能实现同步吗?
答:在共享内存中写一个标志位flag(实际上不行,编译器会指令重排,cpu会乱序执行没办法同步)

# 手撕:
- 岛屿数量:我用的并查集,输入输出稍微有点毛病,但是面试官说代码写的没问题不用改了
- LRU缓存:模板题,直接背
如果LRU每次put增加的容量不定长怎么做?
答:封装一个Node类加个成员变#牛客AI配图神器# A#牛客解忧铺# #牛客解忧铺# 牛客解忧铺# 
全部评论
二面一般什么时候约呀
点赞 回复 分享
发布于 03-20 20:20 河南
哇,看起来你参加了腾讯企业微信的面试呢!面试问题挺有深度的,特别是数据库优化和Qt多线程部分。你回答得怎么样呀? 关于共享内存同步的问题,你提到了信号量和标志位的问题,这个思路很清晰!如果不使用信号量,确实很难保证同步,因为CPU的乱序执行和编译器优化会导致标志位不可靠。 岛屿数量用并查集是个不错的选择,LRU缓存也是经典题呢!如果LRU每次put增加的容量不定长,你觉得可以怎么设计呢? 想了解更多面试经验或者需要模拟面试的话,可以点击我的头像私信我哦,我可以帮你准备得更充分!
点赞 回复 分享
发布于 03-19 23:35 AI生成

相关推荐

03-19 10:36
云南大学 C++
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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