C++ 笔试题纠错

网易2018实习生笔试题:

    1.printf以及cout都是从右向左编译,从左向右输出

    

    

    2.初始化列表的的执行顺序是变量的声明顺序

    3.欲实现出virtual函数,对象必须携带某些信息,主要用来在运行期决定哪一个virtual函数被调用,这份信息通常由所谓的一个vptr(virtual table pointer)指出,vptr指向一个由函数指针构成的数组vbtl(virtual table)。每一个带有virtual函数的class都有一个相应的vbtl。当对象调用某一virtual函数,实际被调用的函数取决于该对象的vptr所指的那个vbtl——编译器在其中寻找适当的函数指针。指针大小对应电脑位数,类空间大小是成员中内存最大值的最小整数倍。

    4.数组名作为函数的参数退化为指针

    

    

    5.关于MYSQL索引:哈希索引是memory引擎表的默认索引类型,memory也支持btree。索引将随机I/O变为顺序I/O

    6.在Linux系统中,可以用来查找可执行文件的是:whereis、locate、which、type、find。

    8.理解阻塞的概念:时间片用完—>执行变为就绪;I/O请求,执行变为堵塞等待事件;被调度—>就绪变为执行

    11.HTTP1.0 与 HTTP1.1主要区别

         长连接:

         HTTP1.0需要使用keep-alive参数告知服务器要建立长连接,HTTP1.1默认支持长连接。HTTP是基于TCP/IP协议的,创建一个TCP连接需要经过三次握手,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用一个长连接来发送多个请求。

         节约带宽:

         HTTP1.1只发送header信息,不带任何body信息,如果服务器认为客户端有权限请求服务器,则返回100.否则返回401.客户端如果接受100,才开始把请求body发送到服务器。这样当服务器返回401时,客户端就可以不用发送请求body了,节约带宽。另外HTTP还支持传送内容的一部分,这样当客户端已经有一部分资源后,只需要跟服务器请求另外的部分资源即可,这是支持文件断点续传的基础。

         HOST域:

         现在可以web server例如tomcat,设置虚拟站点是非常常见的,web server上的多个虚拟站点可以共享同一个ip和端口。HTTP1.0没有host域,HTTP1.1支持该参数

         HTTP1.1   与  HTTP 2.0主要区别

         多路复用:

         HTTP2.0使用了多路复用技术,同一个连接并发处理多个请求。当然HTTP1.1也可以多建立几个TCP连接,来支持并发请求,但是创建TCP连接本身有开销。TCP连接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,再慢慢加大传输速度。因此对应瞬时并发的连接,服务器的响应会变慢。

         数据压缩:

         HTTP2.0使用HPACK算法对header的数据进行压缩

         服务器推送:

         我们对支持HTTP2.0的web server请求数据时,服务器会把一些客户端需要的资源一起推送到客户端。这种方式非常适合加载静态资源。

    19.哈希算法在信息安全中的应用:

         文件校验:

         文件传送后的校验,将得到的目标文件计算md5 checksum与源文件的md5 checksum比对,统计两个文件的每一个码元是完全相同的。

         数字签名,鉴权协议。

网易2018校招C++开发工程师笔试卷:

1.linux下查看系统内存使用情况命令:

        (1)top


        (2)free


        (3)cat /proc/meminfo


区别命令:

        (1)ps 对进程进行检测和监控,ps是显示瞬间进程的状态,并不动态连续。如果想对进程进行实时监控应该用top命令。


        (2)df 用于显示磁盘分区上可用的磁盘空间


2. 什么是事物的ACID

    (1)原子性(Atomic)事务中各项操作,要么全做要么全不做,任何一项的失败都会导致整个事务的失败

    (2)一致性(Consistent)事务结束后系统状态是一致的

    (3)隔离性(Isolated)并发执行的事务彼此无法看到对方的中间状态

    (4)持久性(Durable)事务完成后所做的改动都会被持久化,通过日志和同步备份可以在故障发生后重建数据。

    幻读:事务A重新执行一个查询,返回一系列符合查询条件的行,发现其中插入了被事务B提交的行

    不可重复读:事务A重新读取前面读取过的数据,发现该数据已经被另一个已提交的事务B修改过了

    脏读:A事务读取B事务尚未提交的数据并在此基础上操作,而B事务执行回滚,那么A读取道德数据就是咱数据

3. 复合索引:Mysql从左到右使用索引中的字段,一个查询可以只使用索引中的一部分,但只能是最左侧部分。复合索引为idx——A_B_C,所以查询条件只能是在a,ab,abc,ac才算使用到索引idx_A_B_C


猜你喜欢

转载自blog.csdn.net/qianli2333/article/details/80745500