自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 红黑树插入删除操作

2018-08-27 14:00:48 237

原创 epoll源码剖析后对其总结以理解

阅读完源码的收获 阅读epoll源码对我的源码阅读能力有所提高 通过对源码的阅读我对内核的有了初步的认识 对epoll的底层有更深入的了解,也知道了epoll的大体流程   当有大量的fd就绪的时候,select和poll的效率要比epoll稍微高一点点(也可能差不多) 原因:epoll底层使用红黑树,当有fd就绪时对红黑树插入时,可能需要红黑树的结构发生调整变化,比如旋转变色操作。...

2018-08-11 15:59:43 338

转载 IP协议

2018-08-07 16:25:42 218

原创 算法数据结构面试常问题

1、数据结构索引提到了B树 数组和链表的区别,树是用什么存储的,可不可以用数组存储 快排的时间复杂度(NlogN)、最坏情况(N^2) 数据结构上的堆和栈有什么区别、底层结构是什么 红黑树 最大的K个数用什么排序算法,复杂度、同样是NlogN, 快排和堆排序有什么区别。2、算法题:写代码,类似高考成绩,一个表中有很多数据(无序的),给你一个成绩,查出在表中的排名 找出这两个链表是否有相交的点 判断链表有没有环,环起点在哪儿。 手撕topk,时间复杂度是多少。 写个算法,实现抢红包

2021-03-13 16:37:03 465

原创 测试理论

1、测试方法都有哪些白盒测试 白盒测试用例设计有如下方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。依据就是代码结构。 黑盒测试 黑盒测试用例设计方法:基于用户需求的测试、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验法、场景法。依据是用户需求规格说明书,详细设计说明书。 2、app测试和web测试的区别web和app的区别 web项目,一般都是b/s架构,基于浏览器的。 App则是C/S的,必须要有客户端。那么

2021-03-13 16:29:37 195

原创 面试常问测试用例

1. 测试朋友圈发送功能,(只是发朋友圈过程和展示朋友圈)2. 测试微信的发送功能功能上:发文本、发图片(图片编辑功能)、发小程序、发表情包、发文件(文件大小,文件格式) 撤回、转发、引用、删除、多选、提醒、翻译、搜索等功能是否能正常使用兼容性、性能、界面等3. 测试输入框功能4. 测试数据加载过程5. 测试注册登录和验证码功能6. 测试视频播放7. 测试直播中的送礼物...

2021-02-24 17:37:36 2307

原创 2020年测试开发面经整理---别人面经 答案只针对自己

美团一面:1、这个岗位要求有编程基础,所以先问的编程题,写完后要讲一下思路,输入一个带空格的字符串 ”abc aba cba cbc mcm opp iuy”,找出字母对称的单词:aba cbc mcm2、问平时做接口测试是怎么做的,我说是用 java 调用别人写好的工具类,然后问怎么调用的(1)、dubbo接口测试,一般是在终端上调用接口测试、直接拉工程自己写单测也行(2)、http接口测试、postman工具、pytest也行3、平时测试懂不懂服务之间是在怎么调用的,和客..

2021-02-22 15:34:20 735

原创 python常见面试题

1、

2020-12-14 14:31:54 113

原创 性能测试指标

1、

2020-12-14 14:30:53 804

原创 vue常见面试题

1、2、

2020-12-14 14:30:10 314

原创 Java常见面试题

1、2、

2020-12-14 14:29:13 182

原创 MySQL常见面试题整理

1、2、

2020-12-11 11:28:40 182

原创 dubbo接口测试--简单单元测试

dubbo接口测试--简单单元测试dubbo中配置dubbo: protocol: name: dubbo port: 219641、telnet进入dubbo(ip+port)建立连接telnet 127.0.0.1 219642、ls 查询该服务都有哪些dubboservice,找到需要测试的service3、invoke调用某方法:dubbo> invoke com.guazi.aftermarket.dubbo.bizorde.

