小红书日常实习C++一面

项目拷打半小时

epoll相对于select和poll的改进

readylist的长度有限制吗

muduo为什么用LT模式

什么情况下用ET模式

堆排序算法的实现,堆的插入,删除,向上调整向下调整

final关键字

为什么要虚拟地址

共享内存的过程 ,共享内存的销毁

智能指针解决什么问题,原理是什么,shared_ptr是如何具体实现的,shared_ptr和unique_ptr的区别,适用场景。 shared_ptr是线程安全的吗

场景题:两个线程,各自有一把锁,要有两把锁才能往下执行,怎么避免

1. 同时拿到两把锁才能继续往下执行——怎么实现

2. 给锁编号

struct A{

char a;

int b;

short c;

}

对齐模数4

占用内存是多少(答:12)

最小占用内存多少(更改对齐模数 修改内部元素的位置)

如何修改对齐模数

把对齐模数改为1 2,为什么不把对齐模数改小

手撕代码:最长上升子序列,每个样例有多行

#C++面经#
全部评论
北大爷面小红书不是乱杀
4 回复 分享
发布于 2023-03-08 23:13 浙江
epoll相对于poll,select的改进,用红黑树存储fd(没有个数限制,时间复杂度更低),一次拷贝(只拷贝一次到内核)等
3 回复 分享
发布于 2023-03-10 08:36 上海
场景题的答案我在哪看过,可以对这两把锁取地址,两个线程统一按照锁地址从小到大或者从大到小的顺序加锁就可以避免死锁
1 回复 分享
发布于 2023-03-12 08:37 贵州
北大爷,这些题目该去哪儿看资料呀,有的我听都没听过😂😂
点赞 回复 分享
发布于 2023-05-07 09:48 湖南
为什么不把对其模数改小?求解
点赞 回复 分享
发布于 2023-04-07 13:45 黑龙江
线程锁的问题: 1、std::lock()方法同时锁住两个,否则释放 2、序号锁
点赞 回复 分享
发布于 2023-04-07 10:43 黑龙江
大佬过了吗
点赞 回复 分享
发布于 2023-03-17 19:14 北京
团队介绍 阿里云消息团队(阿里消息中间件团队),为千万个中小企业提供一站式的消息服务,覆盖业界最主流的消息产品线,包括RocketMQ、Kafka、RabbitMQ、MQTT、EventBridge、MNS。 欢迎加入我们的团队,一起打造稳定、高效、开放、低成本的一站式消息服务平台,服务阿里巴巴经济体、阿里云智能企业用户和广大开发者生态,让天下没有难用的MQ。 base地点:杭州、深圳,社招、校招都可以,简历发yubao.fyb@alibaba-inc.com
点赞 回复 分享
发布于 2023-03-11 20:02 浙江
锁那题是让说死锁吗?要怎么实现呢
点赞 回复 分享
发布于 2023-03-11 15:09 江苏
大佬要不要秒一下我司:https://wecruit.hotjob.cn/SU62d915040dcad43c775ec12c/mc/position/campus?acotycoCode=hugrvk
点赞 回复 分享
发布于 2023-03-11 14:27 辽宁
团队介绍 阿里云消息团队(阿里消息中间件团队),为千万个中小企业提供一站式的消息服务,覆盖业界最主流的消息产品线,包括RocketMQ、Kafka、RabbitMQ、MQTT、EventBridge、MNS。 欢迎加入我们的团队,一起打造稳定、高效、开放、低成本的一站式消息服务平台,服务阿里巴巴经济体、阿里云智能企业用户和广大开发者生态,让天下没有难用的MQ。 base地点:杭州、深圳,社招、校招都可以,简历发yubao.fyb@alibaba-inc.com
点赞 回复 分享
发布于 2023-03-11 10:32 浙江
同学可以来试一下我们阿里中间件团队吗?https://www.nowcoder.com/feed/main/detail/e35b4791abd04e5dac89ff214f8253d2?sourceSSR=users
点赞 回复 分享
发布于 2023-03-09 22:14 浙江
内存对齐哪块,最小内存如果按单字节对齐是7 这样不能算最小吗😂
点赞 回复 分享
发布于 2023-03-09 15:33 陕西
北大,厉害了
点赞 回复 分享
发布于 2023-03-09 11:21 北京
“什么情况下用ET模式”,老哥这个该咋回答呀
点赞 回复 分享
发布于 2023-03-09 10:46 广东
所以readylist的长度有限制吗
点赞 回复 分享
发布于 2023-03-09 10:14 湖南
佬在哪投的
点赞 回复 分享
发布于 2023-03-09 01:42 河北

