Linux
- linux Ctrl+C发生了什么
- ping底层协议
- 项目中的md5可以解密吗
(答:md5是单向加密,所以不能解密,一般密码要找回只能通过邮箱手机,重修设置密码。md5只是一种散列算法,不可逆,对于md5并没有加解密的概念。md5不加salt的话,计算得到的值是固定的,所以有记录md5值的散列字典,可以通过字典查询 字典攻击得到原文,但这并不是通过逆向计算出来的,从密码学角度看这个过程不能叫做加解密。另外,王小云找到了md5碰撞的方法,也就是有方法找到具有相同散列值的不同数据,所以md5不可靠了。) - _exit(0)和exit(0)
数据库
设计模式
- 单例:double chick+volatile、关键字final, static, volatile, sychronized
(final修饰形参,匿名内部类会用到,解释了相关原理(值传递而不是引用传递)
synchronized修饰类和实例的区别
volatile:可见性、原子性)https://www.jianshu.com/p/c1cab562c23d
单例模式-上
单例模式-下
- 简单工厂
- 建造者模式
建造者模式
网络
- cookies和session
- cookie和session以及cookie在浏览器怎么储存
- 通信的具体方式:http或RPC(dubbo以及spring cloud)
- RPC协议
- 三次握手、四次挥手、TIME_WAIT和CLOSE_WAIT阶段的作用
- http相关请求类型
- http和https
- 项目中多用到tcp,为什么不用http
(答:理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。http是建立在tcp基础上的一种应用。tcp在传输层,http在应用层,作用本质上不一样) - get能不能上传数据,与post区别
- DNS解析过程
- 输入url发生了什么(有DNS转换啊,ip网络寻址啊,三次挥手啊,可能还有NAT地址转换啊,还有ARP啊)
- TCP 和 UTP 有什么区别?(一个面向连接一个非面向连接,一个可靠一个非可靠,TCP有流量控制,拥塞控制,面向流以及基于这些区别,他们的使用场景)
TCP协议详解(慢启动,流量控制,阻塞控制之类)
数据结构
- 面试HashMap之追命5连问
- hashMap存储null的位置
- 红黑色、
- b树、b+树
- hash如何存储很长的key(在文件中查找特别长的字符串出现的次数)
- Redis
- hashmap:线程安全、如何保证安全、不安全会发生什么
- 快排:中轴
Java类
Collections和Collection
java集合类
java集合类(jdk1.8变化)
hashmap里的取索引index = key.hasCode()&(n-1)
当 lenth = 2n 时,X % length = X & (length - 1)
hashmap为什么要用红黑树
抽象函数、接口、子类父类等等
设计模式
虚拟机堆栈的区别
Java内存模型、进程通信、进程同步
scala统计单词个数
进程线程并行
进程和线程的区别和联系
并发编程
线程安全
进程间通信-总
进程间通信1
进程间通信2
进程间同步
线程池
阻塞队列
wait、notify和notifyAll
死锁的四个必要条件和解决办法
锁机制,死锁解除
cas原理
volatile原理(只有在某些场合才能够使用volatile。使用它必须满足如下两个条件:对变量的写操作不依赖当前值; 该变量没有包含在具有其他变量的不变式中。
)
正确使用volatile
计算机组成原理
物理内存和虚拟内存(程序分配的地址)
fork()
栈内存为什么要用栈结构
CUDA
CUDA入门
CUDA简介
cuda
cuda分层
cuda内存
cuda分层-详细
分布式相关
负载均衡
Nginx
分布式系统
TCC、最终一致性、2PC
分布式消息中间件:RabbitMQ
算法
三色标记问题
DFS岛问题变形
其他
头条-阿里面试题
设计一个文本编辑器,具有插入字符和删除字符的功能,使用什么数据结构。怎么优化时间和空间复杂度。
spring boot
(
@RestController = @Controller + @ResponseBody
@RestController是相当于返回字符串,页面就跳转不了了;@Controller可以跳转页面(当使用@Controller 注解时,spring默认方法返回的是view对象(页面)。而加上@ResponseBody,则方法返回的就是具体对象了。@RestController的作用就相当于@Controller+@ResponseBody的结合体)
@JsonIgnore 是添加在POJO包下的实体类里的对象前面,如果为null,就不返回null
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss a", locale = "zh", timezone = "GMT+8")
)
银行
安全事态感知
科来
零信任
堡垒机
网友评论