面试专题
文章平均质量分 51
架构师三狼
努力 奋斗 加油!
展开
-
CSDN-Java 研发工程师
Java研发工程师:岗位职责:1.根据项目计划配合项目产品经理分解研发任务,组织解决研发过程中存在的技术问题2.负责系统概要设计和详细设计,编制系统设计方案,保证系统稳定;3.与产品、运营等团队紧密配合,确定产品的技术解决方案和开发时间评估;4.解决研发过程中的关键问题和技术难题;5.协同组内开发工作以及任务安排。任职要求:统招本科及以上学历,5年以上开发经验;良好的Java语言基础,熟悉Spring,SpringBoot,MyBatis等常用框架和类库;熟悉MySQL数据库的使用以及原创 2021-03-29 18:06:30 · 122 阅读 · 0 评论 -
面试专题:兴盛优选二面
JVM内存模型?老年代用的什么垃圾回收算法?说下分代算法?GC Roots包含哪些对象?Spring BeanFactory 和FactoryBean 有什么区别?BeanFactory有哪些实现类?ApplicationContext是接口还是实现类BeanFactory是哪种设计模式?设计模式的六大原则数据库的事务隔离级别? MySQL怎么实现可重复读的事务隔离级别的?B 树和B+ 树的区别?B树非叶子节点能否存储数据?如何实现接口的幂等性微服务之间是怎么通过Consul进行通信的?Con.原创 2021-03-22 15:58:54 · 1679 阅读 · 4 评论 -
面试专题:简述Kafka架构设计
Kafka的特性:高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。可扩展性:kafka集群支持热扩展持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)高并发:支持数千个客户端同时读写Consumer Group:消费者组,消费者组内每个消费者负责消费不原创 2021-03-20 09:58:29 · 192 阅读 · 0 评论 -
面试专题:简述 ZAB 协议
ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持崩溃恢复的原子广播协议,实现分布式数据一致性所有客户端的请求都是写入到 Leader 进程中,然后,由 Leader 同步到其它节点,称为 Follower。在集群数据同步的过程中,如果出现 Follower 节点崩溃或者 Leader 进程崩溃时,都会通过 Zab协议来保证数据一致性。也就是分布式理论的CP,不保证高可用。ZAB 协议包括两种基本的模式:崩溃恢复和消息广播。消息广播集群中所有的事务请求都由 Leader 节点来处理原创 2021-03-20 09:04:07 · 182 阅读 · 0 评论 -
面试专题:简述RabbitMQ的架构设计
RabbitMQ采用的是AMQP协议,使用的是TCP协议,长连接。Broker: rabbitmq的服务节点Queue: 队列,是RabbitMQ的内部对象,用于存储消息,RabbitMQ 中消息只能存储在队列中,生产者投递消息到队列,消费者从队列中获取消息并消费,多个消费者可以订阅同一个队列,这是队列中的消息会被平均分摊(轮询)给多个消费者进行消费,而不是每个消费者都收到所有的消息进行消费。(注意:RabbitMQ不支持队列层面广播消费,如果需要广播消费,可以采用一个交换器通过路由key绑定多个队列,原创 2021-03-19 13:47:25 · 341 阅读 · 0 评论 -
面试专题:苹果树(Qtrade)二面三面
如何实现原创 2021-03-18 05:53:48 · 697 阅读 · 2 评论 -
面试专题:什么是Hystrix?简述实现机制
SpringCloud 的重要组件分布式容错框架阻止故障的连锁反应,实现熔断快速失败,实现优雅降级提供实时的监控和告警资源隔离:线程隔离、信号量隔离线程隔离:Hystrix 会给每一个Command分配一个单独的线程池,这样在进行单个服务调用的时候,就可以在独立的线程池里面进行,而不会对其它线程池造成影响信号量隔离:客户端向依赖服务发起请求时,首先要获取一个信号量才能真正发起调用,由于信号量的数量优先,当发生请求量超过信号量个数时,后续的请求都会直接拒绝,进入 fallback流程。信号原创 2021-03-18 13:35:45 · 889 阅读 · 0 评论 -
面试专题:CAP理论、BASE理论
Consistency(一致性):即更新操作成功并返回客户端后,所有节点在同一时间的数据完全一致。对于客户端来说,一致性指的是并发访问时更新过的数据如何获取的问题。从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致。Availablity(可用性)即服务一直可用,而且是正常的响应时间。系统能够很好的为用户服务,不出现用户操作失败或者访问超时等用户体验不好的情况。Partition Tolerance(分区容错性)即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一原创 2021-03-16 17:01:07 · 277 阅读 · 0 评论 -
面试专题:Oppo复盘
面试时长:28分钟线程池运行原理?创建线程池参数的含义?ArrayBlockingQueue作用及实现原理?参考答案:ArrayBlockingQueue是一个阻塞式的队列,继承自AbstractBlockingQueue,间接的实现了Queue接口和Collection接口。底层以数组的形式保存数据(实际上可看作一个循环数组)。常用的操作包括 add,offer,put,remove,poll,take,peek。常用集合?TreeMap原理?CopyOnWriteArrayList原理原创 2021-03-11 20:29:34 · 119 阅读 · 0 评论 -
面试专题:QTrade(苹果树)面试复盘
今天参加了苹果树的面试,整体面试难度还好,问题涉及的范围很广,顺序和内容也比较杂,可能是面试官比较年轻的原因。面试时长:35分钟CPU百分百怎么定位?这个问题频率好高,一着急,jstack命令都忘记了,linux的还要看一看热点Key瞬间1万次 I/O打穿到 Redis 怎么处理?场景分析的部分还是要仔细思考,没给出方案最可怕了。面试题指出:数据库中间件 MyCat 是否有使用过,原理?的确没用过,不能蒙非数据库类存储中间件使用过哪些?还是不知道,只答了Apache 的工具类了,底子薄状态机是原创 2021-03-09 18:53:25 · 713 阅读 · 0 评论 -
面试专题:分布式架构下,Sesion共享有什么方案
采用无状态服务,摒弃Session(比如使用Jwt)可以存入Cookie(因为Cookie是客户端存储,可能导致信息暴露,有安全风险)服务器之间进行Session同步,这样可以保障每台服务器都有当前的Session信息,不过当服务器比较多的时候,同步是会有延迟问题或者同步失败IP绑定策略 使用ngnix(或者其他负载均衡硬件,比如F5)中的IP 绑定策略,同一个IP只能在同一台服务器访问,但是这样做就失去了多次均衡的意义,当挂掉一台服务器的时候,会影响一批用户的使用。现在互联网都在推行..原创 2021-03-08 18:39:51 · 87 阅读 · 2 评论 -
面试专题:中间件——缓存
为什么要使用缓存(一)性能 如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL(比如业务基础数据、假期数据等),就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。题外话:忽然想聊一下这个迅速响应的标准。其实根据交互效果的不同, 这个响应时间没有固定标准。不过曾经看到过一篇文章:“在理想状态夏,我们的页面跳转需要在瞬间解决,对于页面内操作则需要在刹那间解决。另外,超过一弹指的耗时操作要有进度提示,并且可以随时中止或取消,这样才能给用户最好的体验。”那么原创 2021-03-08 13:10:53 · 173 阅读 · 1 评论 -
面试专题:谈谈你对ThreadLocal的理解
ThreadLocal 解决了什么问题?内部源码是怎么样的?作用:为每个线程创建一个副本,实现在线上的上下文传递对象例子1:证明 ThreadLocal 为每个线程创建一个副本public class ThreadLocalTest { private static final ThreadLocal<Long> threadLocal = new ThreadLocal<>(); public static void main(String[] args)原创 2021-03-05 13:17:46 · 209 阅读 · 0 评论