1.三种攻击
DNS欺骗攻击:冒充域名 把原来查询的IP改为其他IP
ddos攻击:大量合法的服务器向某一目标不断发送请求,导致其他用户无法使用
SYN Flooding攻击:攻击者使用无效IP地址 利用TCP三次握手过程,连续发送回话请求,直至连接超时,最终因耗尽资源而停止响应
2.TCP状态
SYN表示建立连接
FIN表示关闭连接
ACK表示响应
PSH表示有DATA数据传输
RST表示连接重置 用来强制关闭
那么什么时候发送RST包呢 如下几种情况 1.建立连接的SYN到达某端口 但是该端口上没有正在监听的服务 2. TCP收到了一个根本不存在的连接上的分节 3.请求超时 使用setsockopt的SO_RCVTIMEO选项设置recv的超时时间。接收数据超时时,会发送RST包。

3.堆排序
首先来讲二叉树 满二叉树就是 这个二叉树的节点要么是叶节点 要么有两个子节点 满的
完全二叉树是 除了最后一层外 其他层节点都满的(达到最大个数),然后 最后一层的节点都集中在左侧 (节点的编号与满二叉树是一致的)
这下我们来说堆 堆就是具有以下性质的完全二叉树: 每个节点的值都大于或者等于其左右孩子节点的值,为大顶堆 每个节点的值都小于或等于其左右孩子节点的值 叫做小顶堆
大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2]
小顶堆:arr[i] <= arr[2i+1] && arr[i] <= arr[2i+2]

堆排序
堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn)
但是他的额外空间复杂度为O(1) 因为堆排序属于原地排序

再简单总结下堆排序的基本思路:
a.将无需序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆;
b.将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端;
c.重新调整结构,使其满足堆定义,然后继续交换堆顶元素与当前末尾元素,反复执行调整+交换步骤,直到整个序列有序。

7.对字符串HI_KWAI中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为18
哈弗曼编码
常用的二叉树概念 路径长度 节点的路径带权长度 树的路径带权长度
哈夫曼树就是在叶节点和权重都确定的情况下 带权路径长度最小的二叉树 也叫做最优二叉树

一堆节点(权值) 从最小的两个开始来合成父节点 (父节点的值是两个子节点的和) 然后删除掉两个子节点 留下叶节点 这样继续开始合并

8.计算无向图的度
总度数=边数*2

11.时间复杂度和空间复杂度的计算
还存在问题

12.A,B,C,D都为32位整型,基于以下给定的C,D能否得出A,B
存在越界问题 C+D=2A C-D都会导致越界 但是
C=A+B D=B 的时候 C-D=A A是32整型 所以不会越界 D直接等于B也不会越界

16.快速排序算法
快速排序算法就是先找到一个基准值 然后确定首尾为left和right 从right往前找到比它小的值赋给left left右移,否则right左移;再从left往后找比它大的值赋给right right左移 最后当left和right重合的时候把基准值赋给重合位置
这样进行一轮下来 基准值左边都比他小 右边都比他大

18.进程状态转换
运行态:进程占用CPU,并在CPU上运行;
就绪态:进程已经具备运行条件,但是CPU还没有分配过来;
阻塞态:进程因等待某件事发生而暂时不能运行;

以上就是进程三种状态的转换示意

22.最长等差数列
给定一个未排序数组,找出其中最长的等差数列(无需保证数字顺序)。

我自己的代码如下:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;bool isarith_part(vector<int>nums,int start,int end){int times=end-start;if(end-start<=1){return true;}int cur=start+1;while(end-cur>=1){if(nums[start+1]-nums[start]!=nums[cur+1]-nums[cur]){return false;}}return true;
}int main(){int n;cin>>n;vector<int>nums;for(int i=0;i<n;i++){int temp;cin>>temp;nums.push_back(temp);}int max_len=5;for(int i=0;i<n;i++){for(int j=i;j<i;j++){vector<int>ttemp=nums;sort(ttemp.begin()+i,ttemp.begin()+j);if(isarith_part(ttemp,i,j)){int tt=j-i+1;max_len=max(max_len,tt);}}}cout<<max_len<<endl;return 0;
}

24.编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址
IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;
同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。

IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这些组数字通过 (":")分割。比如, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 是一个有效的地址。而且,我们可以加入一些以 0 开头的数字,字母可以使用大写,也可以是小写。所以, 2001:db8:85a3:0:0:8A2E:0370:7334 也是一个有效的 IPv6 address地址 (即,忽略 0 开头,忽略大小写)。

