面试
参考小林coding,深入了解计算机网络,计算机系统,MySQL
小唐学渣
君子可内敛不可懦弱,面不公可起而论之。
展开
-
【C++中map和unordered_map存储自定义类型需要做什么】
需要传入的参数是key-value键值对,和仿函数类型对于内置类型,int、double、char重载了operator原创 2023-05-31 19:14:14 · 1606 阅读 · 0 评论 -
【进程间通信之管道】
匿名管道智能用于具有血缘关系的两个进程进行通信,比如父子进程和兄弟进程。管道通信其实在内核开辟一段缓冲区,用来单向传输数据。命名管道可以用于非血缘关系的两个进程进行通信。Linux中 | 可以用来进程传输数据。缺点:建立一个管道不能用于双向通信。原创 2023-05-09 17:41:27 · 59 阅读 · 0 评论 -
【如何用信号量实现进程间通信,线程间同步】
POSIX有名信号量实现线程间同步。原创 2023-05-09 17:38:03 · 100 阅读 · 1 评论 -
【C++中可调用对象和function】
该函数包装器模板能包装任何类型的可调用实体,如普通函数,函数对象,lamda表达式等。个人认为五种可调用对象中,函数和函数指针本质相同,而lambda表达式、bind对象及仿函数则异曲同工。bind绑定类成员函数时,第一个参数表示对象的成员函数的指针,第二个参数表示对象的地址,这是因为对象的成员函数需要有this指针。预绑定的参数是以值传递的形式,不预绑定的参数要用std::placeholders(占位符)的形式占位,从_1开始,依次递增,是以引用传递的形式;function包装仿函数。原创 2023-05-08 11:34:03 · 272 阅读 · 0 评论 -
【MySQL中共享锁和独占锁的关系】
共享锁(S锁)满足读读共享,读写互斥。独占锁(X锁)满足写写互斥、读写互斥。阻塞的时间是多节呢?在innodb下是50秒。加共享锁读取是兼容的,读写互斥。读读互斥,读写互斥,写写互斥。原创 2023-04-23 13:53:29 · 164 阅读 · 0 评论 -
【MYSQL索引失效的场景有哪些】
创建一张表:id为主键(primary key)name为普通建(index)插入数据:用主键索引查询:用普通建索引查询type 字段就是描述了找到所需数据时使用的扫描方式是什么,常见扫描类型的。原创 2023-04-21 13:12:42 · 146 阅读 · 0 评论 -
【MySQL可重复读级别解决了幻读的问题吗】
可以看到事务A和事务B同时开启事务,事务A插入一条数据后提交,事务B查询看不到事务A提交的数据,但是此时事务B可以对插入的数据进行修改,修改之后再次查询就可以看到数据,就产生了幻读的问题。,因为它会对记录加 next-key lock,从而避免其他事务插入一条新记录。原创 2023-04-15 15:36:19 · 415 阅读 · 0 评论 -
【在成员函数中使用delete会有什么影响】
delete之后访问成员函数就是去访问已经被释放的空间的变量,此时应该会出现非法访问内存的问题,但是实际上并没有其实delete调用的是析构函数清理资源和operator delete 释放空间,operator delete是对free的封装,new的底层是调用的operator new开辟空间,构造函数初始化,operator new是对malloc的初始化,为了避免频繁的malloc和free,会造成内存碎片,所以free的时候不会释放空间,下一次在malloc的时候就会将这个空间进行分配。原创 2023-03-30 20:01:29 · 139 阅读 · 0 评论 -
【友元函数和友元类】
将或则函数设置为友元可以突破为类域的限制,可以访问类中的private私有成员,这其实是违背了封装的原则。原创 2023-03-30 17:40:05 · 98 阅读 · 0 评论 -
【写C++代码时有一类错误是 coredump ,很常见,你遇到过吗?怎么调试这个错误?】
coredump是程序由于异常或者bug在运行时异常退出或者终止,在一定的条件下生成的一个叫做core的文件,这个core文件会记录程序在运行时的内存,寄存器状态,内存指针和函数堆栈信息等等。利用core文件可以用来帮助我们定位程序出错的位置,Linux默认core file size = 0未开启,需要手动设置,一般通过ulimit -c 设置一个固定大小,否则电脑上跑上很多个程序会占用磁盘。ulimit -c unlimited 是不限制core dump文件的大小现在的程序占用内存都比较凶猛,原创 2023-03-28 09:16:18 · 333 阅读 · 0 评论 -
【静态变量在什么时候进行初始化】
初始化只有一次,但是可以多次赋值,在主程序之前,编译器已经为其分配好了内存。静态局部变量和全局变量一样,数据都存放在全局区域(数据区),所以在主程序之前,编译器已经为其分配好了内存。原创 2023-03-26 20:02:44 · 3101 阅读 · 0 评论 -
【模拟三次握手第一次握手丢失会发生什么】
用telnet链接一个不存在的服务,第一次握手肯定会丢失,用tcpdump抓包看会发生什么。修改重传次数为3次,然后进行和上面相同的操作。第一次握手冲传次数收到内核参数影响。tcp建立连接到关闭链接图。原创 2023-03-22 16:59:04 · 118 阅读 · 0 评论 -
【Linux下和Windows下最大可以malloc内存】
32位空间分布64位空间分布。原创 2023-03-22 16:40:36 · 1241 阅读 · 0 评论 -
【new和free,malloc和delete混用会有什么问题】
【代码】【new和free,malloc和delete混用会有什么问题】原创 2023-03-22 11:35:57 · 805 阅读 · 0 评论