1、描述 memcached 和 redis的区别 2、redis的数据类型有哪些? 1)字符串 2)列表(队列) 3)集合(字符串形式的无序集合) 4)有序集合(字符串形式的有序集合,顺序排列,不能重复,但分数例外,所以可以用来排序,而且速度极快,直接放进有序集合,再取出来的就是排序好的) 5)哈希(一个键值对集合,适合存储对象)
1.列举常见的关系型数据库和非关系型数据库有哪些? 2.MySQL常见数据库引擎及比较? 3.简述数据三大范式? 4.什么是事务?MySQL如何支持事务? 5.简述数据库设计中一对多和多对多的应用场景? 6.如何基于数据库实现商城商品计数器? 7.常见SQL(必备)详见武沛齐博客:https://www.cnblogs.com/wupeiqi/articles/5729934.html 8.简述触发器、函数、视图、存储过程? 9.MySQL索引种类 10.索引在什么情况下遵循最左...
只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题那么,如何解决一致性问题?一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 缓存 + 数据库 必须保持一致性的话,最好不要做这个方案。即:读请求和写请求串行化,串到一个内存队列里去。串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情况...
我们来看两个有关Java框架之Hibernate的面试题,这是关于Hibernate的常考知识点。 1、请介绍一下Hibernate的二级缓存 解题按照以下思路来回答: (1)首先说清楚什么是缓存; (2)再说有了hibernate的Session就是一级缓存,即有了一级缓存,为什么还要有二级缓存; (3)最后再说如何配置Hibernate的二级缓存。 缓存就是把以前从数据库中查询出来和使用过的对象保存在内存中(一个数据结构中),这个数据结构通常是或类似Hashmap,...
第一题 上一题实现了LRU缓存算法,LFU也是一个著名的缓存算法 自行了解之后实现LFU中的set 和 get 要求:两个方法的时间复杂度都为O(1) LFU根据get、set操作次数决定的优先级。 同样次数,最不经常访问的先出去。 实现思路:建立一个次数链,每个次数再链接上一个双向链。(两个双链表) Put和Get的时候,先检查是否存在 如果没有,put就存在1的链表下,get就返回null。 如果有,找到属于哪个头,然后分离出来,查看头部...
第一题: 给定一棵二叉树的头节点head,请返回最大搜索二叉子树的大小 二叉树的套路 统一处理逻辑:假设以每个节点为头的这棵树,他的最大搜索二叉子树是什么。答案一定在其中 第一步,列出可能性(最难部分) 1、可能来自左子树上的某课子树 2、可能来自右子树上的某课子树 3、整颗都是(左右子树都是搜索二叉树并且左子树最大小于该节点,右子树最小大于该节点) 第二步,收集信息: 1、左树最大搜索子树大小 2、右树最...
六、缓存 1、Memcached。 答:特点是多线程、异步IO、KV存储、内存存储没有持久化、采用LRU(Least Recent Used)淘汰算法。 内存管理(Slab结构):内存按照1MB的大小分页,页中的内存分割为具有相同大小的内存块。一个新的记录到来时,Memcached根据记录的大小选择存储的Slab类型,如果没有该类型空闲的Slab块,会创建一个新的页。当记录大小发生变化时,存储的位置有可能发生变化。以此来解决内存碎片问题。 如果每个服务器只部...
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lE0GWZI8-1619324436467)(//upload-images.jianshu.io/upload_images/6098829-361adbbf30a02ff9.png?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)] 临近年关,又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。 这些题目是网友去百度、小米、乐视、美团、58、猎豹、3...
只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。 串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降...
不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。 关于final修饰符,介绍如下: 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 f...
SOA与微服务的区别? 1、SOA SOA的提出是在企业计算领域,就是要将紧耦合的系统,划分为面向业务的,粗粒度,松耦合,无状态的服务。 服务发布出来供其他服务调用,一组互相依赖的服务就构成了SOA架构下的系统。 基于这些基础的服务,可以将业务过程用类似BPEL流程的方式编排起来,而BPEL反映的是业务处理的过程,这些过程对于业务人员更为直观,调整也比hardcode的代码更容易。 当然企业还需要对服务治理,比如服务注册库,监控管...
JAVA中的几种基本数据类型是什么,各自占用多少字节。String类能被继承吗,为什么。String,Stringbuffer,StringBuilder的区别。ArrayList和LinkedList有什么区别。讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当new的时候,他们的执行顺序。用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容...
目录 1.微服务 面试题 2.微服务 面试题解析 1、您对微服务有何了解? 2、微服务架构有哪些优势? 3、微服务有哪些特点? 4、设计微服务的最佳实践是什么? 5、微服务架构如何运作? 6、微服务架构的优缺点是什么? 7、单片,SOA 和微服务架构有什么区别? 8、在使用微服务架构时,您面临哪些挑战? 9、SOA 和微服务架构之间的主要区别是什么? 10、微服务有什么特点? 11、什么是领域驱动设计? 12、为什么需要域驱动设计(DDD)?...
今天分享给大家的都是目前主流企业使用最高频的面试题库,也都是 Java 版本升级之后,重新整理归纳的最新答案,会让面试者少走很多不必要的弯路。同时每个专题都做到了详尽的面试解析文档,以确保每个阶段的读者都能看得懂, MySQL 主键超键候选键外键 数据库事务的四个特性及含义 视图的作用,视图可以更改么? drop,delete与truncate的区别 索引的工作原理及其种类 连接的种类 数据库范式 数据库优化的思路 存储过程与触发器的区...
JAVA基础JAVA中的几种基本数据类型是什么,各自占用多少字节。String类能被继承吗,为什么。String,Stringbuffer,StringBuilder的区别。ArrayList和LinkedList有什么区别。讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当new的时候,他们的执行顺序。用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容...