面试06,[长亮科技]()(offer)、[荔枝]()FM(在确定部门和薪资)、[涂鸦智能]()(第一轮电话面半小时,待后续)、华资软件(HR面)、[广州速游]()(已挂)。至于公司怎么样不加以言论。

作者:Carson-Zhao
链接:https://ac.nowcoder.com/discuss/522002?type=2&order=0&pos=16&page=1&ncTraceId=&channel=-1&source_id=discuss_tag_nctrack
来源:牛客网

总结一下这几天的面试吧!从19号到现在23号总共笔/面了,长亮科技(offer)、荔枝FM(在确定部门和薪资)、涂鸦智能(第一轮电话面半小时,待后续)、华资软件(HR面)、广州速游(已挂)。至于公司怎么样不加以言论。可能有些题想不起来,但是回答了的问题,没标注不会的,回答的应该还行,马马虎虎,需要了解的私信也可以。

长亮:

实习项目

怎么样设计数据库?

不知道问什么,一般是先收集信息,表示对象和属性,表示对象的对应关系,花e-r图

更具e-r图创表

了解视图吗?实习中看过或者设计过没?讲一讲

视图就是select查询语句创建的一个虚拟存在的表,

ArrayList和LinkedList的优缺点和区别

ArrayList是基于数组实现的,它使用索引在数组中搜索和读取数据是很快的‘

LinkedList是基于双链表实现的。删除、插入元素较快。

ArrayList 只能用作列表;LinkedList 可以用作列表或者队列,因为它还实现了 Deque 接口。

HaspMap的put过程,存null怎么存?

put过程不清楚

存null,强制了链表第0位置为null

讲讲HashMap的扩容过程

太难了,讲源码

讲讲GC过程

可达性分析、或引用计数法,找到失效对象,一般使用复制算法,复制进入幸存区,

重复(15)多次,进入老年代,老年代一般使用,标记清除压缩算法

Redis的常见数据结构和项目中在哪使用,处理哪些数据?

String字符串/hash哈希/list链表/set无序集合/zset(有序集合)

set 对外提供的功能与list类似是一个列表的功能,特殊之处在于 set 是可以自动排重的。

依次用于

粉丝数/用户信息/粉丝列表/共同粉丝/弹幕消息

跳表原理

多个索引

面试06,[长亮科技]()(offer)、[荔枝]()FM(在确定部门和薪资)、[涂鸦智能]()(第一轮电话面半小时,待后续)、华资软件(HR面)、[广州速游]()(已挂)。至于公司怎么样不加以言论。_第1张图片

为什么Redis需要持久化?

redis重启后数据丢失

Redis宕机后修复重启的加载过程

1.如果你把redis的持久化做好,备份和恢复方案做到企业级的程度,那么即时你的redis故障了,也可以通过备份数据,快速恢复,一旦恢复,就可以立即对外提供服务.

2.如果做了主从复制和哨兵,监听哨兵返回错误使用附属redis顶替宕机的redis

AOF和RDB的区别

RDB持久化机制,对redis中的数据执行周期性的持久化,每隔几分钟,几小时,几天,生成redis内存中的数据的一份完整的快照
AOF持久化机制,对每条写入命令作为日志,以append-only(追加)的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集,

MySQL索引有哪些?innodb聚簇索引和非聚簇索引区别

不知道

索引类型分类

不知道

输入一个URL背后发生什么?DNS解析过程

将域名解析成ip,tcp三次握手建立连接,发送http请求,服务器处理请求返回报文,浏览器解析页面,tcp四次挥手。

Linux怎么查看日志

tail -f xx.log

了解docker原理吗?(这个不知道,只会用)

共同使用kernel内核,各个应用和环境相互隔离。

三握四挥

前面文章多次赘述,这里就不废话了

https://blog.csdn.net/weixin_50224527/article/details/120501023

荔枝:

实习项目,难点,技术栈,提升

treeMap和HashMap的区别

treemap继承了sortedmap默认升序排列,

abstractmap继承了treemap,hashmap继承了abstractmap

大端存储和小端存储的不同

大端存储:将变量的最高有效位存储在地址的高位,最低有效位存储在地址的低位;

小端存储:将变量的最高有效位存储在地址的低位,最低有效位存储在地址的高位;

怎么确定对象是否可回收?

引用计数器为0,可达性分析联通

为什么是15次轮回才能将对象放到老年代?mark word中表示age的4位能修改吗?

头部是4个比特位,1111,最大15

Redis在使用的时候哪些性能问题(回答的是fork子进程消耗性能)

主从复制,持久化写文件,保持内存快照

Redis有哪些删除缓存的方法?优缺点,怎样改进的?

定期删除,redis默认每个100ms检查,是否有过期的key,有过期key则删除。需要说明的是,redis不是每个100ms将所有的key检查一次,而是随机抽取进行检查(如果每隔100ms,全部key进行检查,redis岂不是卡死)。因此,如果只采用定期删除策略,会导致很多key到时间没有删除。

