2019年8月29号成长题目

1、讲下redis

答:非关系型数据库;本质上是一个key-value类型的内存数据库

支持String、Hash、List、Set、zset(sorted set:有序集合)这五种数据类型,redis持久化;RDB和AOF

RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发

AOF(append only file)持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式。

redis架构模式:

单机版、主从复制、哨兵、集群

redis相关的还有缓存雪崩和缓存穿透

缓存穿透:是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透

解决方法:

一、布隆过滤

二、缓存空对象. 将 null 变成一个值

缓存雪崩:如果缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩。

解决方法:

一、数据预热,设置不同的过期时间,让缓存失效的时间点尽量均匀

二、做二级缓存,或者双缓存策略

三、加锁排队

2、 讲下mysql,除了增删改查,mysql讲一下

答:

数据库优化

首先要根据需求写出结构良好的SQL,然后根据SQL在表中建立有效的索引。但是如果索引太多,不但会影响写入的效率,对查询也有一定的影响

根据数据库三范式来进行表结构的设计。设计表结构时,就需要考虑如何设计才能更有效的查询。

mysql索引数据结构是B+树;

索引优化方式

避免过度索引

避免重复和冗余索引

删除不需要使用的索引

复合索需要引遵循最左原则

合理使用短索引

避免索引失效

sql语句优化

在表中建立索引,优先考虑where、group by使用到的字段

尽量避免使用select *,返回无用的字段会降低查询效率;优化方式:使用具体的字段代替*,只返回使用到的字段。

尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描;优化方式:如果是连续数值,可以用between代替;如果是子查询,可以用exists代替;

尽量避免在where条件中等号的左侧进行表达式、函数操作,会导致数据库引擎放弃索引进行全表扫描。

尽量避免进行null值的判断,会导致数据库引擎放弃索引进行全表扫描,需求调节允许的话,可以给字段添加默认值0,对0值进行判断

3、讲下索引数据结构

答:mysql索引的数据结构是树,常用的存储引擎innodb采用的是B+Tree

4、你登录了,但操作的时候有时候重定向,怎么确定是哪个用户登录的,登录的数据是从哪里取的?

session中

5、Session 怎么实现信息共享?

6、讲下cookie和session

答:cookie:

在客户端保存数据,不安全,别人可以分析保存在本地的cookie进行cookie欺骗。

只能保存字符串,且是少量数据

session:

在服务端保存数据,安全

可以保存对象数据,数据无限制(但,当访问过多,会比较占服务器的性能)

一般情况下,session生成的sessionid都是保存在cookie中

7、你的搜索模块,你搜索的时候,执行流程是怎样的?就是从前端到后端再到前端的实现流程?

8、联合索引

答:如果你经常要用到多个字段的多条件查询,可以考虑建立联合索引,一般是除第一个字段外的其它字段不经常用于条件筛选情况,比如说a,b 两个字段,如果你经常用a条件或者a+b条件去查询,而很少单独用b条件查询,那么可以建立a,b的联合索引。如果a和b都要分别经常独立的被用作查询条件,那还是建立多个单列索引

9、你们实例有多少个?

该点属于部署问题

10、如果你写登录这模块的话,你的思路是怎样的?

11、说下你知道的数据结构

答:数组,栈,链表,队列,树,图,堆,散列表等

12、红黑树特点

13、平时有看专业相关书籍吗?说几个书名。

14、简历上的项目相关的问题,问写你的模块等等

原文地址:https://www.cnblogs.com/whymoney1000/p/11430873.html

时间: 2024-09-29 04:39:19

2019年8月29号成长题目的相关文章

2019年8月7号成长题目

1.游标是什么? 游标是SQL的一个内存工作区,存储过程,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率. 2.SpringBoot哪些注解可以替代SpringMVC? @Componet @Autowired @Resource 3.Linux下如何查看当前所有运行程序的端口 netstat-a

8月16号成长题目

