腾讯金融科技-后台开发一面

打x的问题没答上来
[] 自我介绍
[] 讲一下C++里面的智能指针
[] 你提到了RAII的思想,能不能具体讲讲
[x] 按照RAII的思想,如果打开一个文件描述符失败了,一般会怎么处理?
[] 讲讲C++里面new和malloc的区别
[] new具体是怎么分配内存的?
[] 你提到了brk和mmap这两种分配方式,能详细讲讲吗?
[] 什么时候选择brk,什么时候选择mmap?内存阈值是多少?
[] 你提到了使用brk分配内存的时候,free的时候并不会立即归还给系统,为什么要做这样的事?
[] 如果用malloc频繁的申请小块的内存,会出现什么问题?
[x] 那你知道malloc会怎么管理这些内存碎片吗?具体是怎么做的?(答了会整理碎片,追问具体怎么做的没答上来)
[] 你提到了堆内存和共享内存,能讲讲还有哪些内存空间吗?
[] 栈区上面的内存是怎么开辟的?
[] 那你知道C++对象的最小的占用空间是多少吗?
[] 追问:为什么是1个字节?为什么不是0字节?为什么不能大于1个字节?
[] 如果一个空对象里面只有一个虚函数,那这个对象的大小是多少?(4字节或8字节)
[] 追问:为什么加了一个虚函数后大小就不是一个字节了?(多了个虚表指针)
[] 能不能讲讲虚表是怎么做的?(虚函数是怎么实现的?)
[] 比如有ABC三个类,A类里面有一个虚函数实现,B类和C类分别继承自A类,B类有自己的虚函数,C类没有。能不能分别讲讲B的对象和C的对象的内存分布情况?
[x] 操作系统如何做线程调度的?
[] 现在有一个多线程的程序,他们同时去修改一个int类型的全局变量,那这个时候会有线程安全问题吗?
[] 追问:为什么会有线程安全问题?比如多个线程同时对i++,会有什么问题?(只加了一次)
[] 追问:那应该怎么避免这种情况的发生呢?(单例模式)
[] 追问:你提到了全局变量使用单例模式来替代,那具体应该怎么做呢?(静态局部对象)
[] 追问:还有其他方法吗?(原子操作、加锁)
[] 追问:你知道C++里面提供了哪些原子操作吗?
[x] 追问:如果现在修改的不是int变量,而修改的是全局map,还能用原子操作解决并发问题吗?
[] 回到多个线程进行i++这个问题,a线程将i加了1,线程b也将i加了1,但是线程b并没有感知到线程a将i加了1,是什么原因导致了这个问题呢?(可能是缓存没同步)
[] 追问:你这里的缓存是什么缓存?(CPU缓存)
[] 追问:能讲讲CPU的缓存吗?它和内存有什么区别?
[] 追问:那你能讲讲如何做才能避免缓存不同步的问题吗?(MESI协议)
[] 追问:能讲讲这个协议吗?
[] DNS解析的过程是怎样的?
[x] 追问:DNS向其他几级服务器查询的时候,用的什么协议?
[] TCP的数据包有大小限制吗?(有,大了要分片)
[x] 追问:你知道这个限制是多大吗?(回答的1500字节,实际应该是1460字节)
[] 追问:比如我一个TCP发送方,在发送的时候一次性不能超过1500字节吗?(一个TCP包不能超过1500字节)
[x] 追问:实际上调用send的时候,这个地方会有限制吗?(不了解网络编程)
[x] 追问:接收方调用receive的时候,一次接受1500字节吗?(不了解网络编程)
[] TCP的servier端调用close关闭连接,这时候client端继续发送数据,会出现什么情况(我回答了正常的四次挥手的过程,但是面试官的不太满意,不了解close是怎么做的)
[] MySQL的事务怎么实现的回滚?(undolog)
[] 追问:讲讲undolog是个啥?
[x] 追问:它记录的是动作还是记录的数据?
[] 追问:每次操作都会向undolog中写内容,那如何解决undolog过大的问题?(我回答的效仿redis的AOF重写)

