零念科技 c++ 面试

本来以为小厂(还是实习岗)不会问些太难的,确实有点超乎我的意料了。
全程65分钟 没录音 说点印象深刻的吧。

1、vector,at用过吗,assign用过吗,vector初始化的方式有哪些,说一下std::array和vector的区别,说一下push_back和emplace_back的区别,如何知道emplace_back拷贝次数更少的(我说构造函数打印1 观察打印出来的个数来判断 但面试官好像不太同意)
2、如何让类只能在堆内存上开辟 (把析构函数放在private 写个方法手动析构 但面试官好像没听过)
3、指针和引用的区别,可以定义引用的引用吗(以为是int a = 0; int &b = a; int &c = b;这种意思,但事后查了一下这个确实不能叫引用的引用)
4、如何禁止默认构造函数(脑抽说了一下explicit  后来想改回delete已经晚了)
5、使用过模板吗,为什么模板声明和定义不能分开写,说一下模板的特化
6、听说过类的前置声明吗?有什么用
7、用过override的吗,写在哪,与不写相比区别在哪?
8、用过内联函数吗,一般写在头文件上还是cpp文件中
9、如何计算一个类的大小
10、讲一下智能指针 说一下智能指针的大小(我说得看类的内部实现 估计面试官理解成所指向的对象的内部实现了 但我其实是不清楚shared_ptr除了计数器指针和对象指针还有没有其它成员变量
11、讲一讲进程通信的方式,用过条件变量吗,如何防止虚假唤醒的情况,遇到过唤醒丢失吗?
12、用const_cast吗,讲一下怎么使用的,constexpr听说过吗?和const区别在哪。
13、讲一下std::move。
14、构造函数列表初始化和赋值的区别,有哪些情况必须要通过列表初始化,成员变量在构造函数构造和默认初始化有什么区别(大概是int a=0;这种意思),如果int a=0;以及在构造函数中让其列表构造a(1);最后a是几?会被构造两遍吗?
15、用过c++14或者17吗?
16、知道编译吗,讲一下写的代码到可执行文件经历了什么过程,说一下动态库和静态库的区别,知道.o文件吗?
17、平时你构建项目是用的什么(讲了cmake)

反问:部门主要是做类似任务调度的工作(类似于操作系统层),比如刹车放在优先级更高的位置。
#面经#
全部评论
零念是做中间件的 之前有干过一段时间 技术确实可以 不过给的不多还在上海
2 回复 分享
发布于 2023-09-15 13:02 陕西
属于挺细的了
点赞 回复 分享
发布于 2023-09-15 12:59 上海
两三百人初创
点赞 回复 分享
发布于 2023-09-15 13:04 陕西
零念问的太深了 250一天不供吃不供住没有去😑
点赞 回复 分享
发布于 2023-09-21 16:27 辽宁
兄弟,我刚面了,跟你的问题很大一部分一样😂,早知道早点来看面经了
点赞 回复 分享
发布于 2023-10-25 19:24 江苏

相关推荐

03-19 16:53
已编辑
合肥工业大学 Java
- 你是如何解决缓存雪崩的问题的? (答均匀设计过期时间,设置缓存永久有效,服务降级,业务熔断限流)- 问具体什么场景会实现雪崩? 感觉像是问我是不是真的有这个场景- Redisson怎么实现一人一单- Redisson挂了怎么办,我说数据库层面操作,或者mq, 面试官说直接用唯一索引就行- MySQL的存储引擎 MyISAM和InnoDB有什么区别 (没答上来MyISAM,只说了InnoDB)- InnoDB是如何保证ACID的- MVCC是什么?(答了很多,面试官说Read_view没讲,可能是太紧张说的语序有问题)- undolog保存了什么内容,应该是想问事务id- MVCC什么是可见的,undolog能做什么- MyISAM有什么日志,(回答都有binlog)- 索引优势是什么?B+树,为什么不用红黑树- 提醒我还有Hash索引,- 如果我要实现索引实现 %+内容 (本来想的强制走索引,面试官说不对,引导我说 联合索引)一点点引导我说的- 执行一条update语句,会发生什么(没有回答出来要检查 连接器:建立连接,管理连接、校验用户身份和对 SQL 查询语句进行词法分析、语法分析)- join select 这些关键字执行的顺序是什么- 手写一个单例模式 为什么要用volatile- 怎么保证可见性,有序性,原子性- synchronized了解吗,怎么实现的- synchronized锁的优化,轻量级锁是什么,重量级锁是什么- monitor变量是什么,mark word有什么字段- 线程池使用,线程池参数,Executor的newFixedThreadPool会产生什么样的OOM,CPU的还是内存的- ThreadPoolExecutor 参数设置,拒绝策略,为什么死锁- 怎么把旧线程池弄到新的线程池上- AQS原理- AQS为什么用CLH, LockSupport.park后线程的状态,BLOCKED WAITING TIMED_WAITING三种状态是怎么产生的- CountDownLatch是怎么实现的,问原理- ThreadLocal内存泄漏怎么办,GC后还存在为什么,ThreadLocal作者自己做了什么努力- ThreadLocal的哈希算法有什么特点- 有没有用过 completablefuture,能做什么,和不用有什么区别- 如果我去查询数据库,然后编排后面的任务,这些任务必须要等前面的做完才可以执行么,还是可以同时- completablefuture异常处理和普通的try catch有什么区别- Bean的生命周期- AOP- 为什么三级缓存,循环依赖二级缓存不行吗,Bean的生命周期的postprocess方法
点赞 评论 收藏
分享
03-14 11:54
已编辑
门头沟学院 C++
深圳中小厂 自动驾驶测试开发 实习8k转正10k
点赞 评论 收藏
分享
评论
8
43
分享

创作者周榜

更多
牛客网
牛客企业服务