网易内推笔试编程
关于ICMP:
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。
linux有关于网络的接口
网络信息查看
查看网路接口信息
1.了解linux中的网络接口设备
$/sbin/ifconfig 查看所有活动网络接口信息,其中包括一个lo环回端口。
2.查看指定网络接口的信息
$/sbin/ifconfig <网络接口名称> 查看指定接口信息。
3.查看系统中所有网络接口的信息
$/sbin/ifconfig –a 查看所有接口信息,包括非活动状态接口。
在UNIX/Linux系统中,一般不同的存储文件具有不同的功能,使用/etc/shadow文件来存储用户密码,所有用户都可以通过执行passwd(usr/bin/passwd)修改自己的秘密(修改/etc/shadow文件),但非root的其他用户对/etc/shadow文件没有读写权限。为什么所有用户可通过passwd命令修改的密码(修改/etc/shadow文件)?
题目描述
又到了丰收的季节,恰逢小易去牛牛的果园里游玩。牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。在果园里有N维苹果,每维苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。
牛年觉得这个问题太简单,所以希望你来替他回答。
输入描述:
第一行一个数n(1<=n<=10(5次方))。
第二行n个数ai:(I<=ai<=100),表示从左往右数第i堆有多少苹果
第三行一个数m(1<=m<=10(5次方)),表示有m次询问。
第四行个数,表示小易希塑知道第4:个苹果属于哪一境。
输出描述:
m行,第i行诵进第qi个苹果属于哪一堆
#include<iostream>
#include<stdio.h>
using namespace std;
#include <list>
int main()
{
int m,n,value;
cin>>m;//堆数
list<int> arr;
list<int> q;
for(int i=0;i<m;i++)
{
cin>>value;
arr.push_back(value);
}
cin >> n;//查询数
for (int i = 0;i<n;i++)
{
cin >> value;
q.push_back(value);
}
auto qite =q.begin();
while(qite != q.end())
{
value = *qite;
int count = 0,flag=1;
auto arrite = arr.begin();
while (arrite != arr.end())
{
count+=*arrite;
if(value <= count)
{
cout<<flag<<endl;
break;
}
flag++;
arrite++;
}
qite++;
}
while(1);
return 0;
}
第二题
小易有一些立方体,每个立方体的边长为1,他用这些立方体摇了一些塔。
现在小易定义:这些塔的不稳定值为它们之中最高的塔与最低的塔的高度差。
小易想让这些塔尽量稳定,所以他进行了如下操作:每次从某座塔上取下一块立方体,并把它放到另一座塔上。
注意,小易不会把立方体放到它原本的那座塔上,因为他认为这样毫无意义。
现在小易想要知道,他进行了不超过k次操作之后,不稳定值最小是多少。
输入描述:
第一行两个数n,k(1<=n<=100,1<=k<=1000)
表示塔的数量以及最多操作的次数。
第二行n个数,ai(1<=ai<=106)表示第i座塔的初始高度。
输出描述:
第三题:
又到了周末,小易的房间乱得一团糟。
他希望将地上的杂物稍微整理下,使每团杂物看起来都紧凑一些,没有那么乱。
地上一共有n固杂物,每团杂物都包含4个物品。第物品的坐标用
(ai,bi)表示,小易每次都可以将它绕着(xi,yi)逆时针旋转90°,这将消耗他的一次移动次数。如果一团杂物的4个点构成了一个面积
不为0的正方形,我们说它是紧凑的。
因为小易很懒,所以他希望你帮助他计算一下每团杂物最少需要多少步移动能使它变得紧凑。
输入描述:
第一行一个数n(1<=a<=100),表示杂物的团数。
接下来4行,每4行表示一团杂物,每行4个数ai,bi,xi,yi,
(-10(4次方)<=xi,yi,ai,bi<=10(4次方),表示第i个物品旅转的它本身的坐标和中心点坐标。
输出描述:
|n行,每行1个数,表示最少移动次数。
有如下代码:
template <typename>void g(T&& val);<s/ypename> int i=0;const int ci= i;
(1)对于下面的调用,请确定T和va的类型?
g(i);g(ci).g(i*ci).g(i=ci);
(2)如果g的参数声明为T(而不是T&&)确定的端型?
(3)如果g的函数参数是constT&呢?
答案:
(1) g(i) T: int& val:int&
g(ci) T: const int&& val:const int&
g(i*ci) T: int val:int&&
g(i=ci) T: int& val:?
(2)函数参数为T:
(a) int& (b) cont int& (c) int
(3)函数参数为const T&(实参中的const是无关的):
(a) int (b) int (c) int
分析:从函数实参来确定模板实参的过程被称为模板实参推断。在模板实参推断过程中,编译器使用函数调用中的实参类型在寻找模板实参,用这些模板实参生成的函数版本与给定的函数调用最为匹配。