算法题如图:
#秋招# #面经# #腾讯# #后台开发# #软件开发笔面经#
全部评论
鬼鬼 这么多问题吗
7 回复 分享
发布于 08-11 16:12 浙江
这个算法你用字典树应该可以解决
5 回复 分享
发布于 08-11 13:00 湖南
已经很厉害了
2 回复 分享
发布于 08-15 20:26 黑龙江
进面了吗?
2 回复 分享
发布于 08-17 21:16 黑龙江
佬算法a出来了嘛?部门具体什么方向呀。
1 回复 分享
发布于 08-11 13:51 上海
算法题只想到O(n²)的做法,感觉时间复杂度降不了。
1 回复 分享
发布于 08-12 12:18 湖北
我透,整这么难
1 回复 分享
发布于 08-12 18:35 内蒙古
看了一下,应该线段树
1 回复 分享
发布于 08-13 23:09 黑龙江
哥们咱俩这很像啊,算法一模一样,一个部门,我也挂了、、
1 回复 分享
发布于 08-14 19:13 北京
我最怕的也是网络编程
点赞 回复 分享
发布于 08-11 19:48 湖北
b站 搜十二岁的闰土 打x的基本都有
点赞 回复 分享
发布于 08-11 22:42 陕西
m
点赞 回复 分享
发布于 08-12 10:10 广东
问这么难?😢我去
点赞 回复 分享
发布于 08-12 12:33 江苏
大佬有无后续
点赞 回复 分享
发布于 08-12 17:45 北京
蹲个后续
点赞 回复 分享
发布于 08-13 13:39 辽宁
算法是acm核心代码模式还是leetcode那种不用写输入输出的呀
点赞 回复 分享
发布于 08-13 15:04 安徽
给你一个SP简历模板,希望可以帮到你
点赞 回复 分享
发布于 08-14 19:55 北京
不用字典树吧,虽然复杂度最优但写法不是最优,可以直接n次前缀匹配,每次匹配长度i放到vec[i]里,对于第i个答案就是vec[i]+vec[i+1]+....,写起来简单不少但是复杂度跟字典树一样
点赞 回复 分享
发布于 08-16 09:19 湖北
请问是自己录音了吗
点赞 回复 分享
发布于 08-17 22:25 山东
加油
点赞 回复 分享
发布于 08-18 16:08 广东

相关推荐

主要考察八股,一个小时1. **自我介绍**2. **实习期间做了哪些相关工作**3. **什么业务场景需要使用缓存,访问量,为什么不使用MySQL自带的缓存(innodb存储引擎层面,也是基于内存的)**    大概是问redis缓存和innodb缓存的区别   innodb的缓存只缓存了部分数据页,如果没有命中还是会读磁盘。   redis的查询效率 O(1);   innodb有事务的机制 sql执行的过程比redis更复杂更慢   4. **Redis如何保证数据一致性,还有没有其他的解决方案**   - 删除缓存重试策略(消息队列)   - 订阅 binlog,再删除缓存(Canal+消息队列)5. **接口幂等性,加锁存在问题,订单重复提交,有没有其他的解决方案**7. **数据库层面的幂等和接口层面的幂等是一个意思吗**    挖坑 实际上没有数据库幂等性概念8. **为什么选择AOP注解**9. **有哪些场景适合注解形式,哪些适合函数内部使用**10. **根据实际可以使用的jvm内存情况,来决定可以处理请求**11. **如果jvm内存满了,不做gc,请求是怎么样的**12. **JVM垃圾回收机制,算法**13. **MySQL的了解,索引**14. **Innodb和myisam的区别**    这里说了myisam读快15. **为什么myisam读快**    这里想从索引方面解答发现不对,进坑了。    1. **高速读取**:MyISAM的表因为其简单的结构(数据和索引分开存储)和表级锁定机制,在只读操作或者读多写少的场景下通常可以提供较高的读取性能。    2. **全表扫描**:对于需要频繁进行全表扫描的操作,MyISAM可能会更快,因为它不需要处理事务日志和复杂的锁定机制。    3. **全文搜索**:MyISAM提供对全文搜索的原生支持,这在需要进行文本搜索的应用中是一个显著的优势。    以下是MyISAM在读取密集型表中的优势:    - **索引缓存**:MyISAM使用键缓存(key buffer)来存储索引,这可以显著提高读取速度,特别是当索引能够完全放入内存时。    - **并发读取**:MyISAM的表级锁定在并发读取时不会产生锁定争用,因为读取操作不会阻塞其他读取操作。    - **压缩表**:MyISAM支持表压缩,可以减少磁盘I/O,进一步提高读取性能16. **为什么innodb用聚簇索引,非聚簇索引**17. myisam非聚簇索引的优势18. **TCP拥塞控制算法,怎么判断网络拥塞**19. **实际上丢包的情况是很少的, tcp拥塞控制算法有什么改进**20. **算法:搜索二维数组**   两种解法 21. 反问
点赞 评论 收藏
分享
40 216 评论
分享
牛客网
牛客企业服务