金山WPS C++一面 12-03-20

#金山# #金山办公面试#
# 自我介绍:略
# 经常使用的容器
`map` k,v可以存储操作id和函数,根据操作类型调用相应的方法,作为回调。
# C++有哪些多线程库
知道两种,一种是std:thread,一种是基于RAII思想封装std::thread得到的std:jthread
# sort()使用了哪种排序算法
`sort()` 底部使用了多种排序算法: 快排,堆排
1. 当数据量大,分布随机时,使用快速排序
2. 数据量小,使用插入排序
2. 递归深度过深时使用堆排序
# 排序算法的使用场景
1. 快排:无序数组效率会很高,但是有序数组效率会很低,
2. 归并排序:内存有限的情况下,可以使用多路归并
3. 插入排序: 基本有序的数据,适合于插入排序。
# 智能指针
`weak_ptr`可以提升为`shared_ptr`吗?
可以。
1. `shared_ptr`: 会使用计数器来记录引用次数,当引用次数为0时,释放对象。
2. `weak_ptr`:`weak_ptr`实现弱引用,用来解决`shared_ptr`的循环引用问题,可以通过`.lock()` 提升为 `shared_ptr`
# 使用一段代码体现C++面向对象的思想
C++面向对象的特性有三个
 1. 封装
 2. 继承
 3. 多态
 写了两个类,一个基类,一个子类,没有成员变量,子类重写了基类的虚函数
###两个类的大小,
回答没有考虑继承时的虚函数指针,所以回答的两个都是1。
实际上因为对象会有一个虚函数指针,对于个一个64位的机器,指针的大小是8字节,所以两个类的大小都是8字节。
# 实现字符串数字相加,相减
需要对特殊情况做特殊处理
1. 前导0
2. 正数+负数
3. 负数+负数
4. 小数-大数等等
# 最后
倒霉倒霉倒霉。面试期间,快手电话没接到,应该是约面的。结束之后去官网看已经挂了。此前快手三面,面试官问插入时不考虑发生冲突,只考虑扩容的hashmap,插入的平均时间复杂度是多少,面试官说是O(logN),只知道C++的最差是O(N),后来搜了一下java里有这个。。。讲解项目面试官说他没听懂😅。。。
有错误的地方还请大佬指点。
全部评论
有笔试吗
点赞 回复 分享
发布于 02-25 15:59 河南
金山wps已释放一个offer 佬加油
点赞 回复 分享
发布于 2024-12-09 03:38 广东
佬base哪里呀?
点赞 回复 分享
发布于 2024-12-05 18:09 江西

相关推荐

05-21 12:13
已编辑
门头沟学院 Java
一进宫:4.28 一面  4.29 二面 隔天入库二进宫:5.8 从人才库被捞起 5.12 一面 5.14 二面 爱信等 offer 来 5.21 收到offer4.28 点评事业部/一面1. 自我介绍2. 实习相关(C/C++实习,非 Java)3. 项目逐行拷打4. 八股- Redis 缓存三兄弟及解决方案- Redis 持久化方式(AOF 日志文件怎么进行压缩?- MySQL 索引的数据结构- 索引失效场景- 什么样的列适合作为索引列- MVCC5. 手撕:leetcode 1143 最长公共子序列面完秒约二面4.29 点评事业部/二面1. 自我介绍2. 实习相关 + 闲聊(面试官质疑实习没意义,嘲讽得鼠鼠怀疑了好几天人生)3. 算法题:10个日志文件,每个500M,已经有序,内存100M,对这10个日志文件排序。说实现思路4. 闲聊面完第二天回人才库,果然挂了,疑似失去所有手段和力气5.12 业务研发平台/一面1. 自我介绍2. 项目拷打3. 八股- concurrenthashmap 怎么实现线程安全- 介绍一些设计模式- MySQL 索引的数据结构- 设置索引有哪些原则- MVCC- hashmap 的原理和扩容机制- CAP 理论- 死锁是怎么产生的,如何避免- 线程池的核心参数- 了解大模型吗,了解Agent吗4. 手撕leetcode 21 合并两个有序链表leetcode 93 复原 IP 地址 5.14 业务研发平台/二面1. 自我介绍2. 实习相关3. 项目相关4. 手撕:leetcode 16 最接近的三数之和5. 闲聊面完三个小时接到二面面试官信息采集电话,确认在读学校和户籍信息发面经攒人品等offer  ball ball 团子给个机会
点赞 评论 收藏
分享
评论
2
34
分享

创作者周榜

更多
牛客网
牛客企业服务