2020-10-30 15:18:05 882

原创 测试用例设计方法 与 什么是“好的”测试用例

一、如何设计测试用例1、测试用例设计方法 等价类划分法、如等价类划分法、边界值分析法、错误推测方法、因果图方法、判定表驱动分析法、正交实验设计方法、功能图分析方法、场景设计方法、形式化方法、扩展有限状态机方法.....2、测试用例范围: 包括功能性(产品需求)和非功能性,非功能性包括:安全性,兼容性,性能,用户体验度(对产品业务的理解,站在用户角度审视需求的合理性,覆盖各种显性隐性非功能的需求)3、测试用例举例:就用户登录设计一个测试用例 功能测试:...

2020-05-15 13:28:43 562

原创 python 语法基础篇----列表元祖和字典

序列是python最基本的数据结构一、通用序列操作1.索引类似于C语言数组的下标,从0开始greeting = 'hello'greeting[0]'h'greet=‘hello’2.分片与使用索引来访问单个元素类似,可以使用分片来访问操作一定范围内的元素,分片通过冒号相隔的两个索引来实现numbers = [1,2,3,4,5,6,7,8,9,10]...

2020-03-08 13:16:28 185

原创 2018.9秋招面试总结

今天是2019年七月10号,周三,是我入职第三天。这个博客本来在去年十月份找完工作就应该好好整理一下的,鉴于本人比较懒,找完工作,就开始一头扎在我热爱的油画里,无法自拔,紧接着又是一月分的实习,后来又开始忙毕业,一直没有时间写。好了昨晚产品上线啦,今天忙里偷闲来整理下。老虎证券一面60分钟1.红黑树和AVL树的区别2.什么情况下用红黑树什么情况下用AVL应用场景...

2019-07-10 12:02:38 322 1

原创 单例模式,智能指针实现

单例模式: //单例模式://加锁:class Singleton{public: static Singleton* getIntance() { if (pobject == NULL)//懒加载,只有在使用时才生成 { pthread_mutex_lock(&mutex);//多线程线程安全问题...

2018-08-14 20:15:13 1375

原创 多线程,死锁,如何避免死锁

 什么情况下使用线程     使用线程是有代价的,如果程序是计算密集型且每一步都有依赖,那么使用线程反而会导致效率下降,因为多个线程之间需要切换,还要负责维护锁,信号量等设施。对于可并行的计算密集型问题和I/O与计算可重叠的问题使用多线程一般会达到显著的效果。程序中有多个可并发的模块的时候,使用线程也能提高程序的响应速度。     线程的死锁:任何多线程应用...

2018-08-14 14:35:00 561

原创 HTTP协议

参考:https://www.cnblogs.com/ranyonsue/p/5984001.htmlHTTP:超文本传输协议是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。一,特点1,  简单快速:客户向服务器请求服务时,只需传送请求方法...

2018-08-07 14:52:27 234

原创 虚函数

哪些函数可以设为虚函数,哪些不可以,为什么 解析:普通函数(非成员函数),构造函数,内联成员函数、静态成员函数、友元函数。 (一)虚函数用于基类和派生类,普通函数不能 原因:虚函数存在的意义就是为了实现动态的多态。 多态:多态可简单概括为“一个接口,多种方法”多态性又分为静态多态性和动态多态性。 静多态:函数重载,运算符重载,模板属于静态多态性;  程序调用函数时,具体应使用哪个...

2018-08-02 19:57:13 266

原创 归并排序

1、a、归并思想:将两个或者两个以上的有序表组合成一个有序的新的有序表。   b、2-路归并:2、步骤     a、两个段进行归并排序的Meger()函数:      申请和数组长度相等的额外空间;      定义四个变量;      两个归并段的情况;(两个归并段都有数据;一个归并段有数据,一个没有)      剩下一个归并段的情况;      数组之间的拷贝...

2018-08-02 19:42:17 187

