烽火 - 软件研发工程师 - 笔试

❗❗如果本文对您有帮助,请不要吝啬您的评论、点赞、收藏与小花,这对我非常重要!谢谢!❗❗

alt

本文所涉及的题目均为基于个人学习和理解重新表述的内容,仅供学习交流之用,不代表任何实际考试题目。如有雷同,纯属巧合。

岗位:软件研发工程师(南京)

题型:25 道单选题,5 道多选题,3 道编程题

注意:本文章暂无解析,谨慎分辨答案对错

1、单选题

1.1

在 HTTP 请求中,创建一个新的资源使用 ==(D)==

  1. GET
  2. PUT
  3. DELETE
  4. POST

1.2

下列程序段的运行结果 ==(D)==

#include <stdio.h>

int main() {
    int s[5] = {11, 34, 67, 36, 89};
    int *p;
    int i;

    for (i = 0, p = s + 1; i < 4; i++) {
        printf("%d ", ++p[i]);
    }

    return 0;
}
  1. 34 67 36 89
  2. 11 34 67 36 89
  3. 12 35 68 37 90
  4. 35 68 37 90

1.3

==(B)== 是可复用的,提供明确接口完成特定功能的程序代码块

  1. 用例
  2. 模块
  3. 软件构件
  4. 函数

1.4

poll() 是用于实现 IO 多路复用的系统调用函数,以下关于 poll() 函数特点描述中错误的是 ==(D)==

  1. poll() 代码简单
  2. 可以同时监听多个文件描述符
  3. poll() 能够监听复杂 IO 事件
  4. poll() 最大的文件描述符上限是 1024

1.5

使用 FCFS 调度算法执行作业调度时 ==(C)==

  1. 只考虑了等待时间
  2. 只考虑了运行时间
  3. 考虑了等待时间和运行时间
  4. 未考虑等待时间和运行时间

1.6

二维数组定义如下,int a[3][3]={(1,2,3},{4,5,6},[7,8,9}};,则 a[1]+1 表示 ==(D)==

  1. *a[1]+1
  2. a[2] 的地址
  3. a[1][1] 的值
  4. a[1][1] 的地址

1.7

HMM 中前向算法采用的思想是 ==(B)==

  1. 贪心
  2. 动态规划
  3. 递归
  4. 分治策略

1.8

JDBC 两种执行 SQL 的方法:executeQuery() 和 executeUpdate()。executeQuery() 方法执行后返回单个结果集,通常用于 ==(C)== 语句

  1. update
  2. insert
  3. select
  4. delete

1.9

把高级语言转换为低级语言的程序是 ==(B)==

  1. 解释程序
  2. 编译程序
  3. 翻译程序
  4. 汇编程序

1.10

在 Bash shell 程序中输出环境变量 LOGNAME 的正确表达式是 ==(A)==

  1. echo '$LOGNAME'
  2. echo LOGNAME
  3. echo "$LOGNAME"
  4. print $LOGNAME

1.11

==(A)== 文法的类型语言可以被下推自动机识别

  1. 2型
  2. 3型
  3. 1型
  4. 0型

1.12

有下列定义,则主函数中执行完下列语句后的结果是 ==(A)==

#include <stdio.h>

struct student {
    int x;
    int y;
} s[2] = {{1, 97}, {3, 85}};

void f(struct student *p) {
    p->x += 1;
    p->y = --p->y;
}

int main() {
    f(s):
    printf("%d\n",s[0].y+s[1].x);
    return 0;
}
  1. 99
  2. 100
  3. 98
  4. 102

1.13

某二叉树的先序遍历序列为甲乙丙丁戊己,中序遍历序列为乙甲丁丙己戊,采用顺序结构存储该二叉树,所需花费的存储单元个数是 ==(B)==

  1. 16
  2. 6
  3. 15
  4. 7

1.14

下列程序的运行结果是 ==(D)==

#include <stdio.h>
#include <stdlib.h>

void fun(int *p) {
    int i;
    int *x = (int *)malloc(5 * sizeof(int));
    if (x == NULL) {
        printf("Memory allocation failed\n");
        return;
    }
    
    for (i = 0; i < 5; i++) {
        x[i++] = *p++;
    }
    
    free(x);
}

int main() {
    int a[5] = {1, 2, 3, 4, 5};
    int i;

    fun(a);
    
    for (i = 0; i < 5; i++) {
        printf("%d", a[i]);
    }

    return 0;
}
  1. 42345
  2. 23456
  3. 13456
  4. 12345

1.15

在现代计算机系统中,下列哪个术语描述的是多个操作系统实例同时运行在同一台物理服务器上的情况? ==(A)==

  1. 虚拟化
  2. 多任务
  3. 多处理
  4. 井行处理

1.16

下面哪个命令可以用于将文件中所有以大写字母开头的行删除 ==(A)==

  1. sed '/^[A-Z]/d' file.txt
  2. awk '!/^[A-Z]/ {print}' file.txt
  3. grep -v '^[A-Z]' file.txt
  4. awk '/^[A-Z]/ {next} {print}' file.txt

1.17

==(C)== 适用聚集索引

  1. 经常被分组排序的列
  2. 外键列
  3. 大数目不同值的列
  4. 主键列

1.18

有关信号量 S 说法错误的 ==(A)==

  1. S<0 时,调用 V(S) 的进程必须等待
  2. S=0 时不允许进程在进入临界区
  3. S<0 时,S 的绝对值可以代表等待该资源的进程数量
  4. S>0 时表示可使用的资源数

1.19

计算机指令集中,立即数是指 ==(B)==

  1. 存储在寄存器中的操作数
  2. 可以直接取得的操作数
  3. 由操作数和操作码组成的指令
  4. 存储在存储器中的操作数

1.20

现对长度为 200 的有序顺序表进行等概率顺序查找,则查找不成功的平均查找长度为 ==(C)==(保留两位小数)

  1. 50.50
  2. 100.01
  3. 101.00
  4. 200.02

1.21

在白盒测试技术测试用例的设计中,==(B)== 是最强的覆盖标准

  1. 条件组合覆盖
  2. 路径覆盖
  3. 语句覆盖
  4. 判定覆盖

1.22

==(C)== 算法不适用于有向图的遍历

  1. BFS
  2. Dijkstra
  3. Prim
  4. DFS

1.23

下列关于单链表的求表长操作的说法,错误的一项是 ==(B)==

  1. 该操作的时间复杂度与单链表的按值查找操作的时间复杂度相同
  2. 空表无法执行该操作
  3. 该操作是在遍历操作的基础上增加计数
  4. 该操作的时间复杂度是 O(n)

1.24

网络管理员在 linux 系统中查看 touch 指令执行的次数,以下正确的方法是 ==(D)==

  1. history | grep touch | wc -n
  2. history | grep touc

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

欢迎来到我的专栏,在这里,我将整理并分享2024年各大企业的真实笔试/面试真题,同时还整理了嵌入式软件相关的八股知识。专栏内容涵盖C/C++基础、嵌软常见通信协议、ARM、FreeRTOS、Linux OS相关问题汇总,希望能帮助求职者了解考试趋势和嵌入式常见考点。无论你是准备面试,还是希望提升自己的专业知识,这里都能为你提供宝贵的参考和学习资源。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 14:00
机械打工仔:来挂自己了,经典巨婴从校园投入职场
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
07-13 14:45
南华大学 Java
北斗导航Compas...:英文和中文之间加个空格,有的句子有句号 有的没。其他没啥问题
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务