|
基本信息面试流程 网申/笔试通过 → 一面通知 → 参加视频面试 → 自我介绍 → 技术问答 → 项目深挖 → 反问环节 → 退场。 面试问题及参考回答
一、C++/嵌入式岗位
1. C++的三大特性是什么? 参考回答:C++的三大特性是封装、继承、多态。 封装:将数据和方法封装在类中,隐藏内部实现 继承:子类复用父类的属性和方法 多态:同一接口,不同实现(虚函数)
2. 虚函数的作用是什么? 参考回答:虚函数用于实现动态多态。通过基类指针或引用调用虚函数时,会根据实际对象类型调用对应的派生类函数。虚函数通过虚函数表(vtable)实现。
3. 什么是智能指针?有哪些类型? 参考回答:智能指针是C++中用于自动管理动态内存的类模板。类型包括:
4. 进程和线程的区别是什么? 参考回答:
5. 什么是死锁?如何避免? 参考回答:死锁是指两个或多个进程互相等待对方释放资源,导致都无法继续执行。死锁的四个必要条件:互斥、持有并等待、不可剥夺、循环等待。避免方法:按顺序申请资源、使用超时机制。
二、Java/Android岗位
6. Java的三大特性是什么? 参考回答:封装、继承、多态。
7. HashMap的底层实现原理? 参考回答:HashMap底层采用数组+链表+红黑树结构。默认初始容量16,负载因子0.75。当链表长度大于8且数组长度大于64时,链表转红黑树。
8. Activity的生命周期有哪些? 参考回答:onCreate→onStart→onResume→onPause→onStop→onDestroy。
三、硬件岗位
9. 请介绍一种你熟悉的微控制器(MCU)。 参考回答:以STM32为例,STM32是基于ARM Cortex-M内核的32位微控制器,广泛应用于嵌入式系统。具有丰富的外设(GPIO、UART、I2C、SPI、ADC、定时器等),开发工具链成熟(Keil、STM32CubeMX)。
10. PCB设计的基本流程是什么? 参考回答: 原理图设计 PCB布局 PCB布线 DRC检查 Gerber文件输出 PCB制板 焊接调试
|