上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要: 使用场景 大数据:数据量和速率激增,数据类型越来越复杂 应用开发:消息引擎,应用解耦,分布式存储,流处理 Kafka的体系结构 topic : 主题(消息的逻辑分类) 客户端: 细分为生产者(朝主题发送消息), 消费者(读取主题的消息); 服务端: broker (1 处理客户端发送和提供消费支持 阅读全文
posted @ 2020-04-17 10:56 李福春 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 最近在积极找工作,入手了一本面试指导书,觉得还不错,分享出一些面试的一些要点。 希望跟我一样的面试者少走弯路。 面试的侧重点 反问面试官的问题:了解公司近况,询问项目,职位相关的问题 面试就当平常的技术交流,体现出软实力(整体的规划和设计)和硬实力(高质量的代码) 面试的形式 简历通过筛选之后就进入 阅读全文
posted @ 2020-04-15 12:07 李福春 阅读(682) 评论(0) 推荐(1) 编辑
摘要: 面试中被问到为什么要使用微服务架构?springcloud的核心组件有哪些? 拿我们国家的兵种来说,如何把战争这个单体架构微服务化,就是根据适用的场景,拆分出不同的兵种(微服务) 然后每个兵种之间通过军区指挥部采用特有的通信协议连接起来(RPC) ; 每个兵种内部自治,有自己的业务,数据,部署单元( 阅读全文
posted @ 2020-04-13 15:28 李福春 阅读(949) 评论(0) 推荐(2) 编辑
摘要: 线程池原理和使用在面试中被高频问到,比如阿里的面试题。下面我们针对问题来进行回答。 为什么要使用线程池? 线程池的使用场景有2: 1, 高并发场景:比如tomcat的处理机制,内置了线程池处理http请求; 2,异步任务处理:比如spring的异步方法改造,增加@Asyn注解对应了一个线程池; 使用 阅读全文
posted @ 2020-04-11 23:50 李福春 阅读(2974) 评论(0) 推荐(0) 编辑
摘要: 今天的问题是:负载均衡是为了解决什么问题?有哪几种实现负载均衡的方式? 解决的问题 把用户的请求分发到多台服务器(更多的资源),解决高并发的问题。 硬件负载均衡 成本比较高,并发数在百万级别,比如F5; 软件负载均衡 HTTP重定向负载均衡 负载均衡过程如上图: 1 请求到负载均衡服务器, 2 根据 阅读全文
posted @ 2020-04-10 14:48 李福春 阅读(2830) 评论(0) 推荐(0) 编辑
摘要: 22 缓存 问题:分布式架构中的缓存的应用场景? 背景 分布式架构中,使用缓存可以优化绝大部分的性能。 分类 按照谁来操作数据源可以分为两类缓存; 通路缓存 缓存组件直接连接数据源并更新缓存 使用场景: 1. CDN 处理静态资源; 2. 反向代理缓存 处理动态资源 旁路缓存 应用程序直接连接数据源 阅读全文
posted @ 2020-04-09 10:40 李福春 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 面试热点问题: 如何应对高并发问题? 场景的变化 垂直伸缩 提高服务器的硬件配置来支撑; 两个问题: 1. 物理服务器的硬件性能存在上限; 1. 投入的成本跟性能提升不成线性关系; 所以,垂直伸缩有效,但是作用有限。 水平伸缩 使用更多的服务器形成集群来支撑 分布式架构的演进 小结 本篇分析了高并发 阅读全文
posted @ 2020-04-09 10:27 李福春 阅读(2358) 评论(0) 推荐(0) 编辑
摘要: 背景 java程序员的开发的java应用程序,一般都会选择使用tomcat发布,但是: 如何充分的掌控tomcat,并让它发挥最优性能呢? 这也是面试的热点问题,结合多年的工作实践,我是李福春,今天总结一下。 tomcat的使用 下载 现在最新的稳定版本是tomcat9, 下载页面: "https: 阅读全文
posted @ 2020-04-09 09:42 李福春 阅读(1842) 评论(1) 推荐(0) 编辑
摘要: 面试中关于分布式的问题很多。(分布式事务,基本理论CAP,BASE,分布式锁)先来一个简单的。 简单说一下分布式ID的设计方案? 首先要明确在分布式环境下,分布式id的基本要求。 1, 全局唯一,在分布式集群下,不同的节点并发生成的分布式id要唯一; 2, 顺序性,分布式id是有序生成 然后给出分布 阅读全文
posted @ 2020-04-06 21:46 李福春 阅读(623) 评论(0) 推荐(1) 编辑
摘要: spring是Java软件开发的事实标准。 我是李福春,我在准备面试,今天的问题是:springBean的生命周期是怎样的? 答:spring最基础的能力是IOC(依赖注入),AOP(面向切面编程),ioc改善了模块之间的耦合问题, 依赖注入的方式:set方法,构造方法,成员变量+ ;Bean的管理 阅读全文
posted @ 2020-04-04 18:16 李福春 阅读(3679) 评论(0) 推荐(0) 编辑
摘要: mysql的事务是innodb存储引擎独有的,myisam存储引擎不支持事务。 事务最经典的例子就是转账了,事务要保证的是一组数据库的操作要么全部成功,要么全部失败。是为了保证高并发场景下数据的正确性而定义。 事务并非mysql独有。在mysql中,数据库的事务隔离采用的是MVCC结合锁来实现的。 阅读全文
posted @ 2020-04-03 18:46 李福春 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 对jdk,jvm,java应用程序的攻击多种多样?那么从java程序员的角度,如何写出安全的代码呢? 我是李福春,我在准备面试,今天的题目是:如何写出安全的java代码? 答:这个需要从功能设计到实现细节综合考虑,所谓的不安全,是攻击者利用jdk,jvm,java应用程序的瑕疵,或者是架构设计的缺陷 阅读全文
posted @ 2020-04-03 16:44 李福春 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 背景 安全是软件设计的第二个非功能性需求,一般是当软件出现安全问题的时候才会得到重视。 最明显的比如 数据库用户信息和密码泄漏等; 数据加解密技术 单向加密 md5+salt值, 这个是软件设计中使用的比较多的。 但是要预防彩虹表的解密,在加密前校验密码的规则,符合安全等级。 对称加密 编程中用的比 阅读全文
posted @ 2020-04-03 15:34 李福春 阅读(286) 评论(0) 推荐(1) 编辑
摘要: 可恶的新冠病毒攻击人类,搞得IT就业形势相当不好?好在有钟南山院士带领我们提前开展好了防护工作! java作为基础平台安装在各种移动设备,PC,小型机,分布式服务器集群,各种不同的操作系统上。所以,对java平台层面的攻击也是最多的。 我是李福春,我在准备面试,今天的题目是: Java平台的注入攻击 阅读全文
posted @ 2020-04-02 23:19 李福春 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 我是李福春,我在准备面试,今天的题目是: mysql的redolog和binlog有什么区别? 答: 如下面的表格, redolog vs binlog 然后我们扩展一下,因为日志主要是记录的修改日志,分别加深分析一下: redolog redolog是innodb存储引擎特有的物理日志,记录的是数 阅读全文
posted @ 2020-04-02 20:31 李福春 阅读(546) 评论(0) 推荐(0) 编辑
摘要: mysql执行一条sql查询语句背后发生了什么呢? 我是李福春,我在准备面试,今天的题目是: mysql的体系结构是怎样的?一条sql语句在mysql的体系结构中经历了什么? 答: mysql体系结构 mysql的题解结构可以分成3个部分。列举如下: mysql client: 比如一个命令行,或者 阅读全文
posted @ 2020-04-01 18:18 李福春 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集是java语言的亮点,大大提高了开发人员的效率。 垃圾收集即GC,当内存不足的时候触发,不同的jvm版本算法和机制都有差别。 我是李福春,我在准备面试,今天的问题是: jvm的垃圾回收算法有哪些?有哪些垃圾收集器? 答:jvm的垃圾回收首先需要标注出可回收的对象,采用的是可达图算法(从对象出 阅读全文
posted @ 2020-04-01 12:33 李福春 阅读(334) 评论(0) 推荐(0) 编辑
摘要: java提供的自动垃圾收集机制大大提高了程序员的开发效率。 但是自动垃圾收集不是万能的,明确jvm的内存结构,工作机制是设计高扩展应用的基础。 也是诊断jvm运行时问题的必备技能。 我是李福春,我在准备面试,今天的题目是: jvm的内存结构是怎样的?哪些区域容易发生OOM? 答:分3部分回答,具体如 阅读全文
posted @ 2020-03-31 16:17 李福春 阅读(292) 评论(0) 推荐(1) 编辑
摘要: jvm赋能java跨平台的能力,而类加载机制是深入理解java的必要条件。 我是李福春,我在准备面试,今天的问题是: java的类加载机制是怎样的?什么是双亲委派原则? 答:java的类加载过程分为 加载,链接,初始化。加载:即从数据源(jar,class,网络)加载class文件到jvm,映射为c 阅读全文
posted @ 2020-03-31 14:41 李福春 阅读(266) 评论(0) 推荐(0) 编辑
摘要: java并发包提供的同步工具和线程池,底层是基于什么原理来设计和实现的呢?这个非常重要。 我是李福春,我在准备面试,今天的题目是: CAS和AQS是什么? 答:CAS是一系列的操作集合,获取当前值进行计算,如果当前值没有改变,表示线程没有被占用,直接更新成功,否则,进行重试或者返回成功或者失败。 他 阅读全文
posted @ 2020-03-31 10:58 李福春 阅读(974) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 12 下一页