面经

目录

1. 操作系统

  • 概念

操作系统(Operating System,
OS):是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源分配,以提供给用户和其他软件方便的接口和环境的软件集合。

  • 内存管理

逻辑地址(虚拟地址)、物理地址、分页、分段、页置换算法
https://blog.csdn.net/sicofield/article/details/8807950

  • 线程与进程

进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
https://blog.csdn.net/kuangsonghan/article/details/80674777

  • 进程/线程间通信

管道、信号量、共享内存、消息队列、信号、套接字
进程https://www.cnblogs.com/liugh-wait/p/8533003.html
https://blog.csdn.net/Beyond_2016/article/details/81357705

线程 https://blog.csdn.net/cbnotes/article/details/8516703

  • 死锁,中断

死锁
https://blog.csdn.net/weixin_41064826/article/details/78877052
中断
https://blog.csdn.net/typhoonzb/article/details/4726385

2.计算机网络

  • TCP/UDP区别

TCP是传输控制协议,提供的是面向连接,可靠的字节流服务。当前客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时的重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。(打电话)
UDP是用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。(寄信)

  • TCP三次握手四次挥手

https://www.cnblogs.com/zmlctt/p/3690998.html

  • TCP如何保证数据不出错

TCP为应用程序提供可靠的通信连接,因为他采用了三次握手协议,三次握手协议指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互。连接建立后,客户端和服务器就开始进行安全可靠的数据传输了

  • Http/Https区别

https://zhinan.sogou.com/article/i5611182.htm?ch=zn.wap.kepu

  • Https详解

https://blog.csdn.net/be_happy_mr_li/article/details/53886706

  • Token

https://blog.csdn.net/vMars_K/article/details/94768858

  • 计算机网络模型、TCP/IP协议五层模型

https://blog.csdn.net/u011619283/article/details/52679504
https://blog.csdn.net/W_Y2010/article/details/52536133
https://blog.csdn.net/starter_____/article/details/102055024

  • DNS解析

https://blog.csdn.net/m0_37941193/article/details/78054798

  • Url是如何转换成网页的

3.数据结构

  • 数组与链表在内存中的区别
  • 数组与链表的区别

https://blog.csdn.net/Mormont/article/details/53439772

  • 队列与栈的区别

https://blog.csdn.net/fhb1922702569/article/details/94742469

  • 二叉树详解
  • 二叉树的遍历-前序/中序/后序

https://blog.csdn.net/yin1031468524/article/details/56841188

  • 红黑树详解

https://blog.csdn.net/xiaohusaier/article/details/75731526

  • 深度优先/广度优先算法

https://blog.csdn.net/zhu_0416/article/details/20097747

https://blog.csdn.net/sallyxyl1993/article/details/57077512

4.算法

  • 动态规划

https://blog.csdn.net/qq_41739364/article/details/89306524?locationNum=11&fps=1

  • 贪心算法

https://blog.csdn.net/a2459956664/article/details/50349683

  • 排序算法

https://blog.csdn.net/weixin_41190227/article/details/86600821

  • Manacher

https://blog.csdn.net/bestsort/article/details/81637464

  • 判断链表有环

https://blog.csdn.net/u010983881/article/details/78896293

  • 链表反序

https://www.cnblogs.com/pursuiting/p/7718072.html
https://blog.csdn.net/qinglongzhan/article/details/80667296

5.Java

  • 基本数据类型

1 整型 byte(1字节) short (2个字节) int(4个字节) long (8个字节) 2 浮点型 float(4个字节)
double(8个字节) 3 逻辑性 boolean(八分之一个字节) 4 字符型 char(2个字节,一个字符能存储下一个中文汉字)

  • int与float区别

int为二进制存储(-2^31 ~ 2^31),float为指数存储
https://blog.csdn.net/C2681595858/article/details/84865920

  • float与double区别

float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间
double是双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间
当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f 例如:float a=1.3;
则会提示不能将double转化成float 这成为窄型转化 如果要用float来修饰的话,则应该使用float a=1.3f
注意float是8位有效数字,第7位数字将会产生四舍五入 所以如果一个float变量 这样定义: float a=1.32344435;
则第7位将产生四舍五入(5及5以下的都将舍去)

  • int和Integer的区别

int是基本数据类型,Integer是封装类,是对象。 注意 -128~127
https://blog.csdn.net/Teacher_Lee_ZZSXT/article/details/79230501

  • 自动装箱拆箱(ArrayList不能使用基本数据类型)

Integer total = 99; //自动装箱 int totalprim = total; //自动拆箱
https://www.cnblogs.com/wang-yaz/p/8516151.html
https://www.cnblogs.com/libinhong/p/10988945.html

  • Arraylist和linklist区别

https://www.cnblogs.com/guanbin-529/p/11809596.html

  • 原子性
  • 单继承/单根继承
  • 双亲委派模型
  • 深拷贝/浅拷贝
  • 线程同步/线程安全-Volatile/Synchronized/Lock
  • 两者区别-(abstract/interface)(Override/Overload)(wait/sleep)(JDK/JRE)(start/run)
  • 三者区别-(String/StringBuilder/StringBuffer)(final/finally/finallize)(== 、equals、===)
  • 内部类使用外部类局部变量为什么要声明为final
  • GC详解
  • 四种引用(软引用与弱引用的区别)以及软引用实现高速缓存

强引用、软引用、弱引用、虚引用,高速缓存的实际应用
https://blog.csdn.net/he_world/article/details/50543793

  • Java 反射
  • 泛型与泛型擦除
  • HashMap详解
  • 设计模式
  • 生产者消费者模式

手写!!! https://blog.csdn.net/u011109589/article/details/80519863

  • 多态的含义和优点

多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作
消除类型之间的耦合关系,可替换性,可扩充性,接口性,灵活性,简化性

  • 封装目的

https://blog.csdn.net/qq_41834798/article/details/102806812

  • c++与java的区别

https://blog.csdn.net/weixin_41947075/article/details/89556145

  • 指针和引用的区别

https://blog.csdn.net/superwangxinrui/article/details/80565594

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值