然而,我们不能因为某个组的值为 0,而使用一个空的组,以至于出现 (:

快手2020校园招聘秋招笔试--工程B试卷 订正相关推荐

  1. 快手2020校园招聘秋招笔试--工程B试卷

    攻击者使用无效IP地址,利用TCP连接的三次握手过程,连续发送会话请求,使受害主机处于开放会话的请求之中,直至连接超时,最终因耗尽资源而停止响应.这种攻击被称为 A. DNS欺骗攻击 B. DDoS攻 ...

  2. 快手2020校园招聘秋招笔试--工程C试卷 (编程题题解全)

    1.病毒检测 滑动窗口题 例子: 2 0101010(第一位下标为1) 1)找到第一个最短的满足k条件的子串,即s[2~4],l=2,r=4 2)找出这个子串左右连续的0的个数,分别为a,b,则对于这 ...

  3. 快手2020校园招聘秋招笔试--工程A试卷 (编程题题解全)

    "好序列"的个数 反着求,先求出所有序列个数,再减去不符合的个数. 黑边把图分成一个,一个的连通分量. 所以我们只要用dfs求出每个不包含黑边的连通分量的包含点个数sz,sz^k就 ...

  4. 快手2020校园招聘秋招笔试--工程A试卷

    1.(计算机网络原理)若用斜杠记法标识子网掩码,则255.255.240.0对应于 B A. /19 B. /20 C. /21 D. /22 解析 255.255.240.0转换为二进制为11111 ...

  5. 快手2020校园招聘秋招笔试--工程C试卷

    1. 关于java的异常处理机制,以下说法正确的是: A. 当某个线程抛出OutOfMemoryError时,其他线程有可能不受影响 B. 当大量抛出RuntimeException时,不会影响系统的 ...

  6. 快手2020校园招聘秋招笔试--工程C试卷(21题)滑动窗口解决字串

    病毒检测 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 小明最近在做病毒自动检测,他发现,在某些library 的代码段的二进制表示中,如果包含子串并且恰好有 ...

  7. 快手2020校园招聘秋招笔试--工程A试卷 题4

    题意:中文题面自行理解 思路:处理出每块由红色边连成的连通块的点个数,ans=总方案数-所有只有红边相连的块的总方案数+只有黑边与之相连的点个数 代码: #include<bits/stdc++ ...

  8. 渣渣做后端真题-- 快手2020校园招聘秋招笔试--工程A试卷 选择题

    真的是一枚渣渣,题在牛客网找的,有错误求大神指导,求一起做题的小伙伴,没写的题是我会的,有问题可以给我留言呀- A:记忆小Tips:4** 没有402(阿玛尼红管402 ,一只鲜艳的苹果红),5** ...

  9. 快手2020校园招聘秋招笔试--算法B试卷

    四个编程题总体算比较简单,基本都在LeetCode出现过.但是我的速度太慢了,还要加油啊ヾ(◍°∇°◍)ノ゙ 牛客快手2020校园招聘秋招笔试–算法B试卷 合法数独 给定一个数独板的输入,确认当前的填 ...

最新文章

  1. C++中的类属(泛型)机制——模板
  2. 转:软件设计漫谈之三:30分钟掌握面向对象类的设计原则
  3. java随机点名器的思路_Java实现简单的随机点名器
  4. 石川es6课程---17、ES7 预览
  5. html 链接section,HTML section 标签
  6. 《代码大全》阅读心得二
  7. python熊猫烧香_熊猫烧香的核心代码
  8. 计算机中常用的声音编辑工具有哪些,电脑常用音频剪辑软件
  9. 小米android手机怎么刷机,小米4手机怎么刷机 小米4刷机图文教程
  10. 使用IntelliJ Idea新建SpringBoot项目
  11. 自学Python第二十六天- Tornado 框架
  12. python并发编程之semaphore(信号量)_python 之 并发编程(守护进程、互斥锁、IPC通信机制)...
  13. Navicat Premium Mac 12 破解
  14. omi html转义,特殊字符读法
  15. 不可逆加密算法(MD5)
  16. Hexo博客icarus主题定制篇
  17. HDLBits-Circuits学习小结(八)有限状态机进阶(Lemmings、Onehot FSM、PS/2 packet parser)
  18. 《江南百景图》为什么火了?和主创团队聊完之后,我跪了
  19. ChatGPT 大智近妖,从宇宙人生到手搓光刻机,从哄女友到写年终总结我们聊得非常开心,反而让人越来越忧心
  20. Python 爬取煎蛋妹子图

热门文章

  1. 基于Python的小游戏
  2. OpenCV+VTK 读书笔记
  3. 【图像格式】 TGA格式编码详解
  4. “#51CTO学院四周年#互相交流,共同提高!
  5. 面试时谈得很好,事后没有电话给通知,这个时候应该怎么办?
  6. 栅格地图建立-Grid-Mapping
  7. java随堂练习01,算术运算符的使用。
  8. 计算机毕设 数据可视化分析大屏系统分享
  9. 腾讯云海外直播系统架构是怎么设计的?(附视频回放)
  10. 微信小程序 阻止 onshow请求数据