笔试基础归纳-8.16

来源:互联网 发布:周杰伦的淘宝店是什么 编辑:程序博客网 时间:2024/05/16 17:15

前面的博客都是讲的是读书笔记,为的是面试准备。
最近一段时间都会在牛客网上刷题了,因为笔试还是要考你的知识全面性还包括本人不是很擅长的智力题等,希望经过以后一段时间的归纳总结,可以提升自己的基础能力。

博客的内容没有按照知识分类,而是本人遇到的常见问题,有的是本人作对了但是其他选项需要进行扩充掌握的,也放进来了,所以可能会比较多,比较杂,但这也是笔试的一个特点,就是看谁了解的基础多。

  • T1. 设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是()

这里写图片描述

A 该操作不能重复读B 该操作不存在问题C 该操作读"脏"数据D 该操作丢失修改

答案D。本人做题的时候按照的是 T1进行A=A+10对数据的修改没有反映在A=A-10上面(这个A是原先没有被修改的)。所以是丢失了修改。

丢失修改、不可重复读、读脏数据都是并发操作中带来的不一致原因。

读”脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤消,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为”脏”数据,即不正确的数据。

不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。具体地讲,不可重复读包括三种情况:
事务T1读取某一数据后,事务T2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。例如,T1读取B=100进行运算,T2读取同一数据B,对其进行修改后将B=200写回数据库。T1为了对读取值校对重读B,B已为200,与第一次读取值不一致。
事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神密地消失了。
事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。(这也叫做幻影读)

  • T2. 文件exer1的访问权限为rw-r–r–,现要增加所有用户的执行权限和同组用户的写权限,下列哪个命令是对的?
A chmod a+x g+w exer1B chmod g+w exer1C chmod 765 exer1D chmod o+x exer1

答案A 本人对linux不是很了解。但是这题是自己猜出来了,同组的肯定是g(group) 对比A选项最能体现题意。

实际上,文件设定法规则: chmod [who] [+ | - | =] [mode] 文件名

u表示用户(user)即文件后者目录的所有者
g表示同组(group)用户,即与文件属主有相同组ID的所有用户
o表示其他(others)用户
a表示所有(all)用户 他是系统默认值

+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。

数字设定法的一般形式为:
chmod [mode] 文件名

我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以 数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

  • T3.新建一个管理员用户admin,需要使用的参数()
A useradd -u 0 -o adminB useradd -g -0 adminC useradd -p -d adminD useradd -e -f admin

答案A。 -u 用户号 指定用户的用户号;因为系统用户的用户号为0,故指定用户号为0 如果同时有-o选项,则可以重复使用其他用户的标识号;因为系统本身存在用户号为0的系统用户,故应该使用该参数。

  • T4.依次把结点的关键字的值为50,30,20,150,130,40,80,70,85,15的记录插入到初始化为空的平衡二叉排序树中,在插入过程中平衡树条件如被破坏,则进行必要的调整,得到的平衡二叉排序树的深度为()
A 6B 5C 4D 3

本题答案C。对于平衡树的插入,删除操作不是很熟练。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
本题过程图如下:
这里写图片描述

所以树的深度为4。

  • T5. Linux修改路由的命令是(A):
A routeB tracertC pingD netstat

route命令是在本地IP路由表中显示和修改条目网络命令。
tracert(路由跟踪)命令是用于确定IP数据包访问目标所采取的路径。tracert命令用IP生存时间TTL字段和ICMP错误消息来确定从一个主机到网络上其他主机的路由。
ping命令可以检测网络是否联通
netstat:netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,他可以显示路由表,实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP 、UDP 和ICMP 协议相关的统计数据,一般用于检验本机各端口 的网络连接情况。

  • T6.在UNIX操作系统中,若用户键入的命令参数的个数为1时,执行cat$1命令:若用户键入的命令个数为2时,执行cat>>$2<$1命令,请将下面所示的shell程序的空缺部分补齐
    这里写图片描述
A $#B $@C $$D $*

答案是A。本题考查了UNIX操作系统中shell程序设计方面的相关知识。在unix中,这些含义如下:
$$ :表示当前命令的进程标识数、
$* :表示所有位置参数,例如$1,$2等
$@与$*类似,$@和$*均表示所有参数,形式有所不同。$@:”$1” “$2” … “$n”; $*: “\$1 \$2 … \$n”。前一个能够分解成多个参数,而后一个是合并成为了一个参数。
\$# :包括位置参数的个数,但是不包括命令名。

  • T7. 以下函数中,和其他函数不属于一类的是_()
A readB preadC writeD pwriteE fseekF lseek

答案是E fseek是函数,定义在#include < stdio.h>头文件中,而其他都是系统调用。

  • T8.以下的命令得在( )自动执行:
    06 03 * * 3 lp /usr/local/message | mail -s "server message" root
A 每周三06:03B 每周六03:03C 每周三03:06D 每周六03:06

格式是 分 时 日 月 周。所以答案是3点6分。(日一二三四五六,从0开始,所以是3)。

  • T9.系统当前已经加载的所有文件系统在___文件中得到反映。(C)
A /usr/sbin/cfdiskB /sbin/fdiskC /etc/mtabD /etc/fstab

答案C
/etc/mtab记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的。

在linux下我们经常用到的四个应用程序的目录是:/bin、/sbin、/usr/bin、/usr/sbin
bin目录:主要放置一些系统的必备执行档。例如cat cp chmod gzip kill ls mkdir more mount rm su tar等

/usr/bin:主要放置一些应用软件工具的必备执行档。例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 zip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。

/sbin:主要放置一些系统管理的必备程序 例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。

/usr/sbin:
放置一些网路管理的必备程序例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等

/bin: 是系统的一些指令.
/sbin: 一般是指超级用户指令.
/usr/bin: 是你在后期安装的一些软件的运行脚本.

综述:
如果是用户和管理员必备的二进制文件,就会放在/bin;
如果是系统管理员必备,但是一般用户根本不会用到的二进制文件,就会放在 /sbin。
如果不是用户必备的二进制文件,多半会放在/usr/bin;
如果不是系统管理员必备的工具,如网络管理命令,多半会放在/usr/sbin。

/etc/fstab 文件解释
文件fstab包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。
这个文件的全路径是/etc/fstab。它只是一个文本文件,你能够用你喜欢的编辑器打开它,但是必须是root用户才能编辑它。同时fsck、mount、umount的等命令都利用该程序。
具体来说:用fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等。对于Windows与arch双操作系统用户,用fstab挂载FAT格式和NTFS格式的分区,可以在Linux中共享windows系统下的资源。

/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通 过 “mount /directoryname”命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。
/etc/mtab文件的作用:
记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的。直接使用mount和确定就是通过查询它而来的。

0 0
原创粉丝点击