地平线提前批一面Linux应用开发工程师

1.手写单例模式(饿汉式)。(不存在线程安全)
2.手撕不含有重复字符的最长子字符串。
3.了解大端字节序、小端字节序吗?为什么需要分大端字节序和小端字节序?
4.手写大小端字节序?
#include <iostream>
#include <cstring>
using namespace std;

int main() {
    union
    {
        short x;
        char c[sizeof(short)];
    }test;

    test.x = 0x0102;
    // 0x0102
    // c[0] c[1]
    if (test.c[0] == 1 && test.c[1] == 2) {
        cout << "大端字节序" << endl;
    }
    else {
        cout << "小端字节序" << endl;
    }
    return 0;    
}
5.能说说右值引用吗?为什么要有右值引用呢?
这块回答的不好,右值引用有点忘记了,只说了引用的右值是可以修改的,在某些临时情况下可以应用。
6.手写一个String类(估计右值引用答得不好就让实现一个String类)。
7.了解模板吗,可以实现一下类模板吗?
刚准备写,又忘记该怎么写了,写了个template<class T1, class T2>就没写了,难受,主要还是模板写得太少了。
8.C++11 了解哪些新特性呢,能说说看吗?
9.你说的智能指针有哪几种,各自有什么作用?
10.能解释解释shared_ptr的引用计数机制吗?
11.什么是多态?
12.vector和list的区别?
13.list支持自增、自减吗?(不支持,内存非连续
14.什么是内存对齐,为什么要有内存对齐?(刚准备想画个图更加清晰一些,发现画还不如直接说,尴尬...)
15.能谈谈编译的过程吗?
16.那预编译的又做了哪些事呢?
17.GDB调试如何调试一个崩溃的程序?(可以用bt查看堆栈信息
18.线程同步有哪些?
19.除了互斥锁、条件锁、读写锁、自旋锁,你还了解哪些同步机制?(我说还有无锁队列,面试官又问还有呢?......)
20.你说的自旋锁的应用场景有哪些呢?(锁的粒度足够小,持锁的时间足够短,建议使用互斥锁)
21.opencv了解吗?(不了解)
22.在不同平台上的如何链接的,了解吗?(不了解)

反问(这反问还是我提出来的,感觉自己有点强势,哈哈):面试官具体负责公司那块业务呢?
回答:需要将写好的程序【主要使用C/C++以及python】载入芯片运行,供汽车对路边的障碍物等进行识别,而这边也有现成的模型去处理,其次有时还要和客户对接需求,也会涉及到出差,但是出差次数不多。

一面80min,最长的一次了(可能不像其它统一面试,面了这一场还要面下一场,时间紧迫)。

PS:当时用的腾讯会议,只设置了1个小时的会议,1个小时后突然结束了,联系hr重新进入后,面试官嘟囔了一句想多问点。。。







#地平线2022届校招提前批##面经##校招##应用开发工程师##地平线#
全部评论

相关推荐

头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-12 10:48
已编辑
秋招之苟:邻居家老哥19届双2硕大厂开发offer拿遍了,前几天向他请教秋招,他给我看他当年的简历,0实习实验室项目技术栈跟开发基本不沾边😂,我跟他说这个放在现在中厂简历都过不了
点赞 评论 收藏
分享
10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
评论
2
25
分享
牛客网
牛客企业服务