版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40818798/article/details/86498680
线上笔试:20不定项选择+2编程 ——2019.01.15
- 编程1:[LeetCode]有效的括号(C语言解法)
- 编程2:分离字符串,提取有用信息(下面是自己当时写的,因为不让用IDE,所以肯定有问题,^_^)
#include <math.h>
#define FALSE -1
#define TRUE 0
int parseSoundSetting(char* configure, stSoundSetting* setting)
{
if( *configure == 'I' && *(configure+1) == 'D' && *(configure+2) == '_' && *(configure+3) == 'S'
&& *(configure+4) == 'O' && *(configure+5) == 'U' && *(configure+6) == 'N'
&& *(configure+7) == 'D' && *(configure+8) == '_' ) //前缀合法
{
int i=9;
int j=0;
while( *(configure+i) != '_' ) //检查功放型号
{
setting->amplifier[j] = *(configure+i);
i++;
j++;
}
setting->amplifier[j] = '\0'; //末尾补上结束符
j=0; //清零,记录下一个偏移值
while( *(configure+i) != '_' ) //检查机型号
{
setting->modelname[j] = *(configure+i);
i++;
j++;
}
setting->modelname[j] = '\0'; //末尾补上结束符
j=0; //清零,记录下一个偏移值
char vol[3];
char imped[8];
char powe[5];
while( *(configure+i) != 'V' && *(configure+i) >='0' && *(configure+i) <='9' ) //电压
{
vol[j] = *(configure+i);
i++;
j++;
}
vol[j] = '\0'; //末尾补上结束符
int count=0; //计算字符长度,即将要转化为整数的位数
while(vol[j] != '\0')
count++;
for(int k=0; k<count;k++)
{
setting->voltage = (vol[k]-'0') * pow(10,count-k);
}
j=0; //清零,记录下一个偏移值
count=0;
while( *(configure+i) != 'R' && *(configure+i) >='0' && *(configure+i) <='9' ) //电阻
{
imped[j] = *(configure+i);
i++;
j++;
}
imped[j] = '\0'; //末尾补上结束符
while(imped[j] != '\0')
count++;
for(int k=0; k<count;k++)
{
setting->impedance = (imped[k]-'0') * pow(10,count-k);
}
j=0; //清零,记录下一个偏移值
count=0;
while( *(configure+i) != 'W' && *(configure+i) >='0' && *(configure+i) <='9' ) //功率
{
powe[j] = *(configure+i);
i++;
j++;
}
power[j] = '\0'; //末尾补上结束符
while(power[j] != '\0')
count++;
for(int k=0; k<count;k++)
{
setting->power = (powe[k]-'0') * pow(10,count-k);
}
return TRUE; //解析成功
}
else
return FALSE; //解析失败
}
一面:(第一次面试,炒鸡紧张,腿一直在抖,面试大哥比较严肃,不过说话蛮柔和,长得很像我初中同学。。。)——2019.01.22
- 自我介绍:说了下学校情况,学习情况,面试岗位等
- 数组和指针区别?链表?数组和链表呢?双向链表和单向链表?好处、优势
- 预编译在做些什么事情?
- 简单说些IIC?最多能挂多少个设备?跟 UART SPI比较下。
- 传感器用法举例说明。
- 算法研究过吗?
- 动态库和静态库?
- c++学到什么程度?
- Linux了解到什么程度?
- 对嵌入式操作系统有了解吗?你刚刚提到的ucos,能简单说说吗?
- 考研?兴趣爱好?
- 面试题:判断一个数是否为2的幂 循环+递归
- 第一次,就只考虑到>=1次幂,像2 4 8 ......然后提交他说,这里1=2^0没有考虑到,如果乱输入最好有个出错判断。再改下。
- 第二次,在上一次基础上添加0次幂和负数次幂情况,然后提交。(⊙o⊙)…他说如果不用循环呢?就一个函数然后输入返回。
- 这里他要求应该是只求>=0次幂,我多考虑了些负数次幂,递归时写了挺久的还是有些问题,当时应该问清楚是非负整数次幂还是全体整数次幂。。。
- 有消息的话,会在24小时内通知你的。你还有什么要问的吗? (⊙o⊙)…没了
总结:基本围绕项目展开,然后根据你回答里提到的相关术语,再做进一步提问,所以主动权其实在你,你向什么地方引,面试官可能就会顺着这个话题提问。(⊙o⊙)…虽然问的都比较基础,但是自己第一次面试,比较紧张慌乱之下,可能回答的不是很完善。。。
//CVTE一面:线上面试 判断一个数是否为2的幂 循环+递归
#include <iostream>
using namespace std;
void isMI(double num)
{
if (num > 1)
isMI(num / 2);
///if (num < 1)
//isMI(num * 2);
else if (num == 1)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
int main()
{
//double num;
//cin >> num;
//while (num > 1)
// num /= 2;
//while (num > 0 && num < 1)
// num *= 2;
//if (num == 1)
// cout << "YES" << endl;
//else
// cout << "NO" << endl;
double num;
cin >> num;
isMI(num);
/*if (isMI(num) == true)
cout << "YES" << endl;
else
cout << "NO" << endl;*/
}