于是,惰性删除派上用场。也就是说在你获取某个key的时候,redis会检查一下,这个key如果设置了过期时间那么是否过期了?如果过期了此时就会删除。

用什么实现线程顺序执行(ReenterLock+Condition),有没有其他方法?

join 方法

讲讲Synchronized锁升级的过程和应用场景

不会

聊聊ThreadLocal,在工作中中有用到吗?(只讲了在demo中用过)

私下有没有做过GC调优,怎么做的大体流程(构建的调优环境)

用什么东西或者编码可以查看各种GC的状态?

线程池的七大参数和意义

(1)corePoolSize:线程池中的常驻核心线程数。

(2)maximumPoolSize:线程池能够容纳同时执行的最大线程数,此值大于等于1。

(3)keepAliveTime:多余的空闲线程存活时间,当空间时间达到keepAliveTime值时,多余的线程会被销毁直到只剩下corePoolSize个线程为止。

(4)unit:keepAliveTime的单位。(H/min/s)

(5)workQueue:任务队列,被提交但尚未被执行的任务。

(6)threadFactory:表示生成线程池中工作线程的线程工厂,用户创建新线程,一般用默认即可。

(7)handler:拒绝策略,表示当线程队列满了并且工作线程大于等于线程池的最大显示数(maxnumPoolSize)时如何来拒绝请求执行的runnable的策略。

maven中怎么排除Jar冲突?

1.使用maven依赖分析 mvn dependency:tree

2.父类锁定版本

怎么判断哪些地方需要建立索引?举例子

涂鸦智能:

怎么解决Spring循环依赖(三级缓存)

Spring循环依赖的理论依据其实是Java基于引用传递,当我们获取到对象的引用时,对象的field或者或属性是可以延后设置的。

Spring单例对象的初始化其实可以分为三步:(实例化、填充属性、初始化)

所以在“A的某个field或者setter依赖了B的实例对象,同时B的某个field或者setter依赖了A的实例对象”这种循环依赖的情况。

a暴露自己在三次缓存,singletonFactories中,依赖b,创建b,b在三次缓存获取a对象完成初始化放入到一级缓存singletonObjects,a根据b填充属性,。完成初始化,放入到一级缓存singletonObjects

AOP的代理过程,具体实现方法,以及底层Proxy的newProxyInsatance的三个参数在JDK代理和CGLIB代理的不同

不懂

怎么使用AQS实现公平锁和非公平锁?

aqs有一个state变量,线程获取锁status++,释放锁 –

非公平锁实现:
C直接尝试对这个status CAS(0,1)操作,并成功改变了status的值,B线程获取锁失败,再次挂起,这就是非公平锁,B在C之前尝试获取锁,而最终是C抢到了锁。
公平锁:
C发现有线程在等待队列,直接将自己进入等待队列并挂起,B获取锁

讲讲CAS原理

乐观锁是一种思想,CAS只是这种思想的一种实现方式。

Http和Https的区别?

简单来说,HTTPS是使用TLS/SSL加密的HTTP协议

HTTPS需要使用ca申请证书

传输协议上, HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的 SSL 加密传输协议

连接方式与端口上,http的连接简单,是无状态的,端口是 80; https 在http的基础上使用了ssl协议进行加密传输,端口是 443

Https的建立连接的过程

域名解析ip,三握手,发送请求,处理请求返回数据报,浏览器解析渲染页面,四挥手

tcp连接为什么需要三次握手?

保证双发都能收发数据,双工通信。

聊聊JMM

  • jmm:java内存模型,**不存在的东西,**是一个概念或者约定
  • 常见约定
  • 线程解锁前,共享变量立刻刷新会主存
  • 线程加锁前,比u需要读取主存中的最新值到工作内存中
  • 加锁和解锁是听一把锁
  • 线程有份 工作内存 和主内存

常用操作

面试06,[长亮科技]()(offer)、[荔枝]()FM(在确定部门和薪资)、[涂鸦智能]()(第一轮电话面半小时,待后续)、华资软件(HR面)、[广州速游]()(已挂)。至于公司怎么样不加以言论。_第2张图片

MySQL聚簇索引和非聚簇索引区别

解释什么是覆盖索引

问了cloud的熔断器Hystrix原理(没答上来)

不懂

Redis的持久化原理RDB和AOF

rdb定期存储一次,存入redis内存快照,可能导致没存数据丢失。

aof,把写操作写入日志,数据丢失时,根据日志恢复数据。

华资软件:

针对容器最基本的知识、以及简单排序出了一些题目(不太想列举了)

以下内容需要较强的实现的能力,自己看吧

广州速游:

Linux简单命令

手写单例、二分查找、设计定时器、SQL全、内、左连、右连

容器知识

字符串去重

遍历二叉树

知中后序求前

设计游戏例子算法

如何设计一个数据库,怎么设计索引

速游挂了,五十分钟,题目没写完

这基本上就是这几天面试的一个技术篇总结吧!大概就这样!

你可能感兴趣的:(面试,redis,数据库)