zoukankan      html  css  js  c++  java
  • 2020秋招嵌入式面经——地平线、小米、CVTE、大华、绿米

    地平线提前批 一面凉

    投递简历过程:官网投递9月份之前投的都是提前批,投了北京、上海、南京地区的嵌入式软件研发岗,北京和上海的都被筛掉了,南京的捞了我,hr小姐姐打电话邀约面试。

    一面凉:

    电话面试,第一次收到面试通知十分痛苦,面试AI芯片独角兽,完全没有一点点准备,知识也没有捡起来,十分紧张,面试官很好,不停开导。

    1、自我介绍

    2、解释register关键字

    3、字节对齐

    4、数据库查询左连接和右连接的区别(跪了,数据库全忘了)

    5、static关键字在函数中、源文件中、头文件中有什么区别(凉)

    6、数据结构和算法了解不,分治法、贪心法(凉)

    7、项目介绍

    8、你还有什么要问的

    总结:面试表现太差,17分钟结束,自己太菜,面试基础很重要,牛客上说地平线嵌入式的面试考的很广。

    小米提前批 二面凉:

    投递简历过程:官网投递9月份之前投的都是提前批,投了嵌入式工程师,地平线面试完晚上突然接到小米公司的电话,面试官邀约面试。

    一面 27min:

    牛客网视频面试,心想又完了,还没复习又来面试,而且是世界五百强公司的面试,作为米粉异常痛苦(对自己恨铁不成钢),好在小米的面试官也十分和善。

    1、自我介绍

    2、项目介绍

    3、项目中的总线解释一下

    4、线程同步

    5、编程题:冒泡排序、链表逆置(面试官说,我考一下你的编程能力吧,要简单的题目还是要难的题目?答:简单的)

    6、谈谈你对小米的了解

    7、你还有什么想问的

    8、工作地点选一个(深圳,选完面试官解释北京负责小米系列,南京负责MIUI,深圳负责红米系列)

    二面 30min:

    小米深圳的面试官打电话邀约面试

    1、C/C++程序 内存分布情况 常量所在的区(没回答好)

    2、STM32 GPIO(没有认真复习,细节全记错了,比如开漏输出)

    3、什么是倒灌(本来很能理解电流倒灌的原理,因为学习FPGA时了解到线与逻辑会导致倒灌而损坏器件,当时没回想起来,用自己的话表述的,不甘心)

    4、深挖项目(没回答好,自己的项目也必须好好复习)

    5、问了一下小米的培训机制,导师制,最好实习6个月左右(大佬肯定不用,还有几万的签字费)

    总结:小米基本会给很多人面试的机会,只怪自己太菜,无准备之战,必败无疑

    广州视源(CVTE)一面凉:

    投递简历过程:官网投递,选择笔试场次(20多道选择题,2道编程题),笔试通过后选择面试场次。

    一面 60+min:

    去面试酒店扫码排队,酒店人超多,一定要提前去

    1、自我介绍

    2、项目介绍,画出硬件拓扑图

    3、解释一下中断 中断处理时间过长(中断下半部) 中断触发方式 中断处理函数注意事项(有参数和返回值吗,为什么)

    4、编程题 1)给出寄存器的地址和位宽,读写寄存器 2)字符串处理,大小写转换

    5、对嵌入式的了解

    6、我们是996,对加班的看法

    7、有什么职业规划,什么原因会让你离开公司(巨坑)

    总结:面试官的暗语是一面和二面面试官都是我,回去等凉了的消息吧。

    浙江大华 一面凉 20min:

    网申投递,通过筛选后笔试,笔试通过,面试官发短信让我当天选择时间,感觉自己是被随便捞起来看看,面完第二天收到辞谢信。

    1、项目介绍,IIC总线说一下。

    2、C语言分哪几区,static修饰的局部变量在哪里?

    3、Linux有用过哪些,干了什么事?(我说Debian系列、Centos都用过)

    4、NOR Flash 和 NAND Flash 文件系统(忘了,让我补充了一下非嵌入式的文件系统)

    5、Linux用户态如何进入内核态?

    6、看看你的笔试题,解释一下栈的特点。

    7、有什么想问我的?(问了一下 视频会议C嵌入式的工作内容,面试官说有ARM单片机的,也有Linux的驱动开发,也有我做过的服务器和数据库的部署,感觉超级符合)

    8、什么时候能够实习,毕设怎么办?

    总结:面试表现最好的一次,我说我在学习《Linux设备驱动程序》和《UNIX环境高级编程》,面试官说这两本书要好好看,我想我还是表现太平庸了,大华投的人很多,优秀的人都不缺。

    绿米联创 三面 offer:

    网申后,宣讲会笔试,笔试内容非常基础,考察对C/C++的基础,C++的全忘了,笔试完当天晚上收到面试邀请。

    技术面 约50min:

    面试官比较nice,十分和善。

    1、复盘笔试题

      1)高内聚低耦合什么意思,为什么要这么做

      2)写一个“标准”的宏,比较两个数的大小(有什么需要改进的,为什么这么改,如果是i++怎么做,不知道,面试官告诉我应该用临时变量)

      3)反转链表的编程题写错了

    2、IIC总线时序

    3、写出计算机网络 五层模型 每一层对应的协议 解释ICMP DHCP

    4、HTTP 从浏览器输入域名的全过程

    5、项目架构画一下,项目中的无线模块是怎么回事 因为我投的无线组,问的比较深

    6、写个程序判断CPU字节序,写对了(小米的面试官也问过,当时不记得了,巨难受)

    7、项目中的难题

    8、你知道哪些加密方式,非对称加密?

    9、进入Linux内核态,为什么要分为用户态和内核态

    10、想搞哪个方向?(我作死,说想搞Linux,后面有了leader加面,因为这个方向是网关组的,当时没意识到面试官是无线组的leader)

    11、深圳压力很大,为什么想来深圳?

    12、有什么要问的,问了一下绿米产品的IoT安全。

    hr面:

    0、比较考察个人综合素质,考察你对行业的认识,对公司的了解,临场反应能力等,hr没有给人压力。

    leader加面 30min:
    1、IIC总线(?)

    2、项目中类似于IFTTT的解释了一下

    3、给我一个硬件工程师做好的人体感应模块,如何用zigbee对接网关(答的不好)

    4、C++多态

    5、自动控制原理中的PID

    总结:我感觉我什么的可以说一下,但是回答的可能不是很让面试官满意,无论是对知识的理解正确度上、深度上,都差那么一口气,还是要多学,学精学专一点。

    秋招总结:

    1、基础!!!基础!!!基础!!!

    2、不要盲目自信,自己的项目也要通透,能够对答如流。

    3、问一答十,准确且全面,不要挤牙膏,不会的问题一定要找个相似的补上,面试官想看到你知识体系,深度和广度。

    4、心态一定要调整好,疯狂投递刷题笔试面试,有机会就上,失败了就多多复盘。

    5、一定要好好准备,看面经啥的,可惜了提前批(学霸批)大厂独角兽的面试机会,不过对于我一个菜鸟大厂只能是幻想。

    附面试代码:

    1、字节对齐与大小端

     1 //
     2 //  Deepc.cpp
     3 //  Study  -- C的深入
     4 //
     5 //  Created by Admin-X on 2019/10/6.
     6 //  Copyright © 2019年 Admin-X. All rights reserved.
     7 //
     8 
     9 #include "Deepc.hpp"
    10 #include <iostream>
    11 using namespace std;
    12 #pragma pack(4) //改变对齐字长
    13 
    14 void byteSize(){    //          4-byte                   8-byte
    15     struct fun{         //  Address   offset         Address   offset
    16         int a;          //  0x6EFE7C    +0           0x6EFE78    +0
    17         double b;       //  0x6EFE80    +4           0x6EFE80    +8
    18         char c;         //  0x6EFE88    +8           0x6EFE88    +8
    19         char d;         //  0x6EFE89    +1           0x6EFE89    +1
    20         int e;          //  0x6EFE8C    +3           0x6EFE8C    +3
    21     }F;
    22     cout << sizeof(F) << endl;
    23     //printf("0x%X
    0x%X
    0x%X
    0x%X
    0x%X
    ",&F.a,&F.b,&F.c,&F.d,&F.e);
    24     //printf("0x%X
    ",&F.k);
    25 }
    26 
    27 void checkCPU()    //检测CPU大小端字节序,小端字节序:低位的地址存储低位的字节 ,大端反之
    28 {
    29     union w                 //                        Big-endian/Little-endian
    30     {                       //(Address)     0x00 0x01 0x02 0x03 // 0x00 0x01 0x02 0x03
    31         unsigned int a ;    //(Data)        0x87 0x65 0x43 0x21 // 0x21 0x43 0x65 0x87
    32         char b;
    33     }c;
    34     c.a = 0x87654321;
    35     if(c.b == 0x21){
    36         printf("little-endian
    ");
    37     }else{
    38         printf("big-endian
    ");
    39     }
    40 }
    View Code
  • 相关阅读:
    第四次实验报告
    第三次实验报告
    循环结构课后反思
    第二次实验报告
    第一次实验报告1
    第一次作业
    第二次实验报告 总结
    第九章实验报告
    第八章实验报告
    第六次实验报告
  • 原文地址:https://www.cnblogs.com/kryo/p/11690478.html
Copyright © 2011-2022 走看看