个人笔经2019校招京东C++

下面有关值类型和引用类型描述正确的是()?
正确答案: A B C 你的答案: A B C D (错误)
值类型的变量赋值只是进行数据复制,创建一个同值的新对象,而引用类型变量赋值,仅仅是把对象的引用的指针赋值给变量,使它们共用一个内存地址。
值类型数据是在栈上分配内存空间,它的变量直接包含变量的实例,使用效率相对较高。而引用类型数据是分配在堆上,引用类型的变量通常包含一个指向实例的指针,变量通过指针来引用实例。
引用类型一般都具有继承性,但是值类型一般都是封装的,因此值类型不能作为其他任何类型的基类。
值类型变量的作用域主要是在栈上分配内存空间内,而引用类型变量作用域主要在分配的堆上。

如何在多线程中避免发生死锁?
正确答案: A B C D 你的答案: B C D (错误)
允许进程同时访问某些资源。
允许进程强行从占有者那里夺取某些资源。
进程在运行前一次性地向系统申请它所需要的全部资源。
把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。

*******死锁的四个必要条件
1.互斥条件:一个资源每次都只能被一个执行流使用
2.请求与保持条件:一个执行流因请求资源而阻塞时,对已获得的资源保持不放
3.不剥夺条件:一个执行流已获得的资源,在未使用完之前,不能进行强行剥夺
4.循环等待条件:若干执行流之间形成一种头尾相接的循环等待资源的关系

避免死锁
1.破坏死锁的四个必要条件
2.加锁顺序一致
3.避免锁未释放的场景
4.资源一次性分配

TCP协议的拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。常用的方法有:
正确答案: B C 你的答案: A B C (错误)
慢启动、窗口滑动
慢开始、拥塞控制
快重传、快恢复
快开始、快恢复

*******慢启动,拥塞避免,快速重传,快速恢复

对于京东商城高流量访问,预防Ddos的方法可以有?
正确答案: A B C 你的答案: A B C D (错误)
限制同时打开SYN半链接的数目。
缩短SYN半链接的Time out 时间。
关闭不必要的服务。
限制客户端请求服务器时长。

网络管理员把优盘上的源代码给程序员参考,但要防止程序误删除或修改,以下正确的加载方式是( )
正确答案: B C 你的答案: A B C (错误)
mount -o defaults /dev/sdb1 /tools
mount -r /dev/sdb1 /tools
mount -o ro /dev/sdb1 /tools
mount -o ro /dev/sdb /tools

mount
-o<选项> 指定加载文件系统时的选项,包括:
1)defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。
2)ro 以只读模式加载。
3)rw 以可读写模式加载。
4)-r 以只读方式加载设备。
5)-w 以可读写模式加载设备,默认设置。

所以:
A:错,defaults 默认选项为rw
B:C:对
D:sdb指的是系统中的第2块SCSI磁盘,U盘应该是/dev/sdbx
mount -o 指定挂载选项,-t指定文件类型 -r只读 ro,rw:只读或者读写的方式挂载,默认是rw. - sdb 和sdb1的差别。sdb表示整个SD卡设备名

ELETE和TRUNCATE TABLE都是删除表中的数据的语句,它们的不同之处描述正确的是:
正确答案: A B C D 你的答案: A B (错误)
TRUNCATE TABLE比DELETE的速度快
在删除时如果遇到任何一行违反约束(主要是外键约束),TRUNCATE TABLE仍然删除,只是表的结构及其列、约束、索引等保持不变,但DELETE是直接返回错误
对于被外键约束的表,不能使用TRUNCATE TABLE,而应该使用不带WHERE语句的DELETE语句。
如果想保留标识计数值,要用DELETE,因为TRUNCATE TABLE会对新行标志符列使用的计数值重置为该列的种子

******delete 作用是在指定表或者指定视图的基表中删除记录,用户可以删除位于自己模式中的表的记录行,也可以删除表上具有delete权限的记录行,且在删除指定表的记录行时,必须满足该表上的完整性约束条件。 truncate用于删除表的所有数据,执行速度快,释放表的占用空间,操作不可撤销。delete删除表的所有数据时,不会释放招用的空间,且操作时可以撤销的。

友元本质上是普通函数,不在类范畴中,没有 this、成员的概念。
友元类不具有传递性、继承性、双向性。
可以直接调用友元函数,不需要通过对象或指针
友元破坏了封装

系统管理员编写扫描临时文件的shell程序tmpsc.sh, 测试该程序时提示拒绝执行,解决的方法有( )
正确答案: B C D 你的答案: A C (错误)
chmod 644 tmpsc.sh
chmod 755 tmpsc.sh
chmod a+x tmpsc.sh
chmod u+x tmpsc.sh

mod [可选项] <file…>
Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x,读(r=4),写(w=2),执行(x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
所以,chmod 755 设置用户的权限为:
1.文件所有者可读可写可执行 --7
2.与文件所有者同属一个用户组的其他用户可读可执行 --5
3.其它用户组可读可执行 --5
Just doing +x will apply it to all flags: [u]ser, [g]roup, [o]thers.

1在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是:()
回溯法

2一棵完全二叉树共有2018个结点,则叶子结点的个数是?
1009
共有2018个节点说明有11层,前10层的节点总数为1023,所以第11层节点总数为995,995个节点需要占据第10层498个节点,所以第10层的叶节点为512-498=14,所以总共叶节点为995+14=1009啊。

3广义表即我们通常所说的列表(lists)。它放松了对表元素的原子性限制,允许他们有自身结构。那么广义表E((a,(a,b),((a,b),c)))的长度和深度分别为:
1和4
广义表长度:由于广义表中可以同时存储原子和子表两种类型的数据,因此在计算广义表的长度时规定,广义表中存储的每个原子算作一个数据,同样每个子表也只算作是一个数据。
例如,在广义表 {a,{b,c,d}} 中,它包含一个原子和一个子表,因此该广义表的长度为 2。
再比如,广义表 {{a,b,c}} 中只有一个子表 {a,b,c},因此它的长度为 1。

4关于DNS协议
域名服务:UDP
可以进行从域名到ip的解析

5在vi编辑器中,退出不保存的命令是?
:q!

6观察者模式,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。

  1. 下列哪种方法不能用于文本加密()
    MD5
    1.RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;
    2.RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
    3.DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
    4.MD5:严格来说不算加密算法,只能说是摘要算法;

8关于指针下列说法正确的是?
任何指针都可以转化为void *
void *可以转化为任何指针
指针虽然高效、灵活但可能不安全

9以下哪个命令可实现文件去重并排序:
sort demo.txt|uniq

10 linux命令执行成功后会返回
0

11以下不合法的shell头是(不合法指运行会报错):
!#/bin/bas

猜你喜欢

转载自blog.csdn.net/alike_meng/article/details/106601786
今日推荐