小米C++开发一面
  1.自我介绍 
   2.有什么方法保证每个头文件只被使用一次。(回答:宏定义#ifndef,#pragma once) 
   3.那这样使用的原理是什么,为什么能保证头文件只使用一次?  (不知道) 
   4.写一个宏,表示求a和b的最小值   (  #define MINA_B(a,b)  ((a>b)?b:a)   ,写了三四次终于写对了,前面写错的时候面试官说你这语法都不对) 
   5.结构体对齐,给了几个结构体问占多少字节 。 那为什么要有结构体对齐,对齐有什么好处(???) 
   6.堆和栈的区别 
   7.解释队列和链表 
   8.内存泄漏是什么? 
   9.怎么解决系统大资源的内存泄漏问题 (不知道。面试官引导,内存泄漏是针对什么粒度的问题??  进程   所以怎么解决??  关闭或重启进程   对) 
   10.线程是什么? 
   11.项目相关 
   12.C++多态实现方式  
   13.malloc和new的区别,delete p 和delete[] p 有什么区别(自己啰啰嗦嗦解释不清楚)
   
   13.手写,任意正整数,每一位相加,如果大于10,继续分解。否则,就是结果。  
   (如47   4+7=11  1+1=2    最后返回2)   
   14.反问  
   面试官人真挺好,你不懂的会一直引导,很多问题大致知道,但一些细节在学习的时候被忽视了,  
   还有就是,,,有点严肃,一个小时没笑过。。  
#面经##小米##C++工程师##校招# 查看3道真题和解析
查看3道真题和解析