这些经典面试题一定可以帮到你快看进来吧!

接着上次分享的嵌入式笔试题,这些是我在拓盛电子面试的时候做的,都是比较经典的,可以收集看看,看看自己会不会,为面试做准备。

  1. 写出函数执行的结果:
    void join(int x) //递归运算
    {
    x++;
    if(x>=7)return;
    join(x);
    printf("%d",x); //注意别漏掉这个打印信息!
    }
    int mian()
    {
    int x = 3,y = 0;
    join(x);
    printf(“OK\n”);
    while(–x)
    {
    for(y = 0;y<4;y++)
    {
    printf(“x = %d,y = %d\n”,x,y);
    if(y>=1)break;
    else continue;
    }
    }
    printf(“over!”);
    }

  2. 分析电路 根据输入波形画出输出波形,并解释

  3. 写出嵌入式中经常使用的死循环有几种

  4. volatile 的含义,写出3中使用方式

  5. 给定一整型变量a写两段代码:第一个设置a的bit3,第二个清除a的bit3
    #define BIT3 (0x1<<3)
    static int a;
    void set_bit3(void)
    {
    a |= BIT3;
    }
    void clear_bit3(void)
    {
    a &= ~BIT3;
    }

  6. 某工程中要设置一个绝对地址为0x67a9整形变量值为0xaa66,编译器是纯ANSI编译器。

  7. 使用__interrupt定义一个ISR,评论代码有什么不妥
    __interrupt double compute_area (double radius)
    {
    double area = PI * radius * radius;
    printf(" Area = %f", area);
    return area;
    }
    1). ISR 不能返回一个值。如果你不懂这个,那么你不会被雇用的。
    2). ISR 不能传递参数。如果你没有看到这一点,你被雇用的机会等同第一项。
    3). 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。
    4). 与第三点一脉相承,printf()经常有重入和性能上的问题。如果你丢掉了第三和第四点,我不会太为难你的。不用说,如果你能得到后两点,那么你的被雇用前景越来越光明了。
    不能传参数 不能有返回值 不能有打印语句 不应该使用浮点运算

  8. 利用heap动态使用内存的过程,碎片如何形成?

  9. 信号量最常用的两个功能

  10. ulinux 和linux的区别

  11. NorFlash和NandFlash 的基本区别

  12. Linux移植ARM的基本步骤和完成的任务

  13. Linux图形系统有哪些?

  14. Linux驱动的基本结构
    这些经典面试题一定可以帮到你快看进来吧!