自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

后台服务架构师

专注于服务器后台开发

  • 博客(165)

原创 盘点腾讯linux C++后台开发面试题

鹅厂是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言,之前面试Java的公司侧重还是在数据结构、网络、框架、数据库和分布式。所以OS这块吃的亏比较大。面试分为以下几大块C/C++网络操作系统Linux系统MongoDBRedismysql算法设计模式分布式架构系统设计等等,未完待续C/C++const多态什么类不能被继承(这个题目非常经典,我当时答出了private但是他说不好,我就没想到final我以

2020-08-12 17:24:25 183

原创 秋招offer收割机——后台服务器开发方向(专业学习路线图总结)

IT行业,从业技术方向千千万,为什么我称后台服务器开发领域为offer收割机。首先我们看一下,如果要从事后台服务器开发要掌握哪些技术!有点多,做好心理准备。可能技术的全面度是你之前没有见过。看到这里是不是先关注,收藏一波。便于日后再学~~~1.算法与设计排序与查找常用算法常用的数据结构常用的设计模式推荐学习书籍:CLRS 算法导论 算法百科全书、Algorithm Design 算法设计、算法设计与分析电子书下载地址:https://pan.baidu.com/s/11h5qyL0fN

2020-07-02 16:56:52 829

原创 网络编程者必学的TCP/IP协议——分层

如何实现单机百万连接;如何优化三次握手、四次挥手;如何优化TCP的传输速率;nginx零拷贝技术的实现;epoll原理剖析和面试必问的问题。参考教材:TCP/IP详解卷1/2/3如果你还对此有疑问?戳这里:https://ke.qq.com/course/2739583?flowToken=1024417带你解决问题所在!实战出发,直击痛点!网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如 T C P / I P,是一组不同层次上的多个协议的组合..

2020-06-23 21:46:54 2634

原创 c/c++linux后台服务器开发如何提升?(路线图已备好)

随着业务市场的不断壮大,更便捷的开发语言也越来越受到市场的欢迎。Java,python还有新贵golang。那c/c++语言的开发者市场在哪里。虽然说没有活干说的可能过于夸张,但是面临的事实就是比不了。可能初学一点Java,python等等就能找到一份不错的开发工作,但是如果你只会一点c,又不是校招的话,能找到哪些工作呢?C,c++不同于Java。Java的技术路线是比较固定的,学好技术栈...

2020-01-14 15:51:30 10247 9

原创 2020年美团秋招C++精选面试题及答案(下)

布隆过滤算法布隆过滤器使用二进制向量结合hash函数来记录任意一条数据是否已经存在于集合中。布隆过滤器的执行流程为:首先申请包含SIZE个bit位的Bit集合,并将所有Bit置0。然后使用数种(k)不同的哈希函数对目标数据进行哈希计算并得到k个哈希值(确保哈希值不超过SIZE大小),然后将Bit集合中以哈希值为下标所处的bit值置为1,由于使用了k个哈希函数,因此记录一条数据的信息将在Bit集合中把k个bit值置为1。由于哈希函数的稳定性,任意两条相同的数据在Bit集合中所对应的k个bit位置是.

2020-09-15 16:50:43 30

原创 2020年美团秋招C++精选面试题及答案(上)

1. B+树特点(1)每个结点的关键字个数与孩子个数相等,所有非最下层的内层结点的关键字是对应子树上的最大关键字,最下层内部结点包含了全部关键字。(2)除根结点以外,每个内部结点有 到m个孩子。 [3](3)所有叶结点在树结构的同一层,并且不含任何信息(可看成是外部结点或查找失败的结点),因此,树结构总是树高平衡的。2.CAS的缺点及解决CAS的缺点有如ABA问题,自旋锁消耗问题、多变量共享一致性问题.1.ABA:问题描述:线程t1将它的值从A变为B,再从B变为A。同时有线程t2要将值从A变为

2020-09-15 16:37:31 27

原创 leetcode系列解题思路

这阵子一直在刷题,刷到这个系列了,写点自己能理解的心得体会吧,不是最优的,但个人认为理解的不太难。言归征战,这个系列的大体思路就是给你一连串的股票价格,再加上各个限定条件,让你求出每种限制条件下,各自能获得最大的利润。(要是能有这个预知未来的能力,可以不用搬砖了,orz…)I. 限制条件:只允许交易一次;思路:先算出每次交易的利润,正表示盈余,负表示亏损,问题就转换为累加数组,求连续子数组的最大值,代码如下:int maxProfiti(vector<int>& prices){

2020-09-14 15:37:51 13

原创 为linux内核添加FPGA字符设备驱动程序

Linux中驱动程序位于操作系统和硬件之间,是连接操作系统与硬件之间的纽带,今天我们就来向Linux中添加一个简单的FPGA字符驱动程序。I. Linux字符驱动程序简介在Linux中驱动程序分为字符驱动,块设备驱动,网络设备驱动三种,字符设备驱动是其中比较简单的一种。字符设备是指只能一个字节一个字节进行读写操作的设备,不能随机读取设备中的某一数据、读取数据要按照先后数据。II.添加字符驱动程序的步骤更多C/C++Linux视频资料请加qun:832218493或vx关注零声学院免费领取!1.

2020-09-12 17:35:17 15

原创 C/C++Linux平衡二叉搜索树简介

avltree, 平衡二叉查找树,是一种特殊情况下的二叉查找树,它的特殊之处在于,对于每一个节点,其左子树深度和右子树深度之差的绝对值不大于1.自从上次写完BSTree后,心里想写AVL树了,查了点资料,感觉自己之前的结构是真的low,哎,知耻而后勇,先说一下这次的avl与上次bstree的两点不同:1)节点数据结构中新增了一个高度变量,代码如下:struct Node{ struct Node *left; struct Node *right; int val; i

2020-09-11 16:39:03 11

原创 Linux内存寻址

程序输出给cpu的是逻辑地址,经过cpu的硬件电路MMU当中的分段单元转为虚拟地址;虚拟地址再经过MMU当中的分页单元转换为物理地址逻辑地址转换为虚拟地址硬件当中的分段:逻辑地址由段选择器和段内偏移量组成。每个段由一个8字节的段描述符表示,它描述了该段的一些特征(段的基地址等信息)。根据段选择器可以找到对应的段描述符,根据段内偏移量就可以得到虚拟地址。根据段选择器查找段描述符的时候,可以去GDT或者LDT(两者用谁取决于段选择器当中的TI字段,并且这两者分别位于gdtr和ldtr两个寄存器当中)查找

2020-09-11 16:03:42 9

原创 2020年字节跳动秋招C++精选面试题及答案(下)

1.如何理解IO多路复用的三种机制Select,Poll,Epoll?1.Select首先先分析一下select函数int select(int maxfdp1,fd_set *readset,fd_set *writeset,fd_set *exceptset,const struct timeval *timeout);【参数说明】int maxfdp1 指定待测试的文件描述字个数,它的值是待测试的最大描述字加1。fd_set *readset , fd_set *writes

2020-09-03 15:20:44 179

原创 2020年字节跳动秋招C++精选面试题及答案(上)

1. C++智能指针如何解决内存泄露问题1.shared_ptr共享的智能指针std::shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相同的内存。在最后一个shared_ptr析构的时候,内存才会被释放。可以通过构造函数、std_make_shared辅助函数和reset方法来初始化shared_ptr:// 构造函数初始化std::shared_ptrp ( new int(1) ) ;std::shared_ptrp2 = p ;// 对于一个未初始化的智能指针,

2020-09-03 15:06:03 145

原创 盘点2020年滴滴秋招C++面试题及答案(下)

1. 线程池的原理及实现多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元 的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。一个线程池包括以下四个基本组成部分:1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线 程池,添加新任务;2、工作线程(PoolWorke

2020-08-29 16:23:40 127

原创 盘点2020年滴滴秋招C++面试题及答案(上)

1. C++实现线程安全的单例模式懒汉模式:class singleton{protected: singleton() { pthread_mutex_init(&mutex); }private: static singleton* p;public: static pthread_mutex_t mutex; static singleton* initance();}; pthread_mutex_t singleton::mutex;singleton*

2020-08-29 16:15:09 90

原创 盘点2020年华为秋招c++后台开发面试题集(上)

1. static有什么用途?(请至少说明两种)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.某32位系统下, C++程序,请计算sizeof 的值.char str[] = “http://www.ibegroup.com/”

2020-08-26 14:55:55 138

原创 盘点2020腾讯秋招C++后台面试题集

1、TCP三次握手的过程, accept发生在三次握手哪个阶段?accept发生在三次握手之后。第一次握手:客户端发送syn包(syn=j)到服务器。第二次握手:服务器收到syn包,必须确认客户的sY(ack=j+1),同时自己也发送一个ASK包(ask=k)。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。握手完成后,客户端和服务器就建立了tcp连接。这时可以调用 accept函数获得此连接。2、用UDP协议道讯时怎样得知目标机是否获得了数据包 ?

2020-08-24 20:42:19 124

原创 关于 TCP/IP,必知必会的十个问题!

本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次由上到下,层层包装。最.

2020-08-22 17:35:15 4383 5

原创 音视频开发为什么要学SRS流媒体服务器

1 SRS是什么官方定义:SRS是一个流媒体集群,支持RTMP/HLS/HTTP-FLV/RTSP/DASH/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。有将近10k star(包括https://github.com/ossrs/srs链接)网址:https://github.com/winlinvip/srs (目前作者主要维护的链接)SRS基本资料:Wiki地址,里面有上百篇详细文档,第一入手资料:https://github.com/ossrs/srs/wikiGi

2020-08-19 18:25:05 232

原创 WebRTC P2P互动直播实现方案探讨

到目前为止,直播行业继续如预期的那样如火如荼的发展着,在先后竞争完延迟,高清,美颜,秒开等功能后,最近各大直播平台比拼的一个热点就是连麦。什么是连麦?简单描述就是当主播直播期间,可以与其中某一个粉丝进行互动,并且其他粉丝能够观看到这个互动过程。这个连麦的操作把主播和粉丝的交互从文字聊天一下升级为音视频互动,这个功能瞬间就提升了粉丝们的参与感;同时,这个互动过程其他粉丝都可以看到,极大满足了连麦粉丝的幸福感。连麦的流程图如下:·在主播直播过程中,主播提示进入互动环节,此时用户可以参与互动;·用.

2020-08-15 21:27:52 124

原创 WebRTC的RTP、RTCP协议实现分析

一 前言RTP/RTCP协议是流媒体通信的基石。RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输、流量控制和拥塞控制等服务质量保证。在WebRTC项目中,RTP/RTCP模块作为传输模块的一部分,负责对发送端采集到的媒体数据进行进行封包,然后交给上层网络模块发送;在接收端RTP/RTCP模块收到上层模块的数据包后,进行解包操作,最后把负载发送到解码模块。因此,RTP/RTCP 模块在WebRTC通信中发挥非常重要的作用。本文在深入研究WebRTC源代码的基础上,以Vi

2020-08-14 15:30:38 87

原创 盘点那些不为人知的互联网通信协议(内容较多建议珍藏)

一、概述1.1 五层模型互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。如何分层有不同的模型,有的模型分七层,有的分四层。我觉得,把互联网分成五层,比较容易解释。如上图所示,最底下的一层叫做"实体层"(Physical Layer),最上面的一层叫做"应用层"(Application Layer),中间的三层(自下而上)分别是"链接层"(Link

2020-08-13 16:37:29 186

原创 备战秋招——算法与数据结构(15)

1. shell脚本统计文件中单词的个数方法一:(1)cat file|sed ‘s/[,.:;/!?]/ /g’|awk ‘{for(i=1;i<=NF;i++)array[KaTeX parse error: Expected 'EOF', got '}' at position 6: i]++;}̲END{for(i in a…i]++;}END{for(i in array) print i,array[i]}’#(1)和(2)效果一致。方法二:(1)awk ‘BEGIN{RS

2020-08-13 15:31:42 52

原创 备战秋招——算法与数据结构(14)

1. 使用“反向代理服务器”的优点是什么?(1)提高访问速度由于目标主机返回的数据会存在代理服务器的硬盘中,因此下一次客户再访问相同的站 点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点 能明显提高请求速度。(2)防火墙作用由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设 限,过滤某些不安全信息。(3)通过代理服务器访问不能访问的目标站点互联网上有许多开发的代理服务器,客户机可访问受限时,可通过不受限的代理服务器 访问目标站点,通俗说,我们

2020-08-12 13:59:37 54

原创 MySQL入门必备-一天搞定MySQL(C/C++程序员必备)

1 基本语法-- 显示所有数据库show databases;-- 创建数据库CREATE DATABASE test;-- 切换数据库use test;-- 显示数据库中的所有表show tables;-- 创建数据表CREATE TABLE pet ( name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE

2020-08-08 16:02:35 77

原创 备战秋招——算法与数据结构(13)

1. 1-2n的数存储在空间为n的数组中,找出出现两次的数字,时间复杂度O(n),空间复杂度O(1)/*奇数零次 偶数零次 0奇数 一次 偶数 零次 -1奇数 两次 偶数 零次 -2奇数 零次 偶数 一次-3奇数 一次 偶数 一次-4奇数 两次 偶数 一次-5奇数 零次 偶数 两次-6奇数一次 偶数 两次-7奇数两次 偶数两次-8*/ public class Main { public static void main(String[] args) { int[] nums =

2020-08-05 20:29:00 59

原创 2020版git教程(文字版+视频版)

你如果不懂git,怎么好意思说自己是个优秀的开发人员呢?有些人觉得git不就是几个命令吗?可是我们在工作中因为不懂git,却又让自己和整个团队的工作都处于一种低效模式,所以我们不仅需要了解git的原理和常见的版本管理问题的解决之道,更要了解基于git的团队协作的工作流程。现如今我们的所有开发几乎都离不开开源项目,而github又是全球最大的开源项目管理基地,有人也称其为全球最大的同性交友网站...

2020-08-04 15:08:07 6383 6

转载 一个8年C++程序员的年终总结,献给还在迷茫中的你!

我越来越担心我作为一个C++程序员的未来。恍然间,发现自己在这个行业里已经摸爬滚打了五年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过程中却遭到了重大的挫折。详细过程我就不再叙述,在此,只想给大家说一说被拒绝的原因,看看大家有没有相似的经历,和类似的感悟。面试官对我的答复大致是这样的,我们不需要熟练工,我们需要在某领域拥有超过常人的积累认知,和拥有整套完整思维模式和优秀认知事物能力的人…他很诚恳地告诉我,你还年轻,真的应该好好地静下心来,深入地

2020-08-04 14:55:18 85

原创 【备战秋招系列】初出茅庐的程序员该如何准备面试?

不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。 我其实特别不喜欢那种临近考试就提前背啊记啊各种题的行为,非常反对!我觉得这种方法特别极端,而且在稍有一点经验的面试官面前是根本没有用的。建议大家还是一步一个脚印踏踏实实地走。1 如何获取大厂面试机会?在讲如何获取大厂面试机会之前,先来给大家科普/对比一下两个校招非常常见的概念——春招和秋招。招聘人数 :秋招多于春招 ;招聘时间

2020-08-04 14:50:22 47

原创 决战秋招——一篇文章让你搞懂什么是TCP/IP协议

什么是TCP/IP协议?计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议 (protocol).也就是说,TCP/IP 是互联网相关各类协议族的总称。TCP/IP 的分层管理TCP/IP协议里最重要的一点就是分层。TCP/IP协议族按层次分别为 应用层,传输层,网络层,数据链路层,物理层。当然也有按不同

2020-08-03 17:11:33 41

原创 备战秋招——算法与数据结构(12)

1. 寻找两个有序数组的中位数double findMedianSortedArrays(vector& nums1, vector& nums2) {double ret = -1;vector buff; //合并两个数组 for (auto e : nums1) buff.push_back(e); for (auto a : nums2) buff.push_back(a); //将合并后的结果进行排序.

2020-07-31 20:26:44 43

原创 备战秋招——算法与数据结构(10)

1.如何理解Paxos算法?Paxos算法解决的是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各个节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能够得到一个一致的状态。为了保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。zookeeper使用的zab算法是该算法的一个实现。在Paxos算法中,有三种角色:Proposer (提议),Acceptor(接受者),Learners(记录员)Pr

2020-07-30 14:56:03 96

原创 备战秋招——算法与数据结构(9)

1. 请问如何保证单例模式只有唯一实例?你知道的都有哪些方法?单例的实现主要是通过以下两个步骤:将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该类的构造方法 来实例化该类的对象,只有通过该类提供的静态方法来得到该类的唯一实例;在该类内提供一个静态方法,当我们调用这个方法时,如果类持有的引用不为空就返回 这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引 用。单例模式的实现主要有两种一种是饿汉式,一种是懒汉式。饿汉式线程安全的单例模式 如下:懒汉式线程安全

2020-07-30 14:47:45 64

原创 高防服务器为什么使用Linux系统?服务器使用Linux系统的好处是?

什么是linux?Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux系统的特点?稳定的系统 :打个比方,安装Linux的主机连续运行一年以上不曾宕机、不必关机是很平常的事,我的windows系统今早打开时是黑屏,强行关机之后才恢复,原因不明安全性和漏洞的快速修补 .

2020-07-24 16:02:51 74

原创 LinuxC++面向对象多线程学习笔记_多任务与多线程编程

多任务(multitask)同时执行多个进程,而多线程(multithread)允许单个进程同时执行多个线程。多任务编程当OS使用一个规划策略允许两个或更多进程并发共享一个CPU时,它称做多任务编程(multitasking)或多程序编程(multiprogramming)。多任务可以在3个级别上发生:a. 对话级; b. 进程级; c. 线程级。对话级的多任务由用户控制。用户运行若干应用程序或对话时发生用户控制多任务(user-controlled multitask)。对话创建一个虚拟计算

2020-07-23 17:13:59 107

原创 Skynet是什么呢?

Skynet是什么呢?我们希望游戏服务器能够充分利用多核优势,将不同的业务放在独立的执行环境中处理,协同工作。这个执行环境最早期望是利用操作系统的进程,后来发现如果必定采用嵌入式语言如Lua,那么独立的操作系统进程的意义不大。LuaState已经提供了良好的沙盒,隔离不同执行环境,而多线程模式可以使得状态共享、数据交换更加高效。但是多线程模型又存在诸多弊病,比如复杂的线程锁、线程调度问题等。这些问题都可以通过减小底层的规模精简设计,最终把危害限制在很小的范围内。早期的Skynet v0版本中,Skyne

2020-07-22 16:48:07 117

原创 WebSocket详解:技术原理、代码演示和应用案例

1、内容简介本文将简要介绍 WebSocket 的由来、原理机制以及服务端/客户端实现,并以实际客户案例指导并讲解了如何使用 WebSocket 解决实时响应及服务端消息推送方面的问题。本文适用于熟悉 HTML 协议规范和 J2EE Web 编程的读者,旨在帮助读者快速熟悉 HTML5 WebSocket 的原理和开发应用。2、WebSocket 前世今生众所周知,Web 应用的交互过程通常是客户端通过浏览器发出一个请求,服务器端接收请求后进行处理并返回结果给客户端,客户端浏览器将信息呈现,这种机制对

2020-07-16 14:19:38 517

原创 用一个案例让你清楚成为Linux服务器开发工程师需要具备什么

随着业务市场的不断壮大,更便捷的开发语言也越来越受到市场的欢迎。Java,python还有新贵golang。那c/c++语言的开发者市场在哪里。虽然说没有活干说的可能过于夸张,但是面临的事实就是比不了。可能初学一点Java,python等等就能找到一份不错的开发工作,但是如果你只会一点c,又不是校招的话,能找到哪些工作呢?C,c++不同于Java。Java的技术路线是比较固定的,学好技术栈等待新技术的更新,并学会它,那在薪资上至少不会少。而c/c++的话,不得不说,路子比较广。选择的方向比较多,这里就

2020-06-30 14:48:55 336

转载 快速理解P2P技术中的NAT穿透原理

导语最近介入测试P2P的相关逻辑,因此对NAT穿透原理做了一定程度的了解(当然也没有很深入)。本篇文章也是综合和参考了些网络上和文献里的一些资料(文中没有对引用处进行标记,请见谅)。写本文的目的就是,用自己的语言描述了这个过程,同时也在描述过程中加入了一些自己的理解,形成一篇文章作为要点的记录。对于这一块的知识,自己也有很多盲点,还请各路大神多多指教。一、背景知识介绍1.什么是NAT?NAT(Network Address Translation,网络地址转换),也叫做网络掩蔽或者IP掩蔽。NAT是

2020-06-29 17:12:13 185

原创 备战秋招——算法与数据结构(8)

● 请问加密方法都有哪些参考回答:考察点:密码学公司:腾讯1、单向加密单向加密又称为不可逆加密算法,其密钥是由加密散列函数生成的。单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文;SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值。其变种由SHA192,SHA256,SHA384等;CRC-32.

2020-06-24 16:51:04 483

原创 深入分析Linux内核源代码6-Linux 内存管理(2)

每天十五分钟,熟读一个技术点,水滴石穿,一切只为渴望更优秀的你!————零声学院6.3 内存的分配和回收在内存初始化完成以后,内存中就常驻有内核映像(内核代码和数据)。以后,随着用户程序的执行和结束,就需要不断地分配和释放物理页面。内核应该为分配一组连续的页面而建立一种稳定、高效的分配策略。为此,必须解决一个比较重要的内存管理问题,即外碎片问题。频繁地请求和释放不同大小的一组连续页面,必然导致在已分配的内存块中分散许多小块的空闲页面。由此带来的问题是,即使这些小块的空闲页面加起来足以满足所请求

2020-06-23 19:42:57 192

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除