面试问题总结01

1.进程和线程的区别

  1. 进程是资源分配最小单位;线程是程序执行的最小单位。
  2. 进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段,堆栈段和数据段;线程没有独立的地址空间,它使用相同的地址空间共享数据。
  3. CPU切换一个线程比切换进程花费小;创建一个线程比进程开销小。
  4. 线程占用的资源要比进程少很多。
  5. 进程对资源保护要求高,开销大,效率相对较低;线程资源保护要求不高,但开销小,效率高,可频繁切换。

2.数据库的左右连接

左连接:

left jion
select * from tbl1 left join tbl2 where tbl1.ID=tbl2.ID;

检索结果:显示tbl1(左表)的所有数据和tbl2满足where条件(ID相等)的右表所有字段,若不满足,右表字段显示null。右链接同理,right join 影响到的是左边的表。

3.队列和链表的区别

  1. 队列
    队列是一种数据结构,其特点是先进先出,后进后出,只能在队首删除,在队尾增加。队列的存储方式既可以使用线性表进行存储,也可以使用链表进行存储。

  2. 栈也是一种数据结构,只能在一端进行插入和删除操作的特殊线性表,按照先进后出的原则存储数据。
  3. 链表
    链表是一种数据的存储方式(与其对应的是顺序存储结构),存储的数据在内存中是不连续的,用指针对数据进行访问。

4.数据库的模糊查询

区别于完整查询。
模糊查询格式:

select 字段 fromwhere 某字段 like 条件;

关于条件,SQL提供了四种匹配模式:

  1. %:表示零个或多个字符
    可以匹配任意类型和任意长度的字符(中文用两个%表示)
  2. _:表示任意单个字符
    匹配单个任意字符,它通常用来限制表达式的字符长度
  3. []:表示括号内所列字符中一个
    指定一个字符、字符串或范围,要求所匹配的对象为他们中的任一个
    若有 0123456,abcdefg ,则可略写为0-6,a-g
  4. [^]:表示不在括号所列之内的单个字符
    其取值和[]相同,但它所要求匹配对象为指定字符以外的任一字符

5.数据库的条件查询

where having group by

6.TCP和HTTP的基本原理

TCP:传输层,三次握手四次挥手,报文,序列号,

HTTP:请求/响应模型
1、客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
2、发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据
四部分组成。
3、服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4、释放连接[TCP连接]
若connection 模式为close,则服务器主动关闭TCP连接客户端被动关闭连接,释放TCP连接若connection 模式为
keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的 HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:
1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为TCP 三次握手的第三个报文的数据发送给服务器;
4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
5、释放TCP连接

7。Linux的shell脚本语言

很菜,不会,懂?

8.什么是多态

概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。就是用基类的引用指向子类的对象,调用obj.方法的时候会进行动态绑定
由子类重写父类方法,然后用父类引用指向子类对象,调用方法的时候会进行动态绑定,就是多态。
好处:

  1. 应用程序不必为了每一个派生类编写功能调用,只需要对抽象基类进行处理即可,大大提高程序的可复用性。(继承)
  2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值