1.HTTP返回码中301与302的区别? 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved).302 redirect: 302 代表暂时性转移(Temporarily Moved ). 每个HTTP请求和响应都会带有相应的头部信息.默认情况下,在发送XHR请求的同时,还会发送下列头部信息: Accept:浏览器能够处理的内容类型Accept-Charset:浏览器能够显

8月14号成长题目

HashMap.Hashtable.ConcurrentHashMap的原理与区别? HashTable继承于Dictionary,实现了Map,Cloneable,Java.io.Serializable接口 底层数组+链表实现,无论key还是value都不能为null,同步线程安全,实现线程安全的方式是锁住整个hashtable,效率低,concurrentMap做了相关优化.初始容量为11 扩容:newsize=oldsize*2+1两个参数影响性能:初始容量,加载因子(默认0.75)计算

第9期《python3接口自动化测试》课程,6月29号开学!

2019年 第13期<python3接口自动化测试>课程,6月29号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:6月29号-7月28号,每周六.周日晚上20:30-22:30 报名费:报名费1000一人(周期1个月) 联系QQ:283340479 个人成就: 1.个人博客,百度直接搜索:上海-悠悠博客 2.个人原创微信公众号:yoyoketang 3.已经在百度阅读上线的python四大名著,百度搜索:百度阅读,再搜索书名: <selenium webdri

7月29号=》301页-305页

13.5 运算符 JavaScript提供了相当丰富的运算符,运算符也是JavaScript语言的基础. 通过运算符,可以将变量连接成语句,语句是JavaScript代码中的执行单位. 下面依次介绍JavaScript中的运算符. 13.5.1 赋值运算符 =:即var num = 1; 13.5.2 算术运算符 +:即1+2 =3; -:即2-1 = 1; *:即2*2 =4; /:即4/2 = 2; %:即3%2=1; 13.5.3 位运算符 &:按位与. |:按位或. ~:按位非. ^:按

5月29号=》第41页-第45页

2.4 HTML5头部和元信息 <script>:该元素用于包含JavaScript脚本. <style>:该元素用于定义内部CSS样式. <link>:该元素用于链接外部CSS样式等资源. <title>:该元素用于定义文档标题. <base>:该元素用于指定该页面中所有链接的基准链接. 该元素属性如下: href:指定所有链接的基准链接. target:指定超链接默认在哪个窗口打开=>(_blank._parent._self._top

2017年5月29号课堂笔记

2017年5月29号 阴天 空气质量:良 内容:JavaScript基础:输入输出及确认,统计字符出现的次数,系统函数,自定义函数, 自定义函数和事件的连用,四则运算小练习,方法的作用域 JavaScriptBOM对象(下次课堂笔记再补上,一起记录)history,location,open,document 一.输入输出及确认 仿写老师代码: <!DOCTYPE html><html><head lang="en"> <meta charse

西安活动 | 2019年1月13号 &quot;拥抱开源, 又见.NET&quot; 线下交流活动报名进行中

随着.NET Core的发布和开源,.NET又重新回到人们的视野..NET Core的下个3.0即将release,加入非常多的新功能,越来越拥抱变化,DevOps和Microservice的最佳实践已经在.NET Core落地,比如 Ocelot网关.Grpc+Consul 服务注册发现.Apworks CQRS实现.Xigadee 微服务工具库.脚手架. 西安.NET社区组织发起了此次“拥抱变化, 又见.NET”线下交流活动,邀请了三位资深.NET开发者作为分享讲师,他们将从架构.原理.语言

11月29号站立会议

小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长).程媛媛.杨钰宁.谭力铭 代码地址:HTTPS:https://git.coding.net/shenbaishan/gift-selection.git SSH:[email protected]:shenbaishan/gift-selection.git 会议时间:2016-11-29 13:00-----13:30 会议地点:本部研究生教学楼一楼大厅 会议内容: 一.已完成项: ①猜你喜欢模块--沈柏杉 ②bug整理