首页

2020年腾讯Java高级笔试面试题

标签:大厂面试题     发布时间:2022-12-13   
  • 云盘下载(需积分:2):
  • [提取码:3c1j]
 @b@1. 从简历项⽬中选⼀个项⽬,说说你在其中遇到了什么重⼤挑战?以及你的解决问题的思路?@b@2. ⼀段代码要执⾏多个redis命令,不加锁的情况下如何保证原⼦性?@b@使⽤lua脚本:https://segmentfault.com/a/1190000009811453@b@3. 谈谈数据结构,⽐如⼆叉树、红⿊树?@b@理解这篇:https://juejin.im/post/5a27c6946fb9a04509096248@b@4. 说说B-tree、B+tree的区别和使⽤场景?@b@1. B-tree:@b@B-tree 利⽤了磁盘块的特性进⾏构建的树。每个磁盘块⼀个节点,每个节点包含了很关键字。把树的节点关键字增多后树的@b@层级⽐原来的⼆叉树少了,减少数据查找的次数和复杂度。@b@B-tree巧妙利⽤了磁盘预读原理,将⼀个节点的⼤⼩设为等于⼀个⻚(每⻚为4K),这样每个节点只需要⼀次I/O就可以完@b@全载⼊。@b@B-tree 的数据可以存在任何节点中。@b@2. B+tree:@b@B+tree 是 B-tree 的变种,B+tree 数据只存储在叶⼦节点中。这样在B树的基础上每个节点存储的关键字数更多,树的层级@b@更少所以查询数据更快,所有指关键字指针都存在叶⼦节点,所以每次查找的次数都相同所以查询速度更稳定;@b@5. mysql哪个版本哪个存储引擎的索引使⽤的B+tree,为什么不使⽤红⿊树?@b@需要先理解B+tree、红⿊树的实现原理。B+tree带有顺序访问指针,是红⿊树不具备的。@b@6. 说说⼏种常⻅的消息中间件的区别?@b@1. 中⼩型公司⾸选RabbitMQ:管理界⾯简单,⾼并发。@b@2. ⼤型公司可以选择RocketMQ:更⾼并发,可对rocketmq进⾏定制化开发。@b@3. ⽇志采集功能,⾸选kafka,专为⼤数据准备。@b@7. rabbitmq如何保证消息的可靠性?@b@详⻅“⾯试题库/rabbitmq”@b@8. springcloud服务发现原理?@b@a. 每30s发送⼼跳检测重新进⾏租约,如果客户端不能多次更新租约,它将在90s内从服务器注册中⼼移除。@b@a. 注册信息和更新会被复制到其他Eureka 节点,来⾃任何区域的客户端可以查找到注册中⼼信息,每30s发⽣⼀次复制来定位他@b@们的服务,并进⾏远程调⽤。@b@b. 客户端还可以缓存⼀些服务实例信息,所以即使Eureka全挂掉,客户端也是可以定位到服务地址的。@b@9. 介绍下springcloud各个组件?springcloud的注册中⼼除了eureka还可以⽤什么?@b@springcloud的⼯作原理@b@特性 ActiveMQ RabbitMQ RocketMQ kafka@b@开发语⾔ java erlang java scala@b@单机吞吐量 万级 万级 10万级 10万级@b@时效性 ms级 us级 ms级 ms级以内@b@可⽤性 ⾼(主从架构) ⾼(主从架构) ⾮常⾼(分布式架构) ⾮常⾼(分布式架构)@b@功能特性@b@成熟的产品,在很多公司@b@得到应⽤;有较多的⽂@b@档;各种协议⽀持较好@b@基于erlang开发,所以并@b@发能⼒很强,性能极其@b@好,延时很低;管理界⾯较@b@丰富@b@MQ功能⽐较完备,扩展@b@性佳@b@只⽀持主要的MQ功能,@b@像⼀些消息查询,消息回@b@溯等功能没有提供,毕竟@b@是为⼤数据准备的,在⼤@b@数据领域应⽤⼴。@b@springcloud由以下⼏个核⼼组件构成:@b@Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉@b@取注册表,从⽽知道其他服务在哪⾥@b@Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从⼀个服务的多台机器中选择⼀台@b@Feign:基于Feign的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求@b@Hystrix:发起请求是通过Hystrix的线程池来⾛的,不同的服务⾛不同的线程池,实现了不同服务调⽤的隔离,避免了服务雪崩@b@的问题@b@Zuul:如果前端、移动端要调⽤后端系统,统⼀从Zuul⽹关进⼊,由Zuul⽹关转发请求给对应的服务@b@注册中⼼还可以⽤zookeeper。@b@10. 微服务有⼏种限流⽅式?@b@spring cloud gateway:https://windmt.com/2018/05/09/spring-cloud-15-spring-cloud-gateway-ratelimiter/@b@11. 限流的情况下,服务隔离还有没有必要?@b@https://www.javazhiyin.com/25964.html@b@12. dubbo有⼏种负载均衡?负载均衡是在服务端还是客户端?@b@Dubbo负载均衡在客户端,dubbo内置了4种负载均衡策略:@b@a. RandomLoadBalance:随机负载均衡。随机的选择⼀个。是Dubbo的默认负载均衡策略。@b@b. RoundRobinLoadBalance:轮询负载均衡。轮询选择⼀个。@b@c. LeastActiveLoadBalance:最少活跃调⽤数,相同活跃数的随机。活跃数指调⽤前后计数差。使慢的 Provider 收到更少请求,@b@因为越慢的 Provider 的调⽤前后计数差会越⼤。@b@d. ConsistentHashLoadBalance:⼀致性哈希负载均衡。相同参数的请求总是落在同⼀台机器上。@b@13. 如何实现redis分布式锁?需要注意什么问题?@b@了解这篇:https://juejin.im/post/5bbb0d8df265da0abd3533a5@b@14. 说说你看过的源码?其中⽤到了什么设计模式或者设计亮点?@b@具体分析,⾯试前需要熟读⼀些源码,如spring源码。@b@15. 如何实现aop?项⽬中哪些地⽅⽤到了aop?@b@掌握:https://juejin.im/post/5bf4fc84f265da611b57f906@b@16. 后置处理器的作⽤?@b@Spring中bean后置处理器BeanPostProcessor:https://www.jianshu.com/p/f80b77d65d39@b@17. spring bean作⽤域,什么时候使⽤request作⽤域。@b@详读:https://blog.csdn.net/icarus_wang/article/details/51586776@b@18. 说说下⾯这道题的结果?@b@1 package com.giveu.web;@b@2@b@3 public class VolatileTest {@b@4 public static volatile int race = 0;@b@5@b@6 public static void increase() {@b@7 race++;@b@8 }@b@9@b@10 private static final int THREADS_COUNT = 10;@b@11@b@12 public static void main(String[] args) {@b@13 Thread[] threads = new Thread[THREADS_COUNT];@b@14 for (int i = 0; i < THREADS_COUNT; i++) {@b@15 threads[i] = new Thread(new Runnable() {@b@16 @Override@b@17 public void run() {@b@18 for (int i = 0; i < 10000; i++) {@b@19 increase();@b@20 }@b@21 }@b@22 });@b@23 threads[i].start();@b@24 }@b@25 while (Thread.activeCount() > 1) {@b@26 Thread.yield();@b@27 }@b@28 System.out.println(race);@b@29 }@b@30 }@b@程序不结束,并且没有打印。
  • ◆ 相关内容
