奇安信:笔试题(20190909)

本文介绍了一种用于结束进程树的算法实现,该算法通过遍历子进程并递归地终止整个进程树,适用于处理复杂进程关系的情况。文章提供了一个C++代码示例,展示了如何使用deque和vector数据结构来跟踪和终止子进程。

结束进程树

输入很难处理,没有给定每行数字的个数。这里采用全盘接收了再按情况分割放入容器内。

#include <iostream>
#include <vector>
#include <deque>

using namespace std;

int kill_sub_process(vector<int> child, vector<int> parent, int start)
{
	deque<int> values;
	values.push_back(start);
	int res = 1;
	while(!values.empty())
	{
		int cur = values.front();
		values.pop_front();

		for(int pi=0; pi<parent.size(); pi++)
		{
			if(cur == parent[pi])
			{
				res += 1;
				values.push_back(child[pi]);
			}
		}
	}
	return res;
}


int main()
{
	vector<int> total;
	int val;
	while(cin>>val)
	{
		total.push_back(val);
	}

	int start = total[total.size()-1];
	total.pop_back();

	vector<int> child, parent;
	for(int ti=0; ti<total.size(); ti++)
	{
		if(ti < total.size()/2)
			child.push_back(total[ti]);
		else
			parent.push_back(total[ti]);
	}

	int res;
	res = kill_sub_process(child, parent, start);
	cout << res << endl;

	return 0;
}

/*
3 1 5 21 10
0 3 3 1 5
5
*/

(最近更新:2019年09月12日)

关于2025年奇安信蓝队笔试题的具体信息尚未公开,因为时间线还未到达该年度。然而,基于当前行业趋势以及网络安全领域的发展方向,可以推测未来笔试可能会涉及的内容范围。 ### 可能覆盖的知识点 #### 1. **网络基础** 网络协议的理解是渗透测试的基础之一。可能考察TCP/IP模型、OSI七层模型及其对应的功能[^1]。 ```python import socket def test_socket(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = 'example.com' port = 80 try: s.connect((host, port)) print(f"Connection to {host} on port {port} successful.") except Exception as e: print(f"Error connecting: {e}") ``` #### 2. **漏洞利用与防御** 防御性编程和常见漏洞修复策略将是重点考查对象。SQL注入防护机制可以通过参数化查询实现。 ```sql -- 使用预处理语句防止 SQL 注入攻击 PREPARE stmt FROM 'SELECT * FROM users WHERE username = ? AND password = ?'; SET @u = 'admin', @p = 'password123!'; EXECUTE stmt USING @u, @p; DEALLOCATE PREPARE stmt; ``` #### 3. **日志审计与事件响应** 日志文件解析能力对于蓝队成员至关重要。掌握如何通过脚本快速提取异常行为记录是一项必备技能。 ```bash #!/bin/bash grep "ERROR" /var/log/syslog | awk '{print $4,$NF}' > error_summary.txt ``` #### 4. **加密算法原理** 对称加密与非对称加密的区别及应用场景需熟练掌握。RSA公钥体系的安全保障依赖于大整数分解难题。 ```python from Crypto.PublicKey import RSA key = RSA.generate(2048) private_key = key.export_key() public_key = key.publickey().export_key() with open('rsa_private.pem','wb') as f: f.write(private_key) with open('rsa_public.pem','wb') as g: g.write(public_key) ``` ### 结论 尽管无法确切得知2025年的实际考题内容,但从现有资料来看,上述几个方面均有可能成为命题焦点。建议持续关注业内动态并加强实践操作训练以应对挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值