排序:
默认
按更新时间
按访问量

测试开发面试题

第一次面试还是蛮激动的,就把自己在面试中的问题总结下吧,为后面做准备吧1:内存管理(常见的内存错误,野指针,栈溢出,以及如何解决吧)个人回答C语言中三个开辟内存的函数,malloc,calloc,realloc区别以及特点,然后说C++的内存管理是如何以及出现内存的错误如何处理,迁移到智能指针来管...

2017-09-12 21:42:30

阅读数:235

评论数:0

5种I/O模型

一:概念的理解: 首先在网络编程的时候,我们常常见到同步/异步,阻塞/非阻塞四中调用方式:1同步和异步主要针对C(client)端 同步: 所谓的同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用步返回,也就是说必须一件一件事做,等前一件事完了之后才做后一件事。 如:普通的B/...

2017-09-05 13:57:13

阅读数:908

评论数:0

查找最小的K个数

输出最小的K个数 方案1:如果输入的数组可变,我们可以借助Partion部分排序的思想,随机选k值,经过排序后,k左边的数都比k小,k右边的数都比k大,这样经过排序后,在k左边的数字就是最小的K个数:int Partion(int*a, int n, int left, int right) {...

2017-08-27 10:21:11

阅读数:182

评论数:0

查找数组中出现次数超过数组长度一半的数字

题目: 数组中一个数字出现的次数超过数组长度一半的次数,请找出这个数字,例如输入一个长度为9的数组{1,2,3,2,2,25,4,2},由于2出现的次数实际5次,超过数组的一半,因此输出的结果是2.思路:开始的时候想到用map,依次遍历这个数组,map会对这些数字排序,这种方法和Topk的问题很...

2017-08-13 08:30:03

阅读数:194

评论数:0

TCP三次握手和四次挥手

一:TCP的特点: 1:面向连解的 2:面向字节流 3:保证可靠传输(丢包重发,超时重传) 4:支持全双工通信 5:支持端口到端口的连接,每一条TCP连接只能有两个端点 二:TCP协议可靠性的是是三个问题? 一:可靠传输a:确认和重传:接受方收到报文就会确认,发送方发送一段时间后没有...

2017-08-08 23:35:52

阅读数:221

评论数:0

HTTP协议--基础篇

一:基础知识: HTTP协议是应用层协议,在前面我们知道TCP/IP四层模型中,下三层主要负责数据的传输处理,但是没有涉及到解析,关于解析主要有应用层来处理,而HTTP协议就是一个属于应用层的面向对象的协议,由于其间接,快速的方式,适用于分布式超媒体信息系统. HTTP:协议的主要特点: 1...

2017-08-05 09:54:00

阅读数:716

评论数:0

Shell脚本语法篇

一:条件测试 1:条件测试:命令test或者是 [ 但是 [ 通常与 ] 一起是使用 我们再来看看结果: 要分析这种现象必须的明确几个概念,在Shell中,一切都是指令,而test和[是起到条件判断的作用,在C语言中我们会根据返回值来判断条件语句是否成立,在Shell中我们是根据退出...

2017-08-03 20:58:33

阅读数:209

评论数:0

Shell脚本符号篇

一:shell运行原理: 前面#! 表示shebang 第一种: shell脚本中#表示注释,这个和C语言的//类似,但是在#位于第一行开头,并且是个例外,它表示该脚本 使用后面指定是解释器/bin/bash解释执行 我们知道shell是命令行解释器,那么它又是如何运行程序的呢? ...

2017-08-02 12:17:58

阅读数:161

评论数:0

设计模式--单例模式

一:概念: 设计模式就是一套被反复调用,经过分类,代码设计总结的经验: 单例模式: 也叫单间模式:Singletion是一种常用的设计模式,在大型的项目中都会使用,因为构建一个线程安全并且高效的单例模式很重要. 实现单例模式需要满足两个条件: 1:单例类保证全局只有唯一的实例对象 2:...

2017-07-31 20:15:09

阅读数:445

评论数:0

C语言如何模拟C++实现继承和多态

首先要明白c++的三大特性:封装,继承,多态 而这些C语言统统都没有,那么C语言如何实现继承和多态呢? C++的继承属性是通过访问限定符:public,protected,private来实现. 我们知道c++的多态必须满足两个条件:虚函数的重写已经父类的指着和引用指向子类的对象. 思路:...

2017-07-29 23:34:49

阅读数:309

评论数:0

求两个单链表的差集和并集

题目:- 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。 思路:指针的指针p...

2017-07-27 12:07:02

阅读数:1524

评论数:0

判断一个栈的弹出序列是否为合法序列

题目: 输出两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序,假设压入栈的苏偶偶数字均不相等.例如序列1,2,3,4,5是某栈的压栈序列.序列4,5,3,2,1是该压栈序列的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列. 思路: 验证:#...

2017-07-25 14:43:38

阅读数:389

评论数:0

判断一颗树是不是完全二叉树

首先我们要明白完全二叉树的含义: 完全二叉树: 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左 边,这就是完全二叉树 我们先来回顾下二叉树按层遍历,先将根节点进队列,然后判断每次这个队列是否为空,不为空,每...

2017-07-25 10:52:54

阅读数:333

评论数:0

刷题--二叉树的镜像

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像 那么什么是二叉树的镜像呢?我们其实可以从生活中得到启示,每个人早上起来都有找镜子的习惯,这样我们就会很容易想明白二叉树的镜像了, 如图两颗互为镜像的二叉树. 观察这颗二叉树我们会发现,这两颗二叉树的根节点相同,但是它们的左右两个子...

2017-07-24 21:59:26

阅读数:124

评论数:0

socket--多进程,多线程服务器

一:概念: 我们知道IP地址是标志网络中不用主机的IP地址,而端口号就是同一台主机上标志不同进程的地址,IP地址和端口号标志网络中的唯一地址.(又称socket) 在TCP协议中,建⽴立连接的两个进程各⾃自有⼀一个socket来标识,那么这两个组成 的socket就唯⼀一标识⼀一个连接。soc...

2017-07-24 10:46:43

阅读数:772

评论数:2

gdb调试多线程

一:调试 我们知道在Windows下我们常用 F5调到断点处 ,F9设置断点或者取消断点,F 10开始调试或单步执行 F11进入函数内部 F7编译 Ctrl+F10调到函数内部 当然有时我们也会使用调试窗口或者查看栈帧来进行调试. Linux下调试我们通常使用gdb(代码调试工具...

2017-07-20 20:40:54

阅读数:477

评论数:0

统计第一个只出现两次的字符

方法一:在一个一维数组里面查询: 最直接的方法是从头到尾遍历这个字符数组的字符,当访问这个字符时,拿这个字符和后面的每个字符匹配,如果下次又找到一个字符再次出现,就表明是出现两次的字符,如果字符与n个字符,每个字符可能都会与后面的比较,这种思路的时间复杂度较高,O(N^2) 方法二:map加...

2017-07-20 16:55:26

阅读数:423

评论数:0

一个fork的面试题

题目: 请问下面的程序一共输出多少个”-“#include<stdio.h> #inlcude<unistd.h> int main() { int i; for(i =0;i<2;i++) { fork(); printf("-");...

2017-07-17 20:07:03

阅读数:152

评论数:0

判断链表是否带环?若带环求环的长度?求环的入口点?

一:判断链表是否带环 方法是快慢指针: 开始的时候,两个指针都指向开头,然后让快指针走两步,而慢指针每次走一步,当他们在某个点相遇则表明,这个链表带环,否则继续遍历这个链表bool IsCircle(ListNode*phead) { assert(phead); ListN...

2017-07-17 11:22:22

阅读数:180

评论数:0

再识智能指针

背景 为什么需要智能指针: 如果在程序中 这时我们希望有一个类来帮我们完成资源的管理,智能指针就出现了. 什么是智能指针? 分三步去理解 a:第一步:RTLL: 又称资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可...

2017-07-16 10:10:26

阅读数:1858

评论数:7

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