【面经】小米-软件开发工程师c++-北京-人才库

20210910 一面
不得不说,小米面试体验比讯飞不知道好到哪里去了。我米就是我米。

–项目介绍
–进程和线程的区别
–多线程编程会不会,socket编程
–各种锁
–进程的各种通信方式
–new关键字分配内存实现的过程
–free是怎么实现的
–内存泄漏,怎么避免,怎么检测
–static关键字的作用
–初始化的全局变量存在哪,未初始化的呢,为什么分开存。
–职业规划
–投小米是不是主动投的
–写了一道题。重组链表,将12345变为15243
–反问

20210916 二面
自我介绍,问我有没有用过小爱音响,写了两道题,一个翻转链表,一个排序,好巧不巧,这两题都是我的博客上做过的。聊了一下我的项目,深度学习的,面试官不懂,相当于科普一下。随便聊了一会,大概一个多小时吧。问我有没有时间去实习,对base的选择等。面试官说后面流程会很慢。还会有hr面,或者主管面。

9.23 人才库
电话问了一下,说要可以去实习的。能尽快去工作的,服了。

### IoT硬件开发面试经验 对于IoT硬件开发岗位的面试,候选人不仅需要掌握基本的电子电路设计原理和嵌入式编程技能,还需要具备处理实际项目中的各种挑战的能力。在准备这类职位的面试时,可以从以下几个方着手: #### 1. 基础理论知识 深入理解微控制器的工作机制、传感器接口技术以及无线通信模块的应用是必不可少的基础。例如,在对具体应用场景时如何选择合适的MCU型号及其外设资源分配方案;熟悉SPI/IIC等常见串行总线协议的操作方式。 #### 2. 实际操作能力 除了笔试之外,很多公司还会安排动手实践环节来考察应聘者的实战水平。这可能涉及到PCB板的设计与焊接、编写简单的固件程序实现特定功能或是搭建小型网络节点之间的数据传输链路等内容[^2]。 #### 3. 调试技巧 当遇到设备无法正常工作的情况时,能否快速有效地找到原因至关重要。因此要学会运用逻辑分析仪、示波器之类的工具辅助排查故障点所在位置,并通过调整参数设置或修改代码逻辑解决问题。 #### 4. 安全意识 随着越来越多敏感信息被上传至云端存储空间内,保障整个系统的安全性变得越来越重要。了解TLS/SSL加密算法的作用机理及其与其他主流物联网通讯标准(比如MQTT, CoAP)相结合的方式有助于增强个人竞争力[^3]。 ```c++ // 示例:使用MBED库初始化Wi-Fi连接并发送HTTP请求获取远程服务器时间戳 #include "mbed.h" #include "EthernetInterface.h" int main() { EthernetInterface eth; eth.connect(); TCPSocket socket; SocketAddress addr("time.nist.gov", 80); socket.open(&eth); socket.connect(addr); char send_data[] = "GET / HTTP/1.1\r\nHost: time.nist.gov\r\nConnection: close\r\n\r\n"; socket.send(send_data, strlen(send_data)); char recv_data[100]; int bytes_received = socket.recv(recv_data, sizeof(recv_data)); printf("Received %d bytes from server:\r\n%s", bytes_received, recv_data); socket.close(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值