搜索
首页JavaJava面试题2019年Java面试题(腾讯)

2019年Java面试题(腾讯)

Dec 03, 2020 pm 04:33 PM
java腾讯面试题

2019年Java面试题(腾讯)

下面是2019年的一次腾讯公司的面试题目,分享给大家,希望能对大家有所帮助。

(推荐视频教程:java教学视频

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

程序不结束,并且没有打印。

相关推荐:java入门教程

以上是2019年Java面试题(腾讯)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用