当前位置:   article > 正文

CVTE嵌入式应用开发长期实习生线上笔试+线上面试(一面)_cetv嵌入式应用在线笔试

cetv嵌入式应用在线笔试

线上笔试:20不定项选择+2编程       ——2019.01.15

  1. #include <math.h>
  2. #define FALSE -1
  3. #define TRUE 0
  4. int parseSoundSetting(char* configure, stSoundSetting* setting)
  5. {
  6. if( *configure == 'I' && *(configure+1) == 'D' && *(configure+2) == '_' && *(configure+3) == 'S'
  7. && *(configure+4) == 'O' && *(configure+5) == 'U' && *(configure+6) == 'N'
  8. && *(configure+7) == 'D' && *(configure+8) == '_' ) //前缀合法
  9. {
  10. int i=9;
  11. int j=0;
  12. while( *(configure+i) != '_' ) //检查功放型号
  13. {
  14. setting->amplifier[j] = *(configure+i);
  15. i++;
  16. j++;
  17. }
  18. setting->amplifier[j] = '\0'; //末尾补上结束符
  19. j=0; //清零,记录下一个偏移值
  20. while( *(configure+i) != '_' ) //检查机型号
  21. {
  22. setting->modelname[j] = *(configure+i);
  23. i++;
  24. j++;
  25. }
  26. setting->modelname[j] = '\0'; //末尾补上结束符
  27. j=0; //清零,记录下一个偏移值
  28. char vol[3];
  29. char imped[8];
  30. char powe[5];
  31. while( *(configure+i) != 'V' && *(configure+i) >='0' && *(configure+i) <='9' ) //电压
  32. {
  33. vol[j] = *(configure+i);
  34. i++;
  35. j++;
  36. }
  37. vol[j] = '\0'; //末尾补上结束符
  38. int count=0; //计算字符长度,即将要转化为整数的位数
  39. while(vol[j] != '\0')
  40. count++;
  41. for(int k=0; k<count;k++)
  42. {
  43. setting->voltage = (vol[k]-'0') * pow(10,count-k);
  44. }
  45. j=0; //清零,记录下一个偏移值
  46. count=0;
  47. while( *(configure+i) != 'R' && *(configure+i) >='0' && *(configure+i) <='9' ) //电阻
  48. {
  49. imped[j] = *(configure+i);
  50. i++;
  51. j++;
  52. }
  53. imped[j] = '\0'; //末尾补上结束符
  54. while(imped[j] != '\0')
  55. count++;
  56. for(int k=0; k<count;k++)
  57. {
  58. setting->impedance = (imped[k]-'0') * pow(10,count-k);
  59. }
  60. j=0; //清零,记录下一个偏移值
  61. count=0;
  62. while( *(configure+i) != 'W' && *(configure+i) >='0' && *(configure+i) <='9' ) //功率
  63. {
  64. powe[j] = *(configure+i);
  65. i++;
  66. j++;
  67. }
  68. power[j] = '\0'; //末尾补上结束符
  69. while(power[j] != '\0')
  70. count++;
  71. for(int k=0; k<count;k++)
  72. {
  73. setting->power = (powe[k]-'0') * pow(10,count-k);
  74. }
  75. return TRUE; //解析成功
  76. }
  77. else
  78. return FALSE; //解析失败
  79. }

一面:(第一次面试,炒鸡紧张,腿一直在抖,面试大哥比较严肃,不过说话蛮柔和,长得很像我初中同学。。。)——2019.01.22

  • 自我介绍:说了下学校情况,学习情况,面试岗位等
  • 数组和指针区别?链表?数组和链表呢?双向链表和单向链表?好处、优势
  • 预编译在做些什么事情?
  • 简单说些IIC?最多能挂多少个设备?跟 UART SPI比较下。
  • 传感器用法举例说明。
  • 算法研究过吗?
  • 动态库和静态库?
  • c++学到什么程度?
  • Linux了解到什么程度?
  • 对嵌入式操作系统有了解吗?你刚刚提到的ucos,能简单说说吗?
  • 考研?兴趣爱好?
  • 面试题:判断一个数是否为2的幂  循环+递归
  1. 第一次,就只考虑到>=1次幂,像2 4 8 ......然后提交他说,这里1=2^0没有考虑到,如果乱输入最好有个出错判断。再改下。
  2. 第二次,在上一次基础上添加0次幂和负数次幂情况,然后提交。(⊙o⊙)…他说如果不用循环呢?就一个函数然后输入返回。
  3. 这里他要求应该是只求>=0次幂,我多考虑了些负数次幂,递归时写了挺久的还是有些问题,当时应该问清楚是非负整数次幂还是全体整数次幂。。。
  4. 【LeetCode】2的幂(C语言4种解法)

  • 有消息的话,会在24小时内通知你的。你还有什么要问的吗? (⊙o⊙)…没了

总结:基本围绕项目展开,然后根据你回答里提到的相关术语,再做进一步提问,所以主动权其实在你,你向什么地方引,面试官可能就会顺着这个话题提问。(⊙o⊙)…虽然问的都比较基础,但是自己第一次面试,比较紧张慌乱之下,可能回答的不是很完善。。。

  1. //CVTE一面:线上面试 判断一个数是否为2的幂 循环+递归
  2. #include <iostream>
  3. using namespace std;
  4. void isMI(double num)
  5. {
  6. if (num > 1)
  7. isMI(num / 2);
  8. ///if (num < 1)
  9. //isMI(num * 2);
  10. else if (num == 1)
  11. cout << "YES" << endl;
  12. else
  13. cout << "NO" << endl;
  14. }
  15. int main()
  16. {
  17. //double num;
  18. //cin >> num;
  19. //while (num > 1)
  20. // num /= 2;
  21. //while (num > 0 && num < 1)
  22. // num *= 2;
  23. //if (num == 1)
  24. // cout << "YES" << endl;
  25. //else
  26. // cout << "NO" << endl;
  27. double num;
  28. cin >> num;
  29. isMI(num);
  30. /*if (isMI(num) == true)
  31. cout << "YES" << endl;
  32. else
  33. cout << "NO" << endl;*/
  34. }

——2019.01.25  凉凉。。。

【总结】准备不充分+心态紧张+基础不扎实+表达能力欠佳

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/200545
推荐阅读
相关标签
  

闽ICP备14008679号