自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【总结】春招感想

2020年春招,收到了腾讯光子工作室的实习offer。总结一下这次春招,也算是画下一个完美的句号。在这次春招中,给我面试机会的公司并不多,只有字节、腾讯、百度。面试的基本知识点都是和简历描述有关的,基本上写的每个点都会被问到。字节的面试感觉整体偏算法。腾讯面试整体偏向C++和工程能力。百度只面了一面,还没有后续结果,整体没什么感觉,把简历上写的都考察了一遍,算法题也都是常考的点。...

2020-04-06 20:14:28 779 1

原创 【数据结构】二叉树的遍历

二叉树的遍历有很多类型。基本的比如先中后序遍历二叉树的递归和非递归,层次遍历二叉树,工字形遍历二叉树,倒序遍历二叉树。先中后序递归遍历二叉树先中后序非递归遍历二叉树层次遍历二叉树工字型遍历二叉树从最后一层倒着遍历二叉树...

2020-03-06 16:47:58 443 2

原创 【面经】字节跳动后端开发视频架构方向一面二面

字节一面常规自我介绍:姓名、学校专业、学校表现(也就是奖项、荣誉)、项目介绍。听了项目以后开始问我项目相关的问题二面常规自我介绍:姓名、学校专业、学校表现(也就是奖项、荣誉)、项目介绍。听了项目以后开始问我项目相关的问题之后就是常规问题1、有没有用过awk命令2、了解ping命令吗,返回值是什么?(返回值不清楚)3、问我了解堆栈吗?(回答了一下用ma...

2020-03-04 20:08:34 2902

原创 【Linux】http和https协议

http协议和https协议都是应用层协议。http:超文本传输协议https:安全的超文本传输协议。在http协议基础上加入了SSL协议保证安全传输。HTTP协议和HTTPS协议主要应用于Web浏览器和网站服务器之间传递数据,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适...

2020-03-02 10:59:16 870 1

原创 【Linux】四次挥手

客户端和服务器通过close()四次挥手断开连接。关闭连接的过程为四次挥手,由于TCP是全双工的通讯。所以每个方向都必须单独进行关闭。当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向上的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能继续发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。第一次挥手:断开连接时,客户端向服务...

2020-03-02 00:02:16 426

原创 【Linux】三次握手

客户端connect()向服务器发起连接,客户端和服务器通过三次握手建立连接,被服务器listen()开机后监听到后将套接字放到listen()已完成三次握手队列中。第一次握手:建立连接时,客户端向服务器发送SYN报文(seq = j),并进入SYN_SENT状态,等待服务器确认。第二次握手:服务器收到SYN报文,必须确认客户的SYN(即发送ACK报文,ack = j+1),同时自己也发送...

2020-03-01 22:32:40 619

原创 【Linux】静态库和动态库

库:预先编译(.o)好的方法的集合Linux下,库分为静态库和共享库。库的生成静态库:库名:Libxxx.a,lib是库的前缀,xxx是库名,.a为静态库的后缀。第一步:将需要生成静态库的.c文件转换为编译后的.o文件命令:gcc -S mian.o mian.c第二步:将编译完成的.o文件放到一个集合中,生成静态库命令:ar cr(v,可以没有) libx...

2020-03-01 20:02:42 614

原创 【Linux】进程和线程

程序:存储在磁盘上的二进制可执行文件。进程:一个正在运行的程序,是系统进行资源分配的基本单位。线程:进程内部的一条执行路径,是系统进行调度的基本单位。在操作系统中将线程的实现分为三类:用户级线程、内核级线程、混合方式在linux下线程的实现:linux实现线程的机制非常独特。从内核的角度来说,它并没有线程这个概念。linux把所有的线程都当作进程来实现。内核并没有准备特别的调度算法...

2020-03-01 19:57:25 197

原创 【Linux】tcp套接字编程

Tcp编程。(套接字socket)部分代码:服务器端ser.c客户端cli.c运行结果:注意必须先运行服务器端。此时服务器端在accept()处阻塞。此时客户端在fgets()处阻塞,服务器端在recv()处阻塞。此时,客户端结束进程,服务器端则在循环语句作用下,再次在accept()处阻...

2020-02-29 14:23:22 341

原创 【项目】Shell项目

Shell项目,实现自己的命令解释器。命令分为两种,内置命令(cd,exit)和普通命令。内置命令内置命令在bash中实现,不产生新进程,对本身做操作。cd 通过chdir(cd)实现操作。exit 为退出进程,直接break。部分代码截图:运行结果截图:cdexit普通命令普通命令通过fork()+exec()实现,产生...

2020-02-29 13:52:56 777

原创 【总结】const关键字的用法及作用

在C语言和C++中,我们都会用到const,并且对于static有不同的用法和作用。下来我将就C语言和C++两个不同的编译环境分别对const的用法和作用进行讲述。1、在C语言中const的使用(1)const修饰的变量称为常变量。此时它不能作为左值。(2)不能定义数组大小。(3)其他性质和普通变量一样。eg: const int a = 10; in...

2020-02-24 23:17:28 1506

原创 【总结】static关键字的用法及作用

首先,我们要明确static是静态关键字。在C语言和C++中,我们都会用到static关键字,并且对于static有不同的用法和作用。接下来我将就C语言和C++两个不同的编译环境分别对static关键字的用法和作用进行讲述。1、在C语言中,static关键字主要定义全局静态变量、局部静态变量、静态函数。(1)定义全局静态变量:在全局变量前加上关键字static,该全局变量就变成了全局静态变...

2020-02-23 15:57:03 3334 1

原创 【算法】字典序问题

little fairy 的第x篇博客。字典序问题描述:编码工作常被运用于密文或压缩传输。这里我们用一种最简单的编码方式进行编码:把一些有规律的单词编成数字。字母表中共有26个字母{a,b,…,z},这些特殊的单词长度不超过6且字母按升序排列,且每个字符最多出现一次。把所有这样的单词放在一起,按字典顺序排列,一个单词的编码就对应着它在字典中的位置。例如:a→1b→2...

2020-02-23 14:17:29 2132 4

原创 【Linux】编译链接原理

通常的开发环境都是集成开发环境(IDE):编译链接一步完成(构建) gcc main.c被隐藏的过程:预处理(预编译)主要处理以#开头的预编译指令将所有的“#define”删除,并展开所有的宏定义 处理所有条件预编译指令,如“#if”、“#ifdef”、“#elif”、“#else”、“#endif” 处理“#include”预编译指令,将被包含的文件插入到该预编译指令的...

2019-09-10 20:36:31 245

原创 【Linux】gdb调试总结

在windows操作系统下,我们的运行程序有两个版本。debug开发调试版本得到的可执行文件.exe文件相对较大,其中包含调试信息。且不做任何优化,未开发人员提供强大的应用调试能力Release发行版本文件相对较小,不包含调试信息,并进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。在linux操作系统下,我们通过gcc来完成代码的编译链接,命令:...

2019-09-10 20:20:02 261

原创 【数据结构】顺序表和单链表的区别

little fairy 的第x篇博客。顺序表和链表都是常见的线性结构。顺序表和链表最基本的差异为:顺序表,逻辑相邻,物理也相邻(可以直接访问其前驱和后继)。链表,逻辑相邻,物理不相邻(需要通过辅助信息才能访问其前驱和后继)。顺序表:储存在连续空间中。(1)结构体//本例为不定长的顺序表。定长的顺序表相当于一个给定长度的数组,储存数据个数有限。typedef struct...

2019-03-17 18:44:31 9980

原创 【C语言】传指针和解引用,野指针和空指针

一个函数的改变要影响另一个函数需要两个条件:1、传指针。2、解引用。通过交换a和b数值的实例来说明其重要性:在主函数中输入a和b的值;int a = 10;int b = 20;预期输出结果为a = 20;b = 10。1、明显与预期结果不符。原因:没有传指针!2、具体操作为:也与预期结果不符。原因:没有解引用。3、与预期相符,多测试几组有代表性的数...

2018-07-16 15:36:40 4301

原创 【C语言】指针的初步学习

取地址符“&”。例:&a,取a的地址。地址=指针。int a=10;整型变量存放在整型值。double b=23.4;浮点变量存放浮点值。int *p=&a;整型指针(地址)变量存放整型地址值。(只能对变量取地址!)指针的大小:32位X86平台4字节,64位X64平台8字节。对于*p,其实是一个间接访问符,即为解应用。指针的基本操作:1、in...

2018-07-16 13:47:58 218

原创 【C语言】关于“栈”的越界问题

局部变量都保存在“栈”中。“栈”的大小为”1M“,内存由系统自动管理。“栈”中“栈底”的地址高于“栈顶”。有很多越界问题,都是因为“栈”溢出造成的。我们通过实例来说明。这个代码在VC6.0中会由于“栈”溢出而出现死循环。而在VS2012中会奔溃,这是因为VS2012中,系统在保存数据到“栈”中时,在两个数中间加了两个地雷,这就会使的”栈“溢出时会碰到地雷,从而引发崩...

2018-06-22 14:38:38 2763

原创 【C语言】求已知等式在几进制条件下成立

little fairy的第五篇博客。通过实例来说明问题。例1、求使15*4=112成立的进制条件。假设进制为n,则(1*n^1+5)*4 = 1*n^2+1*n^1+2;这是一个一元二次方程,我们可以得到,进制条件为 6 进制。可是,如果我们所要求的式子比这个更为复杂,那么,我们得出的将会是一个一元N次的方程,无法解出答案时,我们应该怎么办。例2、求使567*456=1502...

2018-06-03 13:40:20 1089

原创 【C语言】整数n中数字的个数,逆序输出,顺序输出。

little fairy的第四篇博客。输入整数n。一、计算整数n中数字的个数。方法:丢弃个位数字(n/进制)。例如:n=1234,n/=10 (1) -> n=123 (2),n/=10 -> n=12,n/=10 (3) ->n=1,n/=10 (4) -> n=0 。所以1234中含有数字的个数为4。代码:注意:这个如果用while循环也可以做,但是如果输入的数字为0,...

2018-06-02 22:26:26 21082

原创 【C语言】简单的调试技巧

little fairy 的第三篇博客。这次我们主要是学习在vs2012中的调试。调试的基本步骤。First:在需要调试的步骤前点击。Second:点击启动调试按钮或者F5。Third:点击逐语句按钮或F11,运用逐语句,逐过程和跳出按钮进行调试。Finally:点击停止调试按钮终止调试。然后,我们来做一个折半查找的练习。(写这个,就是写一下这个算...

2018-05-20 18:51:08 13231

原创 【C语言】scanf和printf的返回值。

little fairy的第二篇博客。让我们一起来看看scanf和printf的返回值吧。scanf:在VS2012中,用scanf会给出警告。(对于一个程序员,警告比错误更致命。)scanf非常容易出错,所以我们一般要求不用scanf。但如果用到scanf出错,为了解决,我们通常需要判断scanf的返回值。scanf的返回值:用scanf读取几个数,则scanf的返回...

2018-05-11 00:02:47 2293

原创 【C语言】浮点数的误差分析

在编程中,我们经常会用到浮点数。我们发现浮点数运算后的结果经常会有误差,也就是实际结果和理论结果不一致。例如:输出的理论结果应该是 123456789.000000。然而并不是,输出的实际结果为 123456792.000000这就是浮点数的误差。就像是钟表一样,都有一定的误差,在误差范围内,我们一般默认实际值为正确答案。在已知误差和理论值的情况下,我们可以明确实际值的...

2018-05-07 01:25:38 11891

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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