【进程间通信之管道】 匿名管道智能用于具有血缘关系的两个进程进行通信,比如父子进程和兄弟进程。管道通信其实在内核开辟一段缓冲区,用来单向传输数据。命名管道可以用于非血缘关系的两个进程进行通信。Linux中 | 可以用来进程传输数据。缺点:建立一个管道不能用于双向通信。
【C++中可调用对象和function】 该函数包装器模板能包装任何类型的可调用实体,如普通函数,函数对象,lamda表达式等。个人认为五种可调用对象中,函数和函数指针本质相同,而lambda表达式、bind对象及仿函数则异曲同工。bind绑定类成员函数时,第一个参数表示对象的成员函数的指针,第二个参数表示对象的地址,这是因为对象的成员函数需要有this指针。预绑定的参数是以值传递的形式,不预绑定的参数要用std::placeholders(占位符)的形式占位,从_1开始,依次递增,是以引用传递的形式;function包装仿函数。
【MySQL中共享锁和独占锁的关系】 共享锁(S锁)满足读读共享,读写互斥。独占锁(X锁)满足写写互斥、读写互斥。阻塞的时间是多节呢?在innodb下是50秒。加共享锁读取是兼容的,读写互斥。读读互斥,读写互斥,写写互斥。
【MYSQL索引失效的场景有哪些】 创建一张表:id为主键(primary key)name为普通建(index)插入数据:用主键索引查询:用普通建索引查询type 字段就是描述了找到所需数据时使用的扫描方式是什么,常见扫描类型的。
【MySQL可重复读级别解决了幻读的问题吗】 可以看到事务A和事务B同时开启事务,事务A插入一条数据后提交,事务B查询看不到事务A提交的数据,但是此时事务B可以对插入的数据进行修改,修改之后再次查询就可以看到数据,就产生了幻读的问题。,因为它会对记录加 next-key lock,从而避免其他事务插入一条新记录。
【在成员函数中使用delete会有什么影响】 delete之后访问成员函数就是去访问已经被释放的空间的变量,此时应该会出现非法访问内存的问题,但是实际上并没有其实delete调用的是析构函数清理资源和operator delete 释放空间,operator delete是对free的封装,new的底层是调用的operator new开辟空间,构造函数初始化,operator new是对malloc的初始化,为了避免频繁的malloc和free,会造成内存碎片,所以free的时候不会释放空间,下一次在malloc的时候就会将这个空间进行分配。
【写C++代码时有一类错误是 coredump ,很常见,你遇到过吗?怎么调试这个错误?】 coredump是程序由于异常或者bug在运行时异常退出或者终止,在一定的条件下生成的一个叫做core的文件,这个core文件会记录程序在运行时的内存,寄存器状态,内存指针和函数堆栈信息等等。利用core文件可以用来帮助我们定位程序出错的位置,Linux默认core file size = 0未开启,需要手动设置,一般通过ulimit -c 设置一个固定大小,否则电脑上跑上很多个程序会占用磁盘。ulimit -c unlimited 是不限制core dump文件的大小现在的程序占用内存都比较凶猛,
【静态变量在什么时候进行初始化】 初始化只有一次,但是可以多次赋值,在主程序之前,编译器已经为其分配好了内存。静态局部变量和全局变量一样,数据都存放在全局区域(数据区),所以在主程序之前,编译器已经为其分配好了内存。
【模拟三次握手第一次握手丢失会发生什么】 用telnet链接一个不存在的服务,第一次握手肯定会丢失,用tcpdump抓包看会发生什么。修改重传次数为3次,然后进行和上面相同的操作。第一次握手冲传次数收到内核参数影响。tcp建立连接到关闭链接图。
【HTML基础】 width/height: 控制宽度高度. 高度和宽度一般改一个就行, 另外一个会等比例缩放. 否则就会图片失衡., 开启开发者工具, 切换到 Elements 标签, 就可以看到页面结构细节.title 是 head 的子标签. head 是 title 的父标签.border: 边框, 参数是宽度的像素. 但是一般使用 CSS 来设定.alt: 替换文本. 当文本不能正确显示的时候, 会显示一个替换的文字.有六个, 从 h1 - h6. 数字越大, 则字体越小.
【软件测试从0到1】第四篇:测试分类 安全性测试的方法有代码评审,渗透测试,安全运维等,常用的静态安全测试工具有,Coverity,IBMAppscan Source,HPFortify,常用的动态安全测试有OWASP的ZAP,HP WebInspect等。软件只是一种工具,软件与人的信息交流是通过界面来进行的,界面是软件与用户交流的最直接的一层,界面的设计决定了用户对我们设计的软件的第一印象;要进行软件产品的性能问题,要对产品的性能需求进行分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执行,最后要进行持续的性能调优。
【软件测试从0到1】第三篇:用例篇 依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。因果图法是根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。