原创 简单选择排序

简单选择排序     1、思想:每一趟从待排序序列中选出最小(或者最大)的数据元素,顺序放在已排好序的最后,直到所有待排序序列都有序。 代码实现 #include <iostream>using namespace std;void SelectSort(int *arr,int n)//选择排序{ if(arr == NULL || n<1) { retur...

2018-08-02 19:33:04 201

原创 直接插入排序,希尔排序

(一)直接插入排序  1、基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。(先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。)特点:越有序越快,就少了交换次数。  2、代码实现:void InsertSort(int *arr, int len)//时间复杂度O(n2),有序时O(n),{ ...

2018-08-02 19:27:48 165

原创 快速排序思想及优化

    (1)挖坑填数(l标记头,h标记尾):(找基准(最中间的数)) 从数列中取出一个基准(一般取第一个);h从后往前遍历,找到比基准小的数字,将此数字填入之前取基准的坑中(即l的位置);l再从头往后遍历,找到比基准大的数字,填入之前填基准挪走数字的坑中(即h的位置)。 重复上述操作,直到l,h相遇(注意:小心l,h越过去),相遇位置即基准要放入的位置。此刻基准左边都比基准小,基准右边都比基...

2018-04-19 17:24:50 352

原创 KMP算法 子串查找

子串的查找BF查找法   时间复杂度(o(n*m))abbaaaabaabI                  判断条件: i与j相等  i++;j++;aaba                          i != jJ                              i=i-j+1;     j回退到开始 KMP算法    时间复杂度(o(n+m))如果j 能自己回退到他该...

2018-04-19 17:18:17 504 2

原创 顺时针打印数组

面试题20:顺时针打印矩阵题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如如果输入如下矩阵:1    2   3    4    5    6   7    89    10  11   1213   14  15   16依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,1,10。我的代码如下:#include<stdio.h&gt...

2018-03-03 22:55:18 243

原创 合并两个排序的链表

面试题17:合并两个排序的链表           题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增的排序的,如图中的链表1和链表2,则合并之后的升序链表3,结点的定义如下:Struct  ListNode{   Int     m_nvalue;   ListNode * m_pNext;}  我的代码如下:#include<stdio.h>#incl...

2018-03-03 22:53:58 248

原创 反转链表

面试题16:反转链表题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后该链表的头结点,链表定义如下:Struct ListNode{   Int      M_nKey;   ListNode* m_pNext;}我的代码如下:#include<stdio.h>#include<assert.h>#include<stdlib.h> typed...

2018-03-03 22:51:18 206

原创 链表中倒数第k个数

面试题15:链表中倒数第k个节点题目:输入一个链表,输出该连边中倒数第K个结点,为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第一个结点。例如一个连表面有六个结点,从头结点开始它们的值依次是1,2,3,4,5,6.这个链表的倒数第3个结点是值为4的结点。如图:控制p1;当p2走到尾,p1刚好就指向结尾第k个元素。代码如下:#include<stdio.h>#incl...

2018-03-03 22:50:09 296

原创 调整数组顺序使其奇数位位于偶数位前面

面试题14:调整数组顺序使奇数位位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数组中数字的顺序,使得使得所有奇数位于数组的前半部分,所有偶像位于数组的后半部分。其实这道题并不难,只要是在编程的时候注意效率就可以啦。首先看图:思路:首先定义两个指针,一个指向数组开始,一个指向数组结束。然后如果满足条件就交换。不满足就进行指针的加减。代码如下:#include<stdio.h...

2018-03-03 22:47:49 294

原创 打印1到最大的n位数

面试题12:打印1到最大的n位数题目:输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印1,2,3,一直到最大的三位数999。首先这个题目看起来很简单。但是有很多陷阱,比如大数问题,如果n很大,我们考虑要不要用long long类型,再如果long long类型都不可以,我们该如何表示。我的思路:使用字符串来表示数字,这样我们就可以取无限大的n;在字符串上模拟数字加法;打印时...

