11 2021 档案
摘要:面试官:今天要不来聊聊HTTP吧? 候选者:嗯,HTTP「协议」是客户端和服务器「交互」的一种通迅的格式 候选者:所谓的「协议」实际上就是双方约定好的「格式」,让双方都能看得懂的东西而已 候选者:所谓的交互实际上就是「请求」和「响应」 面试官:那你知道HTTP各个版本之间的区别吗? 候选者:HTTP
阅读全文
摘要:面试官:今天要不来聊聊JVM调优相关的吧? 面试官:你曾经在生产环境下有过调优JVM的经历吗? 候选者:没有 面试官:... 候选者:嗯...是这样的,我们一般优化系统的思路是这样的 候选者:1. 一般来说关系型数据库是先到瓶颈,首先排查是否为数据库的问题 候选者:(这个过程中就需要评估自己建的索引
阅读全文
摘要:面试官:我看你的简历写着熟悉常见的设计模式,要不你来简单聊聊你熟悉哪几个吧? 候选者:常见的工厂模式、代理模式、模板方法模式、责任链模式、单例模式、包装设计模式、策略模式等都是有所了解的 候选者:项目手写代码用得比较多的,一般就模板方法模式、责任链模式、策略模式、单例模式吧 候选者:像工厂模式、代理
阅读全文
摘要:面试官:我想问个问题哈,项目里比较常见的问题 面试官:我现在有个系统会根据请求的入参,做出不同动作。但是,这块不同的动作很有可能是会发生需求变动的,这块系统你会怎么样设计? 面试官:实际的例子:现在有多个第三方渠道,系统需要对各种渠道进行订单归因。但是归因的逻辑很有可能会发生变化,不同的渠道归因的逻
阅读全文
摘要:面试官:聊下Redis的分片集群,先聊 Redis Cluster好咯? 面试官:Redis Cluser是Redis 3.x才有的官方集群方案,这块你了解多少? 候选者:嗯,要不还是从基础讲起呗? 候选者:在前面聊Redis的时候,提到的Redis都是「单实例」存储所有的数据。 候选者:1. 主从
阅读全文
摘要:面试官:要不你来讲讲你最近在看的点呗?可以拉出来一起讨论下(今天我也不知道要问什么) 候选者:最近在看「Redis」相关的内容 面试官:嗯,我记得已经问过Redis的基础和持久化了 面试官:要不你来讲讲你公司的Redis是什么架构的咯? 候选者:我前公司的Redis架构是「分片集群」,使用的是「Pr
阅读全文
摘要:面试官:要不你来讲讲你最近在看的点呗?可以拉出来一起讨论下 候选者:最近在看「去重」和「幂等」相关的内容 面试官:那你就先来聊聊你对「去重」和「幂等」的理解吧 候选者:我认为「幂等」和「去重」它们很像,我也说不出他们之间的严格区别 候选者:我说下我个人的理解,我也不知道对不对 候选者:「去重」是对请
阅读全文
摘要:面试官:要不这次来聊聊G1垃圾收集器? 候选者:嗯嗯,好的呀 候选者:上次我记得说过,CMS垃圾收集器的弊端:会产生内存碎片&&空间需要预留 候选者:这俩个问题在处理的时候,很有可能会导致停顿时间过长,说白了就是CMS的停顿时间是「不可预知的」 候选者:而G1又可以理解为在CMS垃圾收集器上进行"升
阅读全文
摘要:面试官:今天还是来聊聊CMS垃圾收集器呗? 候选者:嗯啊... 候选者:如果用Seria和Parallel系列的垃圾收集器:在垃圾回收的时,用户线程都会完全停止,直至垃圾回收结束! 候选者:CMS的全称:Concurrent Mark Sweep,翻译过来是「并发标记清除」 候选者:用CMS对比上面
阅读全文
摘要:面试官:我还记得上次你讲到JVM内存结构(运行时数据区域)提到了「堆」,然后你说是分了几块区域嘛 面试官:当时感觉再讲下去那我可能就得加班了 面试官:今天有点空了,继续聊聊「堆」那块吧 候选者:嗯,前面提到了堆分了「新生代」和「老年代」,「新生代」又分为「Eden」和「Survivor」区,「sur
阅读全文
摘要:面试官:今天来聊聊JVM的内存结构吧? 候选者:嗯,好的 候选者:前几次面试的时候也提到了:class文件会被类加载器装载至JVM中,并且JVM会负责程序「运行时」的「内存管理」 候选者:而JVM的内存结构,往往指的就是JVM定义的「运行时数据区域」 候选者:简单来说就分为了5大块:方法区、堆、程序
阅读全文