1.下面关于二分查找的叙述中正确的是:
A.表必须有序,表可以顺序方式存储,也可以链表方式存储
B.表必须有序且表中数据必须是整型,实型或字符型
C.表必须有序,而且只能从小到大排列
D.表必须有序,且表只能以顺序方式存储
答: D
2.简述一下代理模式(Proxy模式)
Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理。
设计模式中定义:为其他对象提供一种代理以控制对这个对象的访问。
*为什么要使用代理模式*
授权机制 不同级别的用户对同一对象拥有不同的访问权利,如Jive论坛系统中,就使用Proxy进行授权机制控制,访问论坛有两种人:注册用户和游客(未注册用户),Jive中就通过类似ForumProxy这样的代理来控制这两种用户对论坛的访问权限。
某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动。
*举例两个具体情况:*
如果那个对象是一个是很大的图片,需要花费很长时间才能显示出来,那么当这个图片包含在文档中时,使用编辑器或浏览器打开这个文档,打开文档必须很迅速,不能等待大图片处理完成,这时需要做个图片Proxy来代替真正的图片。
如果那个对象在Internet的某个远端服务器上,直接操作这个对象因为网络速度原因可能比较慢,那我们可以先用Proxy来代替那个对象。
总之原则是,对于开销很大的对象,只有在使用它时才创建,这个原则可以为我们节省很多宝贵的Java内存。所以,有些人认为Java耗费资源内存,我以为这和程序编制思路也有一定的关系。
*如何使用代理模式*
以论坛系统为例,访问论坛系统的用户有多种类型:注册普通用户、论坛管理者、系统管理者、游客。注册普通用户才能发言,论坛管理者可以管理他被授权的论坛,系统管理者可以管理所有事务等,这些权限划分和管理是使用Proxy完成的。
3.请解释下列 10 个 shell 命令的用途
top:该命令提供了实时对系统处理器状态的监控,它能够实时显示系统中各个进程的资源占用情况。该命令可以按照对 CPU、内存使用和执行时间对系统任务进程进行排序显示,同时还可以通过交互式命令进行设定显示。
ps:显示系统进程在瞬间的运行动态。 mv:文件/目录改名或变更存储位置。 find:在指定的路径下查找指定文件。
df:检查磁盘空间占用情况。
cat:将文件的内容打印到标准输出。
chmod:改变文件的权限。 chgrp:改变文件所属组。
grep:过滤文本,根据指定的字符串,对文件的每一行进行搜索,如找到,则输出该行内容。
wc:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
相关题目:写出 *15* 个以上你所知道的常用的 *Linux* 命令和它的功能。
ls:列出目录 cp:复制 rm:删除
cat:将文件的内容打印到标准输出 mkdir: 建立目录
tar:打包压缩 ps:查看进程 top:查看机器使用情况 df:检查磁盘空间占用情况
find:在指定路径下查找指定文件 grep:过滤文本
cd:改变当前工作目录 mount:挂载/卸载指定的文件系统
ifconfig:配置网络或显示当前网络接口状态 telnet::远程登录
4.vi编辑器中,选中、复制、粘贴、删除的命令各是什么
选中:v(以字符为单位),V(以行为单位)复制:y,如 yy,nyy,y1G,yG,y0,y$
粘贴:p(粘贴在光标之后),P(粘贴在光标之前)删除:d,如 dd,ndd,d1G,dG,d$,d0
5.获取文件行数
wc -l filename
6.输入文件的最后 5 行到另一个文件中
tail -n 5 file1 >> file2
7.查找当前目录下所有目录名为CVS的子目录的命令
find ./CVS -maxdepth 1 -type d -print
8.查看磁盘空间使用率的 Linux 命令是什么?查看有哪些系统进程正在运行命令是什么?检测 Linux 性能(cpu,磁盘 io,内存,网络等)都用到哪些命令?
查看磁盘空间使用率的命令:df
查看系统进程命令:top
检测 Linux 性能的命令:ps,free,vmstat,netstat
9.说说 Linux 下的 find 命令和 grep 命令的区别
find:在磁盘/分区中找到文件,可以配 type 可以配 size time 等,通过文件名或文件大小或访问时间找到指定文件。
grep:查找文件里符合条件的字符串,并把匹配的行打印出来,可以使用正则表达式。
10.简述DNS进行域名解析的过程
首先,客户端发出DNS请求翻译Ip地址或主机名。DNS服务器在收到客户机的请求 后:
(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答 信息;
(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查 找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果 发给客户机。
(4)若没有找到,则返回错误信息。