腾讯客户端日常一面
时长:1h 20min
部门:企业微信
自我介绍:
个人信息,技术栈,项目,实习
无八股。
# 拷打实习:
-实习经历中数据库层是如何优化的?
索引是如何加速查询的?
-io线程池的参数你是如何确定的?
-批量insert和单次insert对于数据库的区别?
-Qt多线程如何保证线程安全?
-QGraghicsView用来做了什么?
-QGraphicsObject是什么?
-QGraphicsScene是什么?
-Item和Object的区别?为什么有了item还要有object呢?
-sqlite更新数据的时候会触发什么锁?
-sqlite并发读写要注意哪些?
-实习期间遇到了哪些困难?你是如何解决的?
# 拷打项目:
- 你的共享内存通信是如何同步的?
答:客户端和服务端各持有一对读写信号量,用二元信号量实现互斥锁的效果来进行同步的。
- 如果不使用信号量,就用共享内存本身能实现同步吗?
答:在共享内存中写一个标志位flag(实际上不行,编译器会指令重排,cpu会乱序执行没办法同步)
# 手撕:
- 岛屿数量:我用的并查集,输入输出稍微有点毛病,但是面试官说代码写的没问题不用改了
- LRU缓存:模板题,直接背
如果LRU每次put增加的容量不定长怎么做?
答:封装一个Node类加个成员变#牛客AI配图神器# A#牛客解忧铺# #牛客解忧铺# 牛客解忧铺#
部门:企业微信
自我介绍:
个人信息,技术栈,项目,实习
无八股。
# 拷打实习:
-实习经历中数据库层是如何优化的?
索引是如何加速查询的?
-io线程池的参数你是如何确定的?
-批量insert和单次insert对于数据库的区别?
-Qt多线程如何保证线程安全?
-QGraghicsView用来做了什么?
-QGraphicsObject是什么?
-QGraphicsScene是什么?
-Item和Object的区别?为什么有了item还要有object呢?
-sqlite更新数据的时候会触发什么锁?
-sqlite并发读写要注意哪些?
-实习期间遇到了哪些困难?你是如何解决的?
# 拷打项目:
- 你的共享内存通信是如何同步的?
答:客户端和服务端各持有一对读写信号量,用二元信号量实现互斥锁的效果来进行同步的。
- 如果不使用信号量,就用共享内存本身能实现同步吗?
答:在共享内存中写一个标志位flag(实际上不行,编译器会指令重排,cpu会乱序执行没办法同步)
# 手撕:
- 岛屿数量:我用的并查集,输入输出稍微有点毛病,但是面试官说代码写的没问题不用改了
- LRU缓存:模板题,直接背
如果LRU每次put增加的容量不定长怎么做?
答:封装一个Node类加个成员变#牛客AI配图神器# A#牛客解忧铺# #牛客解忧铺# 牛客解忧铺#
全部评论
二面一般什么时候约呀
哇,看起来你参加了腾讯企业微信的面试呢!面试问题挺有深度的,特别是数据库优化和Qt多线程部分。你回答得怎么样呀?
关于共享内存同步的问题,你提到了信号量和标志位的问题,这个思路很清晰!如果不使用信号量,确实很难保证同步,因为CPU的乱序执行和编译器优化会导致标志位不可靠。
岛屿数量用并查集是个不错的选择,LRU缓存也是经典题呢!如果LRU每次put增加的容量不定长,你觉得可以怎么设计呢?
想了解更多面试经验或者需要模拟面试的话,可以点击我的头像私信我哦,我可以帮你准备得更充分!
相关推荐
查看16道真题和解析 点赞 评论 收藏
分享
03-19 10:36
云南大学 C++ 点赞 评论 收藏
分享
