美团_无人车_一面

做题

  1. 层次遍历(每一层放在一个vector<> 中)
  2. L0->Ln->L1->Ln-1...
    分两半,后面一半反转,然后在拼接

在debug的时候还问了一下单元测试,但是我不知...

聊项目

  1. 讲一下你最近的一个项目
    kalman filter下的听觉定位

  2. 搭载的传感器
    激光雷达,摄像头。。

  3. 怎么控制和处理的
    这里答的不好,他提到了上位机,然而我跟不不太懂
    怎么控制硬件?我只谈到两点,通讯协议和硬件相关的寄存器写数据。。。

  4. 你用ros开发,那么ros不同的节点只间怎么通信的?
    主要的两种:topic subscribe publisher; service 需要同步,阻塞
    节点是进程, ros master节点负责将收到的消息发送给订阅的节点,底层应该是socket通信方式

又提示我直接谈谈进程通信: 进程间通信的方式(OS级别的)

  1. 管道 ps -ef | grep ros,匿名管道;在另一个进程读取管道信息,前一个进程不会停止

  2. 消息队列

  3. 共享内存;进程访问的地址是虚拟地址,需要和物理地址进行映射;如果将两个进程的某块虚拟地址映射到同一个物理页上就实现的共享内存

  4. socket 套接字的方式,ip和端口号

  5. 说说程序编译和运行的整个过程

  6. 预处理 宏头文件

  7. 编译成目标文件 .o obejct elf

  8. 链接成一个可执行的程序(目标平台)(也会链接一些库文件,包括了静态链接)

程序被载入内存运行,此时就成了一个进程;
在内存的分布,包括栈,堆,数据段,代码段;
CPU程序计数器PC会指向程序的入口地址,然后不断的向下执行(包括栈栈操作,比如调用函数,堆操作,比如malloc)

有追问了一下啊内存寻地址的过程
TLB(TLB miss)-> 页表项填(有的话,因为可能是因为旧的的页页表项被踢出了),或者构建新的页表项-> 映射到物理地址

  1. 再回到项目, 谈谈点云的检测
    答的不好,只回答了自己的方法
    问了一下其他的深度学习的检测方法,只能够说没有了解

  2. 搭建的机器人。。。。
    也不是特别擅长,哪些是你做的

  3. 聊天环节

  • 我首先问了一下之前那个面试官为什么把我拒了的具体原因?java不了解,中间键,那个面试官还跟我聊这么久,脑子有坑吧。。。吐糟了一下
  • 谈了无人车的前景,问我想左无人车还是后端;
原文地址:https://www.cnblogs.com/fridayfang/p/14706711.html