编程面试题
月夜星星雨
回忆后的不怀念
展开
-
CPU使用率及负载
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~...原创 2019-03-28 09:42:45 · 12911 阅读 · 0 评论 -
http协议面试
1、说一下什么是Http协议?对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。2、什么是Http协议无状态协议?怎么解决Http协议无状态协议?(曾经去某创业公司问到)无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息 无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。3、说一下Http协议中302状态...原创 2019-05-06 11:03:20 · 194 阅读 · 0 评论 -
进程 线程 协程 管程 纤程 概念对比理解
引言不知道是不是我自己本身就有那么一丝丝的密集恐惧,把这么一大堆看起来很相似很相关的概念放在一起,看起来是有点麻,捋一捋感觉舒服多了。相关概念任务、作业(Job,Task,Schedule)在进程的概念出现之前,进程有着这样的称谓。进程为了使多个程序能够并发(同一时刻只有一个在运行,但感觉起来像多个同时运行;并行(同一时刻真的多个在运行,不是感觉像多个))的执行,操作系统需...原创 2019-04-29 17:24:55 · 144 阅读 · 0 评论 -
tcp粘包和拆包的处理方案
产生tcp粘包和拆包的原因我们知道tcp是以流动的方式传输数据,传输的最小单位为一个报文段(segment)。tcp Header中有个Options标识位,常见的标识为mss(Maximum Segment Size最大消息长度)指的是,连接层每次传输的数据有个最大限制MTU(Maximum Transmission Unit),一般是1500比特,超过这个量要分成多个报文...原创 2019-04-23 15:54:24 · 437 阅读 · 0 评论 -
select、poll、epoll之间的区别总结[整理]
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用...原创 2019-04-12 11:38:06 · 179 阅读 · 0 评论 -
进程间通信IPC,进程;程序;线程区别
•并发的目的–提高系统效率–简化程序设计•多线程是实现并发的一种有效手段–多进程并发(多任务操作系统中)–多线程并发:一个进程可以通过运行多个线程来并发地执行多项任务l进程:内核级的实体•包含代码、数据、堆,PCB(进程管理、内存管理、文件管理信息)等•进程结构存在于内核空间,用户程序须通过系统调用进行访问或改变l线程:用户级的实体•线程结构驻留在用户空间,...原创 2019-03-28 17:39:13 · 391 阅读 · 0 评论 -
进程、线程、多进程、多线程的优缺点和区别
进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程。为什么会有线程? 每个进程都有自己的地址空间,即进程空间,在网络或多用户换机下,一个服务器通常需要接收大量不确定数量用户的并发请...原创 2019-03-22 15:57:38 · 8978 阅读 · 0 评论 -
TCP的11种状态
TCP三次握手建立连接Tcp头部六个标志位中,我们要用到三个:SYN:SYN= 1表示这是一个连接请求或连接接受报文。在建立连接时用来进行同步序号(个人理解是,在建立连接的时候,提醒对方记录本方的起始序号)。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若是同意建立连接,则应响应的报文段中使SYN=1、ACK=1。因此SYN=1表示该报文是一个连接请求报文或者...原创 2019-03-22 15:43:49 · 783 阅读 · 0 评论 -
mysql各种引擎对比、实战
1)存储引擎概述;(2)MySQL各大存储引擎;(3)InnoDB和MyIsam使用及其原理对比;(4)InnoDB和MyIsam引擎原理;(5)剩余引擎的使用DEMO(主要是Mrg_Myisam分表);文章目录:(例子下载在最下方)(1)存储引擎概述为什么要合理选择数据库存储引擎 定义 存储引擎作用 如何修改数据库引擎 怎么查看修改成功(2)MySQL各大存...原创 2019-03-22 15:40:43 · 187 阅读 · 0 评论 -
Linux-内存管理机制、内存监控、buffer/cache异同
在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存(buffer/cache),利用内存读写的高速特性来提高Linux系统的数据访问性能。在这方面,区别于Windows的内存管理。本文从Linux的内存管理机制入手...原创 2019-03-22 15:20:35 · 364 阅读 · 0 评论 -
MySQL中的锁(表锁、行锁)
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。概述 相对其他数据库而言,MySQL的锁机制比...原创 2019-03-22 15:18:21 · 145 阅读 · 0 评论 -
mysql和redis的区别
1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,...原创 2019-03-22 14:15:46 · 154 阅读 · 0 评论 -
TCP数据走向理解
ISO网络七层:应用层:HTTP/HTTPS/SSH/FTP/TELNET等,泛指具有网络通讯的应用程序,而这些应用层的协议只是被应用程序应用而已。会话层/表示层没什么好讲的,都是程序员调用的,就是对报文进行编码。传输层:TCP/UDP,基础不讲,作用通俗的讲就是不管怎么传输,数据肯定可以点对点的传输,而传输层的协议就是对这个传输的过程进行控制。网络层:IP/ICMP/IGMP/...原创 2019-03-08 15:55:34 · 236 阅读 · 1 评论 -
Linux下的网络I/O模型以及各自的优缺点
其实关于这方面的知识,我阅读的是《UNIX网络编程:卷一》,书里是以UNIX为中心展开描述的,根据这部分知识,在网上参考了部分资料。以Linux为中心整理了这篇博客。Linux的I/O模型和Unix的I/O模型基本一致,Linux下一共有5种I/O模型[1]阻塞式I/O模型; 非阻塞式I/O模型; I/O复用式模型; 信号驱动动式I/O模型 异步I/O模型上面这个列表,算是绝...原创 2019-03-28 10:13:10 · 1030 阅读 · 0 评论 -
TCP连接的状态详解以及故障排查
1、TCP状态了解TCP之前,先了解几个命令:linux查看tcp的状态命令:1)、netstat -nat 查看TCP各个状态的数量2)、lsof -i:port 可以检测到打开套接字的状况3)、 sar -n SOCK 查看tcp创建的连接数4)、tcpdump -iany tcp port 9000 对tcp端口为9000的进行抓包网络测试常用...原创 2019-03-27 11:36:44 · 2668 阅读 · 0 评论 -
socket网络编程面试
1、TCP和UDP的区别:1)TCP提供面向连接的传输,通信前要先建立连接(三次握手机制);UDP提供无连接的传输,通信前不需要建立连接。2)TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。3)TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分组开销。4)TCP提供拥塞控制和流量控制机制;UDP不提供拥...原创 2019-03-28 10:04:32 · 3012 阅读 · 0 评论 -
Docker与OpenStack比较
Docker:可以理解为集装箱,将各种货物标准并且互不影响,这些货物就是轻量级的虚拟机 底层硬件的容器级别的虚拟化 一种虚拟的类型Openstack:整合服务器,自由的在这些服务器上创建管理虚拟机 平台管理工具 云计算平台,提供多种云主机方式比如docker、kvm区别与不同Docker与OpenStack类别 Docker OpenStack应用平...原创 2019-05-10 09:24:40 · 3378 阅读 · 0 评论