Less than 1 minute
- MySQL25
- interview17
- java11
- ECS10
- Linux10
- python10
- nowcoder9
- git6
- go6
- spring6
- Computer Base6
- wsl5
- 源码分析4
- computer tower4
- postgresql3
- Logging Framework3
- c3
- Environment setup3
- redis2
- 架构2
- docker2
- Intro2
- c++2
- milvus2
- wechat2
- MySQL查询深入优化2
- architect1
- Tools1
- icon1
- markdown1
- docker compose1
- Nginx1
- k8s1
- ssh1
- springboot1
- Design Patterns1
- Term1
- CLion1
- windows1
- chocolatey1
- Blog1
- vue1
- trouble shooting1
排序算法
1)冒泡排序(O(N^2))
循环数组,对比相邻两个数据,前面的数据大于后面的数据则交换位置,否则不变。循环一遍之后,最小的数据会在最前面,数组长度-1,从第二个位置继续循环数组,重复上面过程。
2)选择排序(O(N^2))
选择排序是对冒泡排序的优化,在冒泡排序中,每次满足条件都要交换数据位置,在选择排序中,每次循环找到当前循环最小的数据,存储在临时变量中,循环完成之后与第一个数据交换,之后从第二个数据开始,重复这个操作。
3)插入排序(O(N^2))
将数据插入到一个有序数列中,当数据是无序的,我们需要将第一个数据当成有序数列,将后面的数据依次插入。
About 2 min
水壶问题
给你一个5L和一个3L的水桶,如何得到1L水?
其本质就是 or 的问题。
Less than 1 minute
什么是设计模式?
设计模式是一套被反复使用的,多人只晓的,经过分类的代码设计经验总结。
设计模式有三大类:创建型,结构型,行为型
创建型:工厂模式,抽象工厂模式,单例模式,建造者模式,原型模式
结构型:适配器模式,过滤器模式,装饰模式,享元模式,代理模式,外观模式,组合模式,桥接模式
行为型:责任链模式,命令模式,中介者模式,观察者模式,状态模式,策略模式,模板模式,空对象模式,备忘录模式,迭代器模式,解释器模式,访问者模式
Less than 1 minute
Less than 1 minute
SpringMVC 的处理流程了解吗?
Less than 1 minute
HTTP 协议了解吗?
TCP/IP 协议了解吗?
三次握手
四次挥手
UDP 协议和 TCP 协议
Less than 1 minute
面对对象(OOP)的特点
- 封装
- 继承
- 多态
什么是序列化和反序列化?
为了能够支持 IO (网络IO,如进程间通信;磁盘IO,如持久化),将内存中的对象转成字节流的过程就叫序列化。
将字节流转成对象的过程就叫反序列化。
扩展
- 对象需要实现
Serializable
接口才支持序列化。 - 如果对象的字段加了
transient
关键字,则该字段不会被序列化。
About 1 min
Java 中有哪些集合类?
简单说下往 HashMap 中插入一条记录的过程
HashMap 继承体系
public class HashMap<K,V> extends AbsractMap<K,V> implements Map<K,V>{}
public abstract class AbstractMap<K,V> implements Map<K,V> {}
public interface Map<K,V> {}
Less than 1 minute
进程(process)
狭义:是正在运行的一个程序
广义:是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是操作系统进行资源分配与调度的基本单位
进程的概念主要有两点:
- 进程是一个实体
- 进程是一个执行中的程序,只有当操作系统赋予进程生命时,才成为一个活动的实体,称之为进程
线程(thread)
线程是进程的一个执行单元,每个线程有自己的线程栈,自己的寄存器环境,自己的线程本地存储。
线程是操作系统可进行运算调度的最小运行单元。
About 2 min