相关推荐

点赞 评论 收藏
分享
------------------------------------题目一:题目大意:有 n (1 <= n <= 2e5) 本书,编号为 ai (0 <= ai <= 1e9)。你需要将它们放入若干个临时书架(先进先出队列),要求奇数编号和偶数编号的书不能混放。最终,你需要从这些书架中按顺序取出书本,形成一个严格递减的序列。问最少需要多少个临时书架。解法思路:奇偶性限制使得奇数和偶数两组书的处理是完全独立的。对于每一组(例如奇数),为了能按顺序取出形成一个严格递减序列,放入同一个书架的书必须是原序列中的一个严格递减子序列。因此,问题转化为:将奇数子序列和偶数子序列分别拆分成最少数目的严格递减子序列。根据Dilworth定理,一个序列最少能被划分成的递减子序列的数量,等于其最长严格递增子序列(LIS)的长度。所以,分别求出奇数序列和偶数序列的LIS长度,两者相加即为答案。LIS可用经典的O(n log n)算法求解。------------------------------------题目二:题目大意:有 n (1 <= n, m <= 1000) 个部门和 m 个项目,部门权重为 ai,项目难度为 bj (1 <= a, b <= 1e4)。还有一个 n x m 的绩效矩阵 vij (1 <= v <= 1e4)。总绩效为所有 wij = vij * (ai + bj) 的和。你可以任意交换部门的顺序(行和a的顺序),也可以任意交换项目的顺序(列和b的顺序),目标是最大化总绩效。解法思路:关键在于对总绩效公式进行数学变形。总绩效 = Sum(vij * (ai + bj)) = Sum(vij*ai) + Sum(vij*bj)。将求和顺序改变可得:Sum(ai * Sum_j(vij)) + Sum(bj * Sum_i(vij))。这等价于 `部门权重向量a` 与 `矩阵行和向量` 的点积,加上 `项目难度向量b` 与 `矩阵列和向量` 的点积。根据排序不等式,两个向量的点积在它们同序排序时最大。因此,先计算出矩阵的所有行和与列和。然后,将部门权重a和行和向量都按降序排序后计算点积,再将项目难度b和列和向量都按降序排序后计算点积,两者相加即为最大总绩效。------------------------------------题目三:题目大意:有 n (1 <= n <= 1e5) 个服务区域,每个区域是数轴上的一个闭区间 [li, ri] (|li|,|ri| <= 1e9)。你需要选择一个整数点 x 作为仓储中心,使得总运输成本最小。单个成本定义为:如果 x 在区间内,成本为0;否则成本是 x 到该区间最近端点的距离。解法思路:这是一个经典的几何中位数问题。总成本函数是所有单个成本函数的和,而每个单个成本函数 `cost(x)` 都是一个V形的凸函数。多个凸函数之和仍然是凸函数,其最小值点可以通过分析斜率变化找到。总成本函数的斜率在每个区间的端点 `li` 和 `ri` 处发生变化。当 x 从负无穷向正无穷移动时,初始总斜率为-n,每经过一个端点,斜率就加1。当斜率从负数变为非负数时,就到达了成本最小的位置。这个位置恰好是所有 `2n` 个端点(所有 `li` 和 `ri` 的集合)的中位数。因此,只需收集所有 `2n` 个端点,找到它们的中位数作为最优选址x,然后计算总成本即可。具体的详细代码和题解可以戳我主页的文章查看
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
评论
23
218
分享

创作者周榜

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