拼多多拼越计划服务端面试

8.15pdd服务端一面

  1. 论文项目
  2. MIPS32位CPU
  3. 如何处理中断
  4. 线程状态有哪些
    1. 新建状态 当用new操作符创建一个线程时,此时程序还没有开始运行线程中的代码。
  5. 线程间通信方式、同步方式
  6. 编程题有20分钟左右时间
    给定一个总时间11,和修复每一个机器的消耗的时间数组[1, 9, 3, 1, 12],可以选择跳过一个机器,从左到右修复机器,求跳过哪一个机器 ,能使得修复的机器数量最多。
    输入:5 [1 9 3 1 12] 11
    输出:2

太菜了,每次题目都往dp想的时候都没做出来,拼越计划感觉凉了,这个题目明明就简单的贪心就好了,开始又不去想着暴力深搜。

#include<iostream>
#include<vector>
using namespace std;

/*
5 11 1 9 3 1 12
*/ 
int main() {
	int N, total;
	cin>>N>>total; 
	vector<int> data(N,0);
	for (int i = 0; i < N; ++i) cin >> data[i]; 
	int curr = 0, cindex = 0; 
	for (int i = 0; i < N; ++i) {
		if (curr + data[i] < total) {
			if (data[i] > data[cindex]) {
				curr = curr + data[cindex];
				cindex = i;
			} else {
				curr += data[i]; 
			}
		} else {
			if(curr + data[cindex] < total) {
				curr = curr + data[cindex];
				cindex = i;
			} else {
				cout<<cindex+1<<endl;
				return 0;
			}
		}
				
	}	
	return -1;
}

8.22 拼多多服务端二面

操作系统替换策略

1.说一下一些概念
PS腾讯也喜欢问这道题,前一天还让实现了LRU hash+双向链表
问:LRU\LFU
答:操作系统页面替换策略,LRU是指的最近未使用策略,将最久没有被使用的,再最先调入页表中的页面替换掉 LFU是最近使用频率最小的 应该是采用hash+堆来实现 ,如何实现O(1)的put?
页面是指的什么页面?
讲了下虚拟内存,然后到线性地址(虚拟地址)到物理地址转换的时候需要通过页表来转换,页表满了需要替换

2.依赖注入是什么 不知道
3.正则表达式怎么实现

4.算法题
山脉数组求山脉的最大长度 山脉长度要>=3 并且 是< 和>的山坡

滑动窗口
分两个阶段扩充右边界 第一阶段 a[i]<a[i+1] 碰到一个不满足的时候进入第二阶段 第二阶段 a[i]>a[i+1]
如果经过了一个山坡 l = r 否则的话是 ++l;

要自己写测试样例 大部门都过了 子集手贱 两个山坡加中间平稳的有bug

222 输出0
12321 输出5没问题
123211234321 输出的是8,应该是7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值