嵌入式题库整理

C 部分:

  1. int* p = (int*)malloc(sizeof(int)*2), sizeof(*p)= —— (考察对指针的理解)
  2. 一个32 地址的内存,向0x12345678 地址写一个0x78654321 用C 语言如何实现 (考察指针对内存的基础操作)
  3. 请描述static,volatile, 和const 在C语言中的含义和用法(C基础)
  4. 请你描述C 编程中,堆和栈的区别?(考察堆和栈)
  5. 在头文件中能否定义变量?请说明理由。

linux 部分

  1. 你使用过那个linux? 该系统的安装软件包的命令是什么?(判断是否接触过linux)
  2. linux下,file1 权限744 表示什么?(判断对shell 有没有基础认识)
  3. 进程和线程的区别? 在编程时,一般如何选择使用?(操作系统基础考察)
  4. 请描述linux 下常见进程间通信方式?
  5. 请简述交叉编译的过程。 (是否学过嵌入式应用)
  6. 请简述linux 机器的启动流程? (判断是否做过移植的工作)
  7. 请简要描述linux 下open函数调用过程?(判断是否对系统调用有深入理解)

网络部分:

  1. IP 地址127.0.0.1表示什么?已知一主机的IP地址是203.123.1.135,子网掩码是255.255.255.192 ,求其网络地址(网络基础)
  2. 请你描述下TCP 的三次握手和4次挥手?(深入考察)
  3. TCP 和UDP 的区别?

硬件理解:

  1. 请描述ROM 和RAM 的区别?
  2. 请描述推挽输出和开漏输出的区别,什么情况下需要加上拉电阻?
  3. GPIO 在代码中将其拉高,但实际中并未拉高的一些常见原因?(考察目的同2)
  4. RS232 无法发送或者接受数据, 常见的原因有哪些?(经验考察)
  5. 请简述linux 下USB 的枚举过程。(拔高)
  6. 请简述linux 下PCIe 的枚举过程。 (拔高)

编程部分:

  1. 试着写出九九乘法表并打印結果.

  2. 单纯使用C语法实现标准函数库中的字符串复制, 过程中不呼叫其他函数.
    程序声明: char *strcpy(char *destination, const char *source);

  3. 请说明下面程序代码所想要实现的功能, 并试着找出其中的 bug.
    int Aaa(const char* sL, const char * sR) {
    While ( *sL++ || *sR++ ) {
    If (*sL != *sR) {
    return(*sL - *sR);
    }
    }
    return(0);
    }

  4. 请评论下面两段代码的异同.
    #if defined _Level1
    printf(“This is level1”);
    #endif


    if (level == 1)
    printf(“This is Level1”);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值