数据库面试题 雨点打透心脏的1/2处 2022-03-08 06:06 240阅读 0赞 1. 简述标准SQL规范中定义的4个事务隔离级别及其具体含义:未提交读(Read Uncommited):即使更新语句没有提交,但别的事务可以读到这个改变;提交读(Read Commited):执行了COMMIT后别的事物就能读到这个改变,并且只能读到已经提交的数据;可重复读(Repeatable Read):在同一个事务里面先后执行同一个查询语句的时候,得到的结果是一样的;串行读(Serializable):事务执行的时候不允许别的事务并发执行,完全串行化的读,每次读都需要获得表级共享锁,读写相互阻塞。 2. 数据库的特性:原子性,一致性,持久性,隔离性。 3. 乐观锁:假设不会发生冲突,只在提交操作时检查是否违反数据完整性。 4. windows环境下的脚本语言:VBS PowerShell BAT ;Shell是linux系统下的脚本语言。 5. 中国的PSTN(公共交换电话网络)普遍使用的是几号信令:7。 6. 奈奎斯特采样定理:实信号采样后能够不失真还原,采样频率fs与信号最高频率fmax关系为:fs>=2fmax 。 7. 在一个包含调制信道的数字通信系统中,在接收端三种同步的先后关系为:载波同步,位同步,帧同步。 8. 默认端口号:https:443 ;http:80;ftp:21;tftp:69;ssh:22;telnet:23;smtp:25;DNS:53;POP3:110;socks:1080; 9. 网络模型: OSI 和TCP/IP ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70 1] 1. 当一台主机从一个网络移到另一个网络是,必须改变IP地址,不需改变MAC地址。 2. crontab - e :执行文字编辑器来设定时程表。crontab -r:删除目前的时程表。crontab -l:列出目前的时程表。 3. Spark和Storm是实时数据处理框架,Hadoop是离线数据处理框架。 4. 数据库三范式:第一范式:数据表中的每一列(字段),必须是不可拆分的最小单元,即确保每一列的原子性;第二范式:满足1NF后要求表中的所有列都必须依赖于主键,而不能有任何一列与主键没有关系;第三范式:满足2NF后,要求:表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键) 5. SQLServer数据库恢复模式:FULL/Simple/Bulk-logged 6. SQLServer访问数据表中数据的方式:table scan / index scan / index seek 7. SQL查询的联接算法:Nested loop join 嵌套循环连接/ Hash join哈希匹配,在连接没有排序的i情况下,生成,探测两阶段 / Sort merge join 合并连接(将两个队列排序后,进行连接) 8. 函数和存储过程:函数只能返回一个变量,而存储过程可以返回多个;函数可以嵌入sql中使用,可以在select中调用,而存储过程不行。执行的本质都一样。函数限制比较多,如不能用临时表,只能用表变量;一般来说,存储过程实现的功能要复杂,而函数实现的功能针对性比较强;存储过程可以返回参数,而函数只能返回表对象;存储过程一般作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面; 9. RAID:相同数量下,RAID5相对RAID1具有更高的读写速度;RAID通过奇偶校验的方式确保数据一致性。 10. 呼叫中心常用的坐席录音方式:并线录音/抓包录音/会议录音/中继录音。 11. OSPF:IGP(内部网关协议),是一种距离矢量路由协议。 12. 广域网线路的类型:ISDN, SDH,帧中继,ATM 13. get请求获取web站点上的数据,可以实现的模块/包:urllib2,request,httplib 14. 数据库类型: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70 2] 15. 使用索引查询是否一定能提高查询性能:通常通过索引查询数据要比全表扫描快,但有代价。索引需要空间来存储,也需要定期维护,每当有记录在表中增减或索引列被修改时,索引本身也会被修改。这意味着每条记录的INSERT,DELETD,UPDATE将为此多付出4,5次的磁盘I/O因为索引需要额外的存储空间和处理,纳兹额不必要的索引反而会使查询反应时间变慢,使用索引查询不一定能提高查询性能,索引范围查询使用于两种情况:基于一个范围的检索,一般查询返回结果集小于表中记录数的30%宜采用;基于非唯一索引的检索,索引就是为了提高查询性能而存在的,如果在查询中索引没有提高性能,只能说使用错了索引。 16. 在MA(多路访问)网络上:OSPF的邻居关系包括了一般的邻居(Neighbor)和邻接(Adjacency):邻居:有端口连接到同一个网段的两个路由器即使邻居路由器;邻接:从邻居关系中选出的为了交换路由信息而形成的关系。区别:邻居关系为双方只交互HELLO报文,不交互链路状态数据库,而邻接关系就要交互所有的信息,也就是说是由建立的邻居关系才有可能进一步建立邻接关系。在同一个MA网络中,所有成员都与DR\\BDR建立邻接关系,DR和BDR之间也建立邻接关系,出DR\\BDR外的所有成员间只建立邻居关系。 17. SQLServer的高可用架构:Failover Clister ,Log Shipping ,Mirror,AlwaysOn 18. 语音识别系统的架构:语音信号预处理与特征提取:通过信号处理算法,提取语音特征转化为数学模型;声学模型与模式匹配:将获取的语音特征使用训练算法进行训练后产生声学模型。在识别时将输入的语音特征同声学模型(模式)进行匹配与比较,得到最佳的识别的结果;语言模型与语言处理:通过算法对语言语种,语法结构,语义学判断纠正,形成对人类语音的处理功能。 19. 数据库的四个特征:原子性(Atomicity)事务是数据库的逻辑工作单位,事物中包含的各操作要么都做要么都不做。,一致性(Consistency)事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。,隔离性(Isolation)一个事务的执行不能干扰其他事务。,持续性(Durability)一个事务一旦提交,它对数据库中数据的改变就因该使永久性的。接下来的其他操作或者故障不应该对其执行结果有任何影响。 20. 进程间最快的通信方式:管道:速度慢,容量有限;消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题;信号量:不能传递复杂消息,只能用来同步。共享内存区:能够很容易控制容量,速度快,但要保持同步,注意线程安全。 21. 同步是处理在操作过程中被其他线程也进行操作,如果是原子性的操作就不会有这种情况。 22. 系统在运行的时候会为每个进程分配不同的内存区域,但是不会位线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是说,除了CPU之外(线程在与逆行的时候要占用CPU资源),计算机内部的软硬件资源的分配于线程无关,线程只能共享它所属进程的资源。 23. GET:获取资源: POST:传输实体文本 /HEAD:获得报文首部 /PUT:传输文件 /DELETE:删除文件 /OPTIONS:询问支持的方法 / TRACE:追踪路径 / CONNECT:要去用隧道协议连接代理。 24. 设计模式的类型: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70 3] 25. TCP提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机指是较慢主机的缓冲区溢出。(TCP可以进行流量控制,防止较快主机指是较慢主机的缓冲区溢出)TCP使用的流量控制协议是可变大小的滑动窗口协议。 26. 不稳定的排序算法:快希选堆; 27. 常用6种负载均衡算法:轮询法,随机法,源地址哈希法,加权轮询法,加权随机法,最小连接数法。 28. 虚拟内存:解放物理空间的存储管理,是的数据被分配的地址于逻辑上程序执行的上下文解耦;提供进程之间的地址空间隔离,防止进程访问地址越界或非法;简化在链接阶段分配地址空间。多进程中,进程的虚拟空间地址映射到相同的物理空间地址避免了相同的模块重复拷贝。 29. 死锁:两个或两个以上的进程在执行过程中国,因争夺资源而造成的一中相互等待的现象,若无外力作用,它们都将无法推进下去。四个条件:互斥条件:一个资源每次只能被一个进程使用。请求于保持条件:一个进程因请求资源额阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 30. 设计一个存储键值对的数据结构,是的’get(index),‘set(index,value)’,'setAll(value)'的时间复杂读都为O(1):对hashmap进行封装,hashmap的key存储键,value存储值和值的更新时间,同时维护一个全局的值和全局值更新时间。set(index,value):更新value,记录更新时间;get(index):比较全局值更新时间和该键值更新时间,取较新的;setAll(value):更新全局值,巨鹿全局更新时间。 31. sizeof的总大小:是其欸不最大成员的整数倍,不足的要补齐。 32. 父进程和子进程拥有独立的地址空间和PID参数。子进程不继承:异步输入输出;父进程的进程正文,数据和其他锁定内存。 33. 表级锁:引擎MyISAM,理解位锁住整个表,锁定期间,其他进程无法对该表进行写操作,如果是读锁,其他进程可以同时读;如果是写锁,则其他进程则读也不允许。行级:引擎:INNOB,单独的一行记录加锁,其他进程还是可以对同一个表中的其他记录进行操作。页级:引擎BDB,表级锁速度快,但冲突多,行级冲突少,但速度慢,页级折衷,一次锁定相邻的一组记录。 34. 数据库并发操作带来的问题:丢失更新;读脏数据;不可重复读。解决这些问题:封锁技术。 35. TCP协议:提供一种面向连接的,可靠的字节流服务;TCP协议声称可靠性数据传输,其底层实现机制主要包括三个方面:使用序列号对传输的数据进行编号,数据超时重传,数据确认应答。 36. RAID(独立磁盘冗余列阵)由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。RAID被看作是有两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的I/O性能。RAID0把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。至少需要2块硬盘,其读写速度是一块硬盘的两倍。如果由N块硬盘,那么读写速度就是一块硬盘的N倍。但没有数据备份功能,安全性较低。RAID1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生护卫备份的数据。当原始数据繁忙时,可以直接从镜像拷贝中读取数据。也要两块硬盘,一块被读取,一块被用作备份数据。但磁盘利用率低。RAID5把数据和与其对应的奇偶校验信息存储到组成RAID5的各个磁盘上,至少要3块硬盘。读取速度接近RAID0,空间利用率高于RAID1. 37. 32位操作系统理论支持最大内存:2的32次方:4G;64位最大只支持128G,主流主板只能加到16G(单通道) 38. HTTP协议:无状态;请求返回的HTTP状态码中,404错误信息通常是在目标页面被更改或移除,或客户端输入页面地址错误后显示的页面。302表示重定向。 39. 页面跳转的两种方式:重定向sendRedirect()和转发getRequestDispatcher()。重定向浏览器URL地址栏改变,转发不变。转发时服务器行为,重定向是客户端行为;转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两层的访问请求。转发2次跳转之间传输的信息不会丢失,重定向2次跳转之间传输的信息会丢失。 40. NAS :网络附属存储,连接在网络上,具备资料存储功能的装置。主要应用于文件服务器。 41. 固态硬盘的优势:启动快,读取数据延时小,功耗低。 42. windows 服务器高可用技术:windows cluster 43. init 的7个运行级别 0停机 1 单用户形式 2多用户形式 3完全多用户 4安全模式 5图形化 6重启。 44. ext2文件系统:磁盘分区划分为2个主要区域:元数据区,数据区;ext3:元数据区,数据区,日志区。ext4支持更大的文件系统和更大的文件:ext3 16TB文件系统,2TB文件,ext4:1EB文件系统,16TB文件。 45. /etc/fstab 自动挂载文件:磁盘被手动挂载后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动是仍需重新挂载。开机时,系统自动读取/etc/fstab这个文件中的内容,根据文件里的配置挂载磁盘。这样只要将磁盘的挂载信息写入这个文件,就无需开机启动后手动挂载。 46. 数据库中基本的锁:排它锁(X锁)和共享锁(S锁)事务对数据对象加了S锁,只能读取,不能更新(因此S锁又称读锁)在S锁释放前,其他事务只能集S锁,不能加X锁,即只能读,不能更新。若加了X锁,则什么锁也不能加,只允许事务读或更新。 47. 数据库视图:一张虚拟表,并不存在数据库中,已存储数据值集的形式存在。在引用过程中依据基表动态生成。安全,高效,定制数据。 48. 香农公式:C=B\*log2(1+S/N) (log2表示以2为底的对数)(bit/s) C是码元速率的极限值,单位bit/s; B为信道带宽,单位:Hz;S是信号功率(瓦),N是噪声功率(瓦)。 49. 加密算法:对称加密算法:DES,3DES,DESX,Blowfish,IDEA,RC4,RC5,RC6和AES ;非对称加密算法:RSA,ECC,Deffie-Hellman,EIGamal,DSA;哈希算法:MD2,MD4,MD5,HAVAL,SHA,SHA-1,HMAC,HMAC-MD5,HMAC-SHA1 。 50. 进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位。 51. 常见的开源容器编排技术:Docker Swarm, Kubernetes, Marathon 和 Nomad。编排工具的作用包括监视虚拟服务器或容器情况,确保它们正在正常运行中,当一台服务器出现故障,它们会迅速实例化一台新虚拟集,甚至一台新容器。整个过程不需要系统管事员介入,因为整个程序是自动化运行的。 52. 数据库索引:对数据库中一列或多列的值进行排序的了一种结构,它是某个表一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。建立索引优点:加快数据的检索速度;创建唯一索引,保证数据库表汇中的每一行数据的唯一性;加速表与表之间连接;在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。缺点:索引需要占用数据表以外的物理存储空间;创建索引和维护索引要花费一定的时间;当对表进行更新操作时,索引需要被重建,降低了数据的维护速度。 53. 跨站脚本攻击的概念,原理和防护方法。XSS(Cross Site Script)跨站脚本攻击。指恶意攻击者王Web页面里插入恶意html代码,当用户浏览该页时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。原理:当应用程序收到含有不可信的数据,在没有进行适当的验证和转移的情况下,就将它发送给一个网页浏览器,着就会产生跨站脚本攻击。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话,危害网站,或者将用户转向支恶意网站XSS属于被动式 的攻击。攻击者先构造一个跨站页面,利用script,,>等各种方式使得用户浏览这个页面时,触发对被攻击站点的http请求。此时,如果被攻击者已经在被攻击站点登陆,就会持有该站点的cookie。这样该站的会认为被攻击者发起了一个http请求。而实际上这个请求是在被攻击者不知情的情况下发起的,由此攻击者在一定程度上达到了冒充被攻击者的目的。防范:根据数据将要置于的HTML上下文(包括主体,属性,JavaScript,CSS或URL)对所有的不可信数据进行恰当的转义(escape)。使用正面的或“白名单的”,具有恰当的规范化和节码功能的输入验证方法同样会有助于防止跨站脚本。但由于很多应用程序在输入中需要特殊字符,这一方法不是完整的防护方法。这种验证方法需要尽可能地解码任何编码输入,同时在接受输入之前需要充分验证数据的长度,字符,格式和任何商务规则。考虑使用内容安全策略(csp)来抵御整个网站的跨站脚本攻击。 54. VTP协议的作用是什么?主要工作模式?各种工作模式的特点?VTP通过网络保持VLAN配置的统一性。VTP在系统集管理增加,删除,调整的VLAN,自动地将信息向网络中的其他交换机广播。工作模式与特点:Sever模式:提供VTP消息:包括VLAN ID 和名字信息;学习相同域名的VTP消息;转发相同域名的VTP消息;可以添加,删除和更改VLAN,VLAN信息写入NVRAM; Client:模式:请求VTP消息;学习相同域名的VTP消息;转发相同域名的VTP消息;不可添加,删除个更改VLAN,VLAN信息不会写入NVRAM; Transparent模式:不提供VTP消息;不学习VTP消息;可以添加,删除和更改VLAN,只在本地有效,VLAN信息写入NVRAM。 55. 分布式存储的一般架构:客户端,元数据服务器和数据服务器。客户端负责发送读写请求,缓存文件元数据和文件数据。元数据服务器负责管理元数据和处理客户端请求,是整个系统的核心组件。数据服务器负责存放文件数据,保证数据的可用性和完整性。该架构的好处是性能和容量能够同时拓展,系统规模具有很强的伸缩性。 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70]: /images/20220308/518da1081ba84575b07ac6166e8f8b27.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70 1]: /images/20220308/7239a5a23ad7496181a85391fb41535c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70 2]: /images/20220308/dff1d646e2844b37ac277e02c7b84ae8.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0ZJTllJRQ_size_16_color_FFFFFF_t_70 3]: /images/20220308/f911321d24fc454bbdd25f22e60e8ea6.png
还没有评论,来说两句吧...