摘要:es概念 Q:讲一下 elasticSearch。 可以从应用场景、概念、原理、优劣等多方面讲。 es应用场景:全文索引、近实时数据分析 优势:海量数据,支持亿万级别的搜索分析,近实时,支持并发。 劣势:不支持事务,不支持JOIN。 倒排索引 Q:elasticSearch 的倒排索引是什么? 传统
阅读全文
摘要:Redis Q:Redis有哪些优势? 速度快,因为数据存在内存中 支持丰富数据类型,支持string,list,set,sorted set,hash 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会
阅读全文
摘要:Kafka 面试题 Q:讲一下Kafka。 Kafka 入门一篇文章就够了 Kafka的简单理解 Q:消息队列,有哪些使用场景及用途? 解耦,削峰,限流。 Q:Kafka相对其他消息队列,有什么特点? 持久化:Kafka的持久化能力比较好,通过磁盘持久化。而RabbitMQ是通过内存持久化的。 吞吐
阅读全文
摘要:系统设计 面试题 高可用、高并发、高性能。 可用性、一致性。 分布式、高并发场景 遇到高并发场景,可以使用Redis缓存、Redis限流、MQ异步、MQ削峰等。 Q:在实践中,遇到过哪些并发的业务场景? 秒杀。比如抢商品,抢红包。 秒杀 Q:如何设计一个秒杀/抢券系统? 可以通过队列配合异步处理实现
阅读全文
摘要:java微服务面试题 Q:为什么要用微服务?微服务有哪些优势? 单体应用把所有功能都堆放在一起,改动影响大,风险高。 微服务具有以下优势: 针对特定服务发布,影响小,风险小,成本低。 频繁发布版本,快速交付需求。 低成本扩容,弹性伸缩,适应云环境。 Q:怎么解决服务调用闭环(循环依赖)? 服务分层,
阅读全文
摘要:就算技术面全都答对了,有时也会因为HR面没有认真对待而拿不到offer。 ###HR的想法 找工作难,招人也好难。HR想要招什么样的人? 稳定。如果你跳槽频繁,HR可能会担心你干了没一年就跑路了,她又得重新招人。 高性价比。最好是能干活,然后又不贵的。如果你特别想加入一家公司,可以降低一下期望。 #
阅读全文
摘要:Q:Linux怎么查端口?端口被占用怎么办? netstat -ntulp | grep 2181//查看2181端口号 netstat -pan | grep 2181 //查看2181端口号 如下所示,其中的PID是进程号。 [root@localhost bin]# netstat -pan
阅读全文
摘要:###二分查找法 /** * 二分查找法。时间复杂度:O(log n) * 二分查找法:给定一组有序的数组,每次都从一半中查找。直到找到要求的数据。 * * @param nums * @param target * @return */ public int search(int[] nums,
阅读全文
摘要:简历 1.HR看简历,都是看技术关键词。可以多看招聘要求,简历上要多写些关键词。比如集合,多线程,并发,spring,mysql,redis,kafka,es,springCloud, dubbo, zookeeper, 分布式,微服务等等。 2.可以准备多份简历,根据不同的jd发送不同的简历。 3
阅读全文
摘要:jvm内存区域 Q:jvm内存区域怎么划分的?(高频) 答: 堆内存(线程共享):所有线程共享的一块区域,垃圾收集器管理的主要区域。主要存储对象、数组。 Java 堆中还可以细分为:新生代和老年代;再细致一点的有 Eden 空间、From Survivor 空间、To Survivor 空间等,默认
阅读全文
摘要:网络分层 Q:OSI网络七层模型。 Http Q:http协议的状态码有哪些?含义是什么? 200,服务器已成功处理了请求。 302,重定向。 400,错误请求。 401,未授权,请求要求身份验证。 403,禁止,服务器拒绝请求。 404,未找到,服务器找不到请求的网页。 405,方法禁用,禁用请求
阅读全文
摘要:数据库基础 Q:数据库三范式是什么? 第一范式:列不可再分 第二范式:行可以唯一区分,主键约束 第三范式:表的非主属性不能依赖于其他表的非主属性 外键约束 且三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立第一第二范式上。 Q:数据库引擎有哪些?他们有什么区别?(高频) 区别: In
阅读全文
摘要:刷题 1.刷完题后,看一下其他人的solution,受益匪浅。 2.可以按不同的topic刷题,比如数组、字符串、集合、链表等等。先做十道数组的题,接着再做十道链表的题。 3.刷题,最主要的是,学习思路。 每刷一道题,多做笔记,记住关键的点,这样第二次/第三次刷,就会有思路了。 还可以根据笔记复习。
阅读全文
摘要:分布式分为分布式缓存(Redis)、分布式锁(Redis或Zookeeper)、分布式微服务(Dubbo或SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队列(Kafka、RabbitMq)、分布式事务、分布式搜索(elastaticSearch)等。 不可能所有分布式内容
阅读全文
摘要:##Spring 面试时,最好能结合底层代码说出IOC,AOP或Spring MVC的流程,能说出拦截器的底层。 如果看过Spring的源码,并能结合设计模式表达,是很大的加分项。 ###IOC Q:讲一下IOC IOC是"控制反转"。IOC将对象的控制权进行分离,交由第三方进行控制。 IOC容器负
阅读全文
摘要:多线程 线程,锁 Q:如何新建一个线程? 继承Thread,或者实现Runnable接口,或者通过Callable接口实现。 Q:Callable有什么区别? Callable接口,有一个call()方法,可以返回值。 Q:讲一下Callable接口、Future接口、FutureTask类 Cal
阅读全文
摘要:##类和对象 Q:讲一下面向对象OOP思想。 面向对象主要是抽象,封装,继承,多态。 多态又分为重载和重写。重载主要是方法参数类型不一样,重写则是方法内容不一样。 Q:抽象类和接口有什么区别? 抽象类中可以没有抽象方法;接口中的方法必须是public abstract抽象方法; 抽象类中可以有普通的
阅读全文