小米嵌入式一面面经
1 简单的自我介绍
2 项目稍微提了一下
3 C语言#的作用,
4 宏定义函数与普通函数的区别
5 数据结构 队列和栈的区别 平衡二叉树
6 数组的访问方式
7 I2C通信过程以及相关知识点
8 SPI总线
9 操作系统任务调度和优先级(相同优先级如何处理)
10 手撕代码(统计字符串)当时没写出来
#include <string> using namespace std; int main() { string str; string newstr = ""; getline(cin,str); char* p = const_cast<char*>(str.c_str()); char* p1 = p + 1; bool flag = true; int count = 0; if (*p1 == NULL) { newstr.append(str); newstr.append("_1"); } while(*p!=NULL) { string temp; if (flag) { count = 1; temp = *p; newstr.append(temp); flag = false; } if (*p == *p1) { count++; } else { newstr.append("_"); newstr.append(to_string(count)+"_"); flag = true; } p++; p1++; } cout << newstr.substr(0,newstr.size()-1); return 0; }
问题回答出有一部分,面试官人特好,你不懂的他还会告诉你,最后还提了下二面的事(不知道是不是客气一下),
面试小米很紧张,哎,权当涨涨经验吧
全部评论
(7) 回帖