博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快手面经
阅读量:2455 次
发布时间:2019-05-10

本文共 2269 字,大约阅读时间需要 7 分钟。

一面基础 二面算法

一面:
如何建立索引:1.create 索引类型 索引名 on 表(字段) 2.alter table 表名 add 索引类型 索引名 (字段)
使用索引时要注意什么:好多原则巴拉巴拉
Hashmap和currentHashMap:hashmap线程不安全,currentmap线程安全。
CurrentHashMap如何保证线程安全:ConcurrentHashMap引入了一个“分段锁”的概念,具体可以理解为把一个大的Map拆分成N个小的HashTable,根据key.hashCode()来决定把key放到哪个HashTable中。在ConcurrentHashMap中,就是把Map分成了N个Segment,put和get的时候,都是现根据key.hashCode()算出放到哪个Segment中
Redis的作用:
为什么用redis做缓存:redis的缓存可以持久化,redis可以实现分布式缓存,redis’可以处理每秒百万级的并发,redis有缓存过期机制,redis有丰富的API
**Tcp三次握手:**SYN->SYN+ACK->ACK
**四次挥手:**FIN->ACK;FIN->ACK
当一段连接已经断开时,另一端再发数据,此时如何防止数据丢失://还未解决也没有搜到。。。
接口和抽象类:
抽象类默认用abstrct 修饰。修饰限定符是public 或者private的,子类必须是西安它的所有方法,如果没有全部实现,则子类也要用abstract修饰。抽象类不能使private的不然子类不能继承。
接口中的变量默认是public static final的,且必须给出初始值,方法默认使用public abstract的,从jdk1.8开始,可以有具体实现的默认方法。
一个类可以实现多个但是只能继承一个抽象类
常用的线程池:
CachedThreadPool:可缓存的线程池,该线程池中没有核心线程,非核心线程的数量为Integer.max_value,相当于无限大。当需要时创建线程来执行任务,没有需要时回收线程
SecudleThreadPool:周期性的执行任务的线程池,按照某中国特定的计划周期性的执行线程中的任务。有核心线程也有非核心线程,非核心线程的大小为无限大,用于周期性的执行任务。
SingleThreadPool:只有一条线程来执行任务,适用于顺序执行任务的场景。
FixedThreadPool:定长的线程池有核心线程,核心线程就是最大的线程数,没有非核心线程。

二面:

**项目用到了多少张表:**11张
Solr是如何和数据库连接的:
1.在mysql中建立数据库表
2.将数据库的驱动文件加入solr的lib文件夹中:mysql-connector-java-版本号.jar
3.在自己创建的core实例的conf文件中进行数据配置
4.启动tomcat并访问solr,算则dataimport,点击excute
5.点击query查询后方可显示数据库信息
6.https://blog.csdn.net/gaosilingqwer/article/details/79891278
分页是如何读取数据?是一次把所有数据传过去前端分页吗?
使用分页插件在前端分页,不能再数据库中一次将所有信息查出返回给前端,这样数据库压力太大。使用sql语句,limit start n;参数含义 start-页码,n-每页显示的条数
使用springboot jpa Pageable pageable =PageRequest.of(pageNumber,pageSize); pageSize行数,pageNumber页码数
Redis重启数据会清空吗?
可以进行持久化配置,有两种方式(持久化是说可以将内存中的文件保存再数据库中,或者磁盘、xml文件等)
RDB 方式可以保存过去一段时间内的数据,并且保存结果是一个单一的文件,可以将文件备份到其他服务器,并且在回复大量数据的时候,RDB 方式的速度会比 AOF 方式的回复速度要快。
AOF 方式默认每秒钟备份1次,频率很高,它的操作方式是以追加的方式记录日志而不是数据,并且它的重写过程是按顺序进行追加,所以它的文件内容非常容易读懂。可以在某些需要的时候打开 AOF 文件对其编辑,增加或删除某些记录,最后再执行恢复操作。

Zookeeper是用集群吗?一个节点宕机后怎么办?

用集群,一个主节点剩下的都时备份节点,注册中心对等集群,任意一台宕机就会自动切换到另一台。注册中心全部宕机后,服务提供者和服务消费者仍然能通过本地缓存通信。
对zookeeper的理解:https://www.cnblogs.com/takumicx/p/9508706.html
对dubbo的理解:https://segmentfault.com/a/1190000019896723
B+树:非叶子节点不存储数据,作为索引,叶子节点存储数据,用链表进行连接。
红黑树:所有节点非黑即红,根节点是黑色,任意节点到它每个叶子节点的所有路径都包含相同的黑色节点。

**b树和b+树的区别:**b树:有序数组+多差平衡树;B+树:有序数组链表+多差平衡树

索引为什么不选择b树:b树的数据信息存放在每个节点,遍历采用中序遍历,遍历1-100可能会涉及到不同的层次。而B+树直接从叶子节点扫一遍就完了。B+树支持range-query。

你可能感兴趣的文章
perl子例程_子例程签名在Perl 6中如何工作
查看>>
开源 js图形_年度计算机图形会议鼓励使用开源
查看>>
多步骤建立镜像_通过四个步骤建立更多可信赖的团队
查看>>
linux中top命令_在Linux中使用top命令的提示
查看>>
管理工具 tools不可用_赶紧为管理员准备的10种杀手tools工具
查看>>
sysadmin默认密码_sysadmin的SELinux指南:42个主要问题的答案
查看>>
sysadmin默认密码_sysadmin的Ansible指南:如何简化任务
查看>>
linux开源游戏_适用于Linux的5个开源策略和模拟游戏
查看>>
开源语法解释器_抓住机会解释开源
查看>>
sonic pi_前5名:Linux,Sonic Pi,LibreOffice等
查看>>
owncloud_本周热门文章5:ownCloud创始人专访,Raspberry Pi上的Docker等
查看>>
前5名:来自Docker CEO的一句话,来自Scratch的Linux等
查看>>
开源意义_有用的陌生人和开源的意义
查看>>
最佳 开源 人脸识别算法_2014年最佳开源教程
查看>>
foss测试_2014年FOSS十大法律发展
查看>>
本周最热门的5篇文章:Raspberry Pi A +,Ansible和Jen的Linux历程
查看>>
owncloud_一周前五篇文章:Linux理念,ownCloud集成等
查看>>
最佳 开源 人脸识别算法_本周最佳5篇文章:今年最佳开源,以及更多
查看>>
firefox 开源_一周最热门的5篇文章:移动版Firefox OS和年度开源奇迹
查看>>
18年开源前端框架排名_2014年排名前20位的开源故事
查看>>