腾讯 一面 java 金融科技

主要考察八股,一个小时
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. 反问
全部评论
佬啥时候投递的
点赞 回复 分享
发布于 10-17 17:50 广东
第9个问是啥意思哇,没懂
点赞 回复 分享
发布于 10-20 11:35 四川

相关推荐

3 21 评论
分享
牛客网
牛客企业服务