小米一面面经(嵌入式)

小米嵌入式一面面经

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;
}

问题回答出有一部分,面试官人特好,你不懂的他还会告诉你,最后还提了下二面的事(不知道是不是客气一下),
面试小米很紧张,哎,权当涨涨经验吧
#面经##嵌入式工程师##小米##校招#
全部评论
楼主你好,请问你是实习、校招还是社招?
点赞 回复
分享
发布于 2020-09-21 16:36
我明天面,感觉要凉😭
点赞 回复
分享
发布于 2020-09-21 21:22
联易融
校招火热招聘中
官网直投
楼主是啥时候笔试的
点赞 回复
分享
发布于 2020-09-21 22:35
楼主收到二面了吗?
点赞 回复
分享
发布于 2020-09-22 17:33
同一面完,让我用数组实现一个堆,当场懵逼
点赞 回复
分享
发布于 2020-09-24 10:50
同21号一面,面了半小时,感觉讲的还可以,到现在也没啥通知,凉了吗?
点赞 回复
分享
发布于 2020-09-25 17:14
二面了吗
点赞 回复
分享
发布于 2020-10-20 09:39

相关推荐

头像
03-18 09:48
已编辑
算法工程师
1.请解释嵌入式系统中的中断是什么,以及中断的处理过程。2.请说明你在嵌入式开发中使用过的通信协议,以及你对这些协议的了解程度。3.请解释嵌入式系统中的时钟和定时器的作用,以及你在项目中如何使用它们4.&nbsp;蓝牙协议栈是蓝牙通信中的核心组件,具有特定的架构和分层结构。请说明蓝牙协议栈的架构和分层。5.&nbsp;请说明蓝牙协议栈和网络协议栈之间的区别和对比。6.&nbsp;你在过去的项目中所使用的蓝牙芯片是否基于Linux或其他常用架构。7.&nbsp;你在过去的项目中所使用的蓝牙软件架构是什么类型。8.&nbsp;解释函数指针和指针函数。9.&nbsp;Linux内核有不同的版本,请说明你熟悉的Linux内核版本。10.&nbsp;操作系统任务切换的关键是什么?请说明任务切换时需要保存和加载的内容。11.&nbsp;请描述你参与的项目,并介绍其中的难点以及你是如何解决的。12.&nbsp;栈和队列的知识,请说明你对栈和队列的理解。13.&nbsp;数组和链表是常见的数据结构,请说明你对数组和链表的理解。14.&nbsp;static、vailate和const关键字,请说明你对这些关键字的理解。15.&nbsp;实现去除字符串中的空格。16.&nbsp;合并两个链表并按顺序排列。17.&nbsp;请解释计算机是大端还是小端的方法。18.&nbsp;在Linux中使用多线程,如何实现软件定时功能?。19.&nbsp;你参与的项目中的嵌入式开发工作,并说明其中的难点和你的解决方案。20.&nbsp;在函数中定义一个很大的数组时,应该直接定义还是使用malloc?21.&nbsp;请解释DMA的概念,以及在嵌入式开发中如何使用DMA。22.&nbsp;请说明SPI通信的过程,包括SPI的线数和速率配置。23.&nbsp;请介绍你在开发过程中使用过的stm32芯片的配置信息,包括CPU主频、Flash和RAM的大小。24.&nbsp;请介绍你在stm32上进行过的开发工作,并说明你开发过的驱动。25.&nbsp;你在开发调试过程中遇到的难以解决的问题,并分享你是如何解决的。26.&nbsp;请介绍你参与过的较大型软件开发项目,并说明你在项目中的角色和贡献。27.&nbsp;在中间层的设计中,你考虑了哪些因素?28.&nbsp;请解释进程通信中锁和同步的概念,以及你使用过的相关机制。29.&nbsp;当多个进程无法获取锁时,会进入什么状态?30.&nbsp;在优先级调度中,如果一个低优先级进程获取了锁,而高优先级进程无法获取锁,高优先级进程的状态会如何?答案在下方专栏&nbsp;&nbsp;c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
转发
4 39 评论
分享
牛客网
牛客企业服务