1.对于一个文件的访问,常由(用户访问权限和文件属性)共同限制。 2.TCP是面向连接的,UDP是面向无连接的。 3.在链表为空时,新插入链表的节点即是首节点也是尾节点。 4.一个有向无环图存在拓扑排序 5.哈希表查询的时间复杂度是0(1) 6.存在一个数字组成的序列[a1,a2,…,aN],若要统计所有数字出现的次数,用哈希表比较适合。 7.存在若干个字符串,若要查找具有相同前缀的字符串,用Trie树比较合适。 8.辗转相除法是用于求解两个正整数的最大公约数的算法 9.epoll ET模式必须配合Non-blocking IO使用 10.在一个空目录下执行umask 333;touch hello;命令后,hello文件的权限为?r——r——r 11.在DNS系统测试时,假设named进程号时53,如何通知进程重读配置文件? kill --HUP 53 12.视图可用于限制对表中特定行或列中的数据的访问。 13.添加索引的一个理由是,提高SELECT语句的性能。 14.您需要从你的数据库中删除名为EmployeeView的视图。应使用哪条语句? DROP VIEW EmployeeView 15.关于NAT说法不正确的是: IPv6根本不需要NAT 16.下列哪些不适IPv6过渡技术 应用识别技术 17.下面不属于OSI七层模型的是? 聚合层 18.下列说法错误的是 final修饰的方法不可以重载 19.String s = new String(“xyz”);创建了几个StringObjec 两个或一个都有可能 20.在下列4条语句的前提下: Integer i01 = -128; int i02 = -128; Integer i03 = Integer.valueOf(-128); Integer i04 = new Integer(-128); 以下输出结果为falese的是
System.out.println(i03 == i04)
21.下面哪一个命令可以关机,而不重启? halt netstat
22.下列属于Linux开机启动过程的是? 运行第一个进程init(进程号永远为1) 读取MBR的引导文件(grub。lilo) 引导linux内核 进入相应的运行级别
23.下面关于inode说法正确的是 每一个文件都有对应的inode,里面包含了与该文件有关的一些信息 特殊文件(比如乱码文件名)可以通过inode的方式删除
24.关于bash中以下符号的说明哪些是正确的 $ 0代表脚本的名称 $ @代表所有位置参数 $ #代表位置参数的数量
25.关于DELETE和TRUNCATE TABLE的说法正确的是 前者可以删除指定条目的记录,后者不能
26.下面语句中表示过滤条件的是vend id = 1002 或vend id = 1003 的是 select * from products where vend_id=1002 or vend_ id=1003 select * from products where vend id in (1002 , 1003)
27.下面哪些是TCP协议运行时阶段 连接创建 数据传送 连接终止
28.以下关于超文本传输安全协议说法中正确的说法有 非对称加密和对称加密都使用了
29.下列有关守护线程描述正确的有 任何一个非手和线程没有结束,守护线程就全部工作 当最后一个非守护线程结束时,守护线程随着JVM一同结束工作 GC时守护进程 守护线程产生的新线程也是守护线程
30.java接口的修饰符包括 public final
31.老板一共需要给某个员工发奖金n元,可以选择一次发医院,也可以选择一次发2元…老板也可与选择一次发n元(必须以元为整数单位发放)。请问老板给这位员工发放完n元奖金的共有多少种方法? 1:先发1块的情况下,剩下4块是不是就和发4块的方法一样了? 2:先发2块的情况下,剩下3块是不是就和发3块的方法一样了? 3:先发3块的情况下,剩下2块是不是就和发2块的方法一样了? 4:先发4块的情况下,剩下1块是不是就和发1块的方法一样了? 5:5块一次性发完,唯一方法 这很递归嘛~ 即符合 f(n) = f(n-1) + f(n-2) + … + f(1) + 1
为便于理解,本人画了张图。 代码和运行结果如下 public class GiveMoney { public static void main(String[] args) { Scanner scanner = new Scanner (System.in); System.out.print (“输入要发的奖金:”); int number = scanner.nextInt (); System.out.println (“您有” + f (number) + “种方法发完” + number + “元奖金!!”); }
/**
* 获取 发奖金可用的总方法 的方法
*
* @param number 要发的钱数
* @return 总方法数
*/
public static int f(Integer number) {
// 设置递归结束条件
if (number == 1) {
return 1;
}
// 实现 f(n) = f(n-1) + f(n-2) + ... + f(1) + 1
int count = 0;
for (int i = number - 1; i >= 1; i--) {
count = f (i) + count;
}
return count + 1;
}
}
32.撤销/恢复操作具有广泛的用途,比如word文档中输入一个单词,可以点撤销,然后可以再恢复。 编程实现如下功能: 从标准输入读取到一个字符串,字符串可包含0个或多个单词,单词以空格或者tab分隔; 如果遇到 “undo” 字符串,表示"撤销"操作,前一个字符串被撤销掉; 如果遇到"redo"字符串,表示恢复刚才撤销掉的字符串. 例如: 输入字符串 “hello undo redo world.”, 对字符串中的 undo 和 redo 处理后, 最终输出的结果为 “hello world.” public class UndoRedo { public static void main(String[] args) throws InterruptedException { // 创建存储对外显示的字符串的栈集合 usefulWords Stack usefulWords = new Stack<> (); // 创建储存删除的字符串的栈集合 uselessWords Stack uselessWords = new Stack<> (); // 创建scanner对象获取用户输入的字符串 Scanner scanner = new Scanner (System.in); // 创建输入的死循环,可暂用 不输入 表示结束输入 while (true) { // 友好提示 System.out.print (“请输入:”); String input= scanner.nextLine (); // 不输入表示结束循环 if (input == null || input.equals ("")) { System.out.println (“感谢使用,Bye”); return; } // 切割字符串 String[] inputWords = input.split (" "); for (String inputWord : inputWords) { // 判断输入的字符串值 undo redo 其他三种情况 if (“undo”.equals (inputWord)) { // usefulWords 非空则移除 usefulWords 栈顶的元素,添加到 uselessWords 集合 if (!usefulWords.empty ()) { uselessWords.push (usefulWords.pop ()); } } else if (“redo”.equals (inputWord)) { // uselessWords 非空则移除 uselessWords 栈顶的元素,添加到 usefulWords 集合 if (!uselessWords.empty ()) { usefulWords.push (uselessWords.pop ()); } } else { // 把输入的字符串添加到 usefulWords 集合中,加空格为排版~~ usefulWords.push (inputWord + " "); } }
// 显示输入的数据
System.out.print ("目前文章:");
usefulWords.forEach (System.err::print);
// 为显示效果,睡 0.1 秒再执行下一次循环
Thread.sleep (100);
// 添加空格排版~~~
System.out.println ();
}
}
}
|