面试题学习2022028

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 ();
    }
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值