零念科技 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-10-25 19:24 江苏
零念问的太深了 250一天不供吃不供住没有去😑
点赞 回复 分享
发布于 2023-09-21 16:27 辽宁
两三百人初创
点赞 回复 分享
发布于 2023-09-15 13:04 陕西
属于挺细的了
点赞 回复 分享
发布于 2023-09-15 12:59 上海

相关推荐

头像
08-19 00:08
已编辑
武汉大学 Java
终于有八股文了。1. 自我介绍2. 个人经历盘点3. 虚拟内存的好处4. 内存为什么要有内核空间4. tcp连接断开的几种方式(拔网线,断电,杀进程),timeout不好,怎么解决(heartbeat)5. 锁类型相关(开始吟诵Java八股,C++锁其实没这么多八股)参考:https://gg2002.github.io/2025/04/21/Program%20Language%20Design/os-and-pl-mutex/6. hashmap上锁用什么好(分段锁+读写锁,或者cow),读写锁一定好吗(当然不一定)?7. C++新特性吟诵(纯吟诵,move,function,thread,constexpr,import,coroutine)8. move vector底层会发生什么9. 为什么要有thread库(楼主还真不知道,说了为了程序员更好的封装使用,面试官不满)10. static_assert底层原理(更是不知道,只能口胡编译器能推断出来)11. 算法:k个一组反转链表,在最后一个循环一直segmentation fault,闹麻了,内存地址都打印出来了还显示segmentation fault,不知道是不是平台问题。12. 反问:部门:负责主站与海外的推荐系统工作作息:弹性工作制,互联网平均作息楼主的C++八股答得不是很妙,感觉是不是快手的就爱出这种冷门八股,new怎么在栈上分配空间(答案是new本来可以指定内存区域分配内存,但是一般没人这么写,而且new还有另一个指定内存不足也不报错而是直接返回nullptr的写法,都很邪门,感觉是纯嵌入式写法)也是楼主在快手面经里看到的。最重要的k个一组希望不要挂楼主。
查看12道真题和解析
点赞 评论 收藏
分享
1 描述最左匹配原则并举例说明失效场景2 聚簇索引与普通索引的区别3 聚簇索引的缺点4 聚簇索引叶子节点存什么5 ES与MySQL的区别6 ES的基本原理7 缓存穿透、击穿、雪崩的概念及区别8 缓存穿透的解决方案9 布隆过滤器的底层原理10 哈希函数越多越好吗11 Redis如何实现分布式锁12 除Redis外还能用什么实现分布式锁13 Redisson是什么14 Redisson相比原生Redis加锁的优势15 Redis数据过期策略16 Redis集群模式有哪些17 主从模式有哪些形式18 CompletableFuture与Future的区别19 CompletableFuture常用的两个方法及区别20 不传线程池时CompletableFuture默认使用什么21 线程池核心参数如何设置22 线程池任务执行流程23 动态线程池了解吗24 压测在性能调优中的作用25 常用的并发安全容器有哪些26 ConcurrentHashMap如何保证线程安全27 HashTable与ConcurrentHashMap区别28 synchronized与Lock的区别29 synchronized与Lock谁更优30 synchronized可以实现锁升级吗31 volatile的作用32 常用设计模式有哪些33 单例模式在哪些场景使用34 最常用的单例实现方式35 手写单例(懒汉+双检锁)36 单例中volatile的作用37 Java GC存在的意义38 垃圾对象的判定标准39 分代收集机制中Eden与Survivor的作用40 Survivor区比例41 动态年龄判断机制42 Sentinel实现限流的注解/方式43 限流与熔断的区别44 Caffeine的核心方法45 Caffeine相比其他本地缓存的优势46 MySQL性能调优流程47 消息队列如何保证最终一致性48 消息队列幂等性如何设计49 Spring常用注解有哪些50 @Autowired与@Resource区别51 Spring Boot与Spring区别52 事务注解@Transactional使用方式53 @Transactional在什么场景会失效54 算法题:合并两个有序链表
美团秋招笔试
点赞 评论 收藏
分享
评论
8
44
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务