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
  • 相关阅读:
    jQuery 语法
    jQuery 简介
    把数据存储到 XML 文件
    XML 注意事项
    XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。
    通过 PHP 生成 XML
    XML 命名空间(XML Namespaces)
    XML to HTML
    XMLHttpRequest 对象
    使用 XSLT 显示 XML
  • 原文地址:https://www.cnblogs.com/kryo/p/11690478.html
Copyright © 2011-2022 走看看