2018-03-03 22:44:59 259

原创 数值的整数次方

面试11:数值的整数次方题目:实现函数double power(double base,int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题。首先这个题虽然简单,但是有很多小细节,比如base等于0,或者exponent小于0这些情况都是需要好好考虑考虑的。解题思路很简单,主要是一些小细节。base为0的...

2018-03-03 22:42:04 139

原创 剑指offer 面试题10

面试题10;二进制中1 的个数题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数,例如把9表示成1001,有2位是1。因此如果输入9,该函数输出2. 如果使用除法效率会很低,因此我们使用位运算。代码如下:#include<stdio.h> int NumberFind1(int n){    int count=0;    while(n)    {       if...

2018-03-03 22:38:33 167

原创 在二维数组中查找

面试题3:二维数组中查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一行都按照从上往下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个数,判断数组中是否含有该整数。  例如下面的二维数组就是每行,每列都是按照递增的顺序排序,如果在这个数组中查找7,则返回true,如果查找5,则返回false。2   8   94   9   127   10  136  8   ...

2018-03-03 22:36:14 165

原创 剑指offer 面试题9

面试题9:斐波那契数列题目一:写入一个函数,输入n,求斐波那契切数列的第n项。题目二:一只青蛙一次可以跳上一级台阶,也可以跳上两级台阶,求该青蛙一次跳上一个n级的台阶总共有多少种跳法。首先我们来看第二题,我们可以假设有一个台阶,青蛙跳法:1种;                                    有两个台阶,青蛙跳法:2种                           ...

2018-03-03 22:34:04 150

原创 从尾到头打印链表

从尾到头打印链表题目:输入一个链表的头节点,从未到头反过来打印出每个节点的值。      链表结构如下:      Struct  ListNode      {          Int  m_nkey;          ListNode * m_pNext;}看到此题,我想很多人第一反应都会是将链表的节点指针反过来,改变链表的方向,这样就会很快打印出链表的每个节点的值,可是这样的方法改变...

2018-03-03 22:32:04 315 5

原创 剑指offer面试题5

从尾到头打印链表题目:输入一个链表的头节点,从未到头反过来打印出每个节点的值。      链表结构如下:      Struct  ListNode      {          Int  m_nkey;          ListNode * m_pNext;}看到此题,我想很多人第一反应都会是将链表的节点指针反过来,改变链表的方向,这样就会很快打印出链表的每个节点的值,可是这样的方法改变...

2018-03-03 22:29:19 239

原创 剑指offer面试题4

替换空格题目:请实现一个函数,把字符串中的每个空格替换成“%20”,例如输入“we are happy”。则输出“we%20are%20happy”。此题是将字符串中的空格用%20来代替,使用传统的方法来做的话时间复杂度为o(n2),效果上来看并不好,而且实现起来也非常的复杂,还存在将后面的字符覆盖的情况,因此我们使用另一种方法来实现此题我的方法是:遍历一遍字符串,统计出空格的总数,求出替换完...

2018-03-03 22:25:11 160

原创 Linux——线程

线程线程的概念:线程是进程内部的一条执行序列(执行流),每个进程至少有一条执行序列:main的执行体。进程可以通过线程库创建N条线程,这些新创建的线程称之为线程函数,main函数所代表的线程为主线程。进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。它的执行需要系统分配资源创建实体之后,才运行。线程与进

2017-11-03 19:21:27 219

原创 Linux—进程间通讯方式总结

Linux下进程间通信方式总结无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。相对于有名管道而言,无名管道在使用时产生,不使用后释放,并不会在系统上留下蛛丝马迹。就因为它在使用前没有任何的标识,所以也只能适用于父子进程或者具有血缘关系的进程间通讯    有名管道 (named

2017-11-03 19:17:43 483

空空如也

空空如也

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

TA关注的人

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