<<推荐下载>>
  • (1) 阿里巴巴Java开发手册8种不同版本
  • (2) Web前端开发视频教程
  • (3) 30+明星讲师PPT课件分享一线大厂架构实战经验
  • (4) java开发_架构篇_视频资源分享_v2208
  • (5) java开发_高级篇_视频资源分享_v2208
  • (6) java开发_进阶篇(中级)_视频资源分享_v2208
  • (7) java开发_入门篇_视频资源分享_v2208
  • (8) 微信小程序开发视频1+167源码+实战demo等下载
  • (9) easy-shopping电子商务java源码(附脚本和安装文档说明)下载
  • (10) java常用的72份知名实用的电子书下载
  • (11) java开发性能优化资料整理大全(8份电子文档+3份实战优化)下载
  • (12) 9个常用的算法设计资料和100以上视频课件内容下载
  • (13) vue开发必备常用手册16件下载
  • (14) 21种不同技术集群方案(es、flink、redis、nginx、zk、lvs、kafka、mysql、k8s等)参考资料下载
  • (15) 20种技术代码规范(js/java/dba/阿里/华为/oracle/mysql等)参考资料下载
  • (16) 微服务五套资料(0-1,架构设计,springcloud,nacos等)下载
  • (17) 架构师(28知识图谱+3套简历模板+6套架构实战文档等)完整资料整理下载
  • (18) 大数据18套实战基础知识+8套简历模板下载
  • (19) 并发编程全套(7套+阿里巴巴+亿级实战等)实战资料下载
  • (20) Kafka九套学习整理知识点全套(面试+笔记+代码api+命令+容备等)资料下载
  • (21) java全套9个不同方向类型的面试题(基础+核心+大厂+架构师+近万套题库等)下载
  • (22) JAVA开发常用API帮助文档大全(超52种以上技术资料,高手必备)下载
  • (23) springcloud超详细139件全套学习实战资料( 视频课件+源码demo+文档资料等)下载
  • 更多推荐>>
  • <<热门下载>>