第3节 分布式与微服务面试

 

 

 

 10-1 面试避坑指南

尽早在投递时间投递,

java技术栈与c++技术栈很大不同,要明确,

 用熟悉,不用精通,

 

 到场,提前5分钟,联系面试官,

确认问题,实在不会,根据所掌握的知识提出我们的设想,

提前查了公司信息,竞争对手,公司优势,

问,未来战略,部门定位,部门发展规划,部门未来还需要那些技术栈,团队成员有几位,业务相关,

不问,通过或薪资,

10-2 哪些软素质最受面试官的认可?

学习能力,前沿信息,自己短板,技术文档,技术书,博客,教学视频,

 管理能力,时间管理,工作管理,工作与休息时间,什么时间干什么,发挥自己长处,时间用在核心地方,

 11-1 面试课总结

2-1 Spring Boot和Spring Cloud的关系?

基于springboot产生的微服务框架,

2-2 Spring Boot如何配置多环境?

 

 2-3 项目中如何处理异常?

异常必须处理,会看到详细异常发生情况和错误信息,通过简单尝试,顺藤摸瓜,

全局处理,

 

 

 

 

 3-1 线程如何启动?

 直接调用run方法是一个普通java方法,不会启动线程,

start方法后台进行多种工作,子线程启动run方法内容,

 3-2 哪种实现多线程的方法更好?

 

 

 

 

 

 代码架构,任务执行类和具体内容解耦,让关系不密切,可扩展性更好,

thead类是维护线程的,启动,状态更改,任务结束,

新建线程损耗,同一个线程执行很多任务,Thread承担新建线程损耗,runnable任务直接参数传递,线程池里固定的线程不需要每次新建,

java支持多接口,不支持双继承,

3-3 创建线程的原理是什么?

找方法,ctrl+f12,

 已经把父类的run方法覆盖,传入runnable或target都不会起到效果,真正执行的是Thread方法,

 

 只是封装,包装,

 

 

 

 

 3-4 线程的生命周期是什么?

 3-5 状态转换的注意点和阻塞

 

 

 

 

4-1 分布式的面试题

 

 

 

 

 

 

 图片网站可用性高于一致性,

交易支付场景一致性高于可用性,

 4-2 Docker的面试题

 

 

 

 bridge用外面主机端口号,映射内部容器端口号,实现一座桥,桥接,

host,容器内与外界端口号一致,

5-1 Nginx和Zookeeper的面试题

 

客户端,Nginx转发到服务器,叫做反向代理,

 

 

 

 6-1 RabbitMQ的面试题

 系统解耦,只发送消息,其他由消息队列完成,

异步调用,消息队列只发送,不返回,用户等待时间减少,

流量削峰,短时间大量请求,请求放到消息队列中, 一个一个消化,控制访问压力,

发送者把自己的消息发送到交换机,交换机把消息放到合适合理消息队列,消费者只要关注消息队列就行,

virtual host范围下,可以建立不同的虚拟主机,相互独立,

 广播,发送给所有,

direct精准匹配,

 

 

 

 7-1 微服务面试题

 

 

 

客户端负载平衡,请求时已经知道3个ip地址都能提供服务,一个一个调用,在客户端,

服务端负载平衡,广大用户访问一个入口,Nginx合理转发,

 

 某一个服务或模块不可用,摘除掉,不至于影响到其他流程,

 

7-2 优质学习路径

 系统学习,不要碎片化学习,

GitHub小demo用到实战,

 8-1 synchronized和Lck有什么异同?

 

 

 

 

 

 

可重入,拿到锁,想再次获取到,要提前释放掉锁,

 

 

 

 

用法区别,synchronized可以用在方法上,也可以用在同步代码快上,

必须lock方法加锁,unlock解锁,

加解锁顺序不同,synchronized是java内部控制,自动的,不灵活,

lock灵活调控,

synchronized不灵活,必须上一个释放后才能使用,lock灵活,

性能区别,老版synchronized性能低,新版优化后差不多,

8-2 你知道有几种锁?

 共享锁典型就是读写锁,提高效率,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 8-3 写一个必然死锁的例子?

 

 

 

 

 

 

 8-5 能不能讲讲经典的哲学家就餐问题?

 

 

 

 

 

 改变最后一位顺序,避免死锁,

8-6 实际工程中如何避免死锁?

 

 

 

 

 

 9-1 HashMap为什么不安全?

 

 

 不要再并发情况下使用,

9-2 final有什么作用?

 

 

 

 

 

 

 

 

 

 修饰变量,

 

 9-3 单例模式的8种写法

 

 

 懒加载,不立刻加载实例,运用实例再加载出来,

 

 

 

 双重检查,

 volatile,完成初始化,不被重排序,

9-5 哪种单例模式的写法最好?

 

 

 

 

 

 

 

 

暂时看到:::

已看完

0:00:00

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值