<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>面试 on Clarity</title>
    <link>https://gb.yeadoc.com/categories/%E9%9D%A2%E8%AF%95/</link>
    <description>Recent content in 面试 on Clarity</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <copyright>Copyright © 2008–2018, Steve Francia and the Hugo Authors; all rights reserved.</copyright>
    <lastBuildDate>Sun, 24 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://gb.yeadoc.com/categories/%E9%9D%A2%E8%AF%95/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C&#43;&#43;</title>
      <link>https://gb.yeadoc.com/2026/05/24/c-/</link>
      <pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://gb.yeadoc.com/2026/05/24/c-/</guid>
      <description>
        
          
            &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一.变量&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）全局变量与static变量？（作用域、生存周期）&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;temp/C++.md#4static%E5%87%BD%E6%95%B0%E4%B8%8E%E6%99%AE%E9%80%9A%E5%87%BD%E6%95%B0%E7%9A%84%E5%8C%BA%E5%88%AB&#34;&gt;static函数与普通函数的区别？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）两个文件中声明两个同名变量？（使用了与未使用extern？）&lt;/li&gt;
&lt;li&gt;4）全局数组和局部数组的初始化？&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://www.nowcoder.com/ta/nine-chapter/review?page=11&#34;&gt;指针和引用的区别&lt;/a&gt;？（代表意义、内存占用、初始化、指向是否可改、能否为空）&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE27%E5%B0%BD%E9%87%8F%E5%B0%91%E5%81%9A%E8%BD%AC%E5%9E%8B%E5%8A%A8%E4%BD%9C&#34;&gt;C/C++中的强制转换&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;https://blog.csdn.net/heyabo/article/details/8745942&#34;&gt;如何修改const变量、const与volatile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8）静态类型获取与动态类型获取（&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/RTTI/typeid.cpp#L4&#34;&gt;typeid&lt;/a&gt;、dynamic_cast:转换目标类型必须是引用类型）&lt;/li&gt;
&lt;li&gt;9）&lt;a href=&#34;https://blog.csdn.net/jk110333/article/details/8902707&#34;&gt;如何比较浮点数大小？&lt;/a&gt;（&lt;a href=&#34;https://stackoverflow.com/questions/26261466/in-current-c-and-java-double-type-and-float-type-if-x-0-0-is-correct&#34;&gt;直接使用==比较出现错误的例子&lt;/a&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二.函数&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）重载（&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/overload/main.cpp#L9&#34;&gt;参数必须不同(const修饰形参)&lt;/a&gt;、重载与作用域、继承中的重载(using)、重载与const成员函数）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;三.类&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）面向对象的三大特性（封装、继承、多态）&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://blog.csdn.net/qq_37964547/article/details/81835488&#34;&gt;struct和class的区别？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;temp/C++.md/#3%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E8%AF%B4%E6%98%8E%E7%AC%A6&#34;&gt;访问权限说明符&lt;/a&gt;？（目的是加强类的封装性）&lt;/li&gt;
&lt;li&gt;4）类的静态成员（所属？静态成员函数不能声明成const、类类型的成员、定义时不能重复使用static、具有类内初始值的静态成员定义时不可再设初值）&lt;/li&gt;
&lt;li&gt;5）构造函数相关
&lt;ul&gt;
&lt;li&gt;有哪些构造函数（默认、委托、拷贝、移动）&lt;/li&gt;
&lt;li&gt;合成的默认拷贝构造函数（默认行为？什么情况下不会合成？怎么解决？如果成员包含类内初始值，合成默认构造函数会使用该成员的类内初始值初始化该成员）&lt;/li&gt;
&lt;li&gt;拷贝构造函数（调用时机、合成版的行为、explict？、为何第一个参数必须是引用类型）&lt;/li&gt;
&lt;li&gt;移动拷贝构造函数（非拷贝而是窃取资源、与noexcept?、何时合成）&lt;/li&gt;
&lt;li&gt;可否通过对象或对象的引用(指针或引用)调用&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;6）初始值列表（顺序、效率(内置类型不进行隐式初始化故无所谓,但..)、无默认构造函数的成员,const成员,引用成员必须通过初始值列表初始化）&lt;/li&gt;
&lt;li&gt;7）赋值运算符相关
&lt;ul&gt;
&lt;li&gt;拷贝赋值运算符（合成版的行为？、与delete？、自定义时要注意自赋值，参数与返回类型、大部分组合了拷贝构造函数与析构函数的工作）&lt;/li&gt;
&lt;li&gt;阻止拷贝（某些对象应该独一无二(比方说人)、C++11前:private并且不定义(试图拷贝会报链接错误)，C++11:=delete &lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE06%E8%8B%A5%E4%B8%8D%E6%83%B3%E4%BD%BF%E7%94%A8%E7%BC%96%E8%AF%91%E5%99%A8%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%B1%E8%AF%A5%E6%98%8E%E7%A1%AE%E6%8B%92%E7%BB%9D&#34;&gt;《Effective C++:条款6》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;移动赋值运算符（与noexcept？何时合成）&lt;/li&gt;
&lt;li&gt;可以定义为成员或非成员函数，定义成成员函数时第一个操作数隐式绑定到this指针&lt;/li&gt;
&lt;li&gt;不可重载的操作符有哪些？（?:，::）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;8）析构函数相关
&lt;ul&gt;
&lt;li&gt;销毁过程的理解（delete会执行哪些操作？&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/class/constructorANDdestructor/order.cpp#L1&#34;&gt;逆序析构成员&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;为什么析构函数中不能抛出异常？（不能是指“不应该”，C++本身并不禁止&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE08%E5%88%AB%E8%AE%A9%E5%BC%82%E5%B8%B8%E9%80%83%E7%A6%BB%E6%9E%90%E6%9E%84%E5%87%BD%E6%95%B0&#34;&gt;《Effective C++:条款8》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;如果析构函数中包含可能抛出异常的代码怎么办？（Effective C++:条款8》）&lt;/li&gt;
&lt;li&gt;可否通过对象或对象的引用(指针或引用)调用&lt;/li&gt;
&lt;li&gt;为什么将继承体系中基类的析构函数声明为虚函数？（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE07%E4%B8%BA%E5%A4%9A%E6%80%81%E5%9F%BA%E7%B1%BB%E5%A3%B0%E6%98%8Evirtual%E6%9E%90%E6%9E%84%E5%87%BD%E6%95%B0&#34;&gt;《Effective C++:条款7》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;不应该将非继承体系中的类的虚函数声明为虚函数（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE07%E4%B8%BA%E5%A4%9A%E6%80%81%E5%9F%BA%E7%B1%BB%E5%A3%B0%E6%98%8Evirtual%E6%9E%90%E6%9E%84%E5%87%BD%E6%95%B0&#34;&gt;《Effective C++:条款7》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;不应该继承析构函数非虚的类（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE07%E4%B8%BA%E5%A4%9A%E6%80%81%E5%9F%BA%E7%B1%BB%E5%A3%B0%E6%98%8Evirtual%E6%9E%90%E6%9E%84%E5%87%BD%E6%95%B0&#34;&gt;《Effective C++:条款7》&lt;/a&gt;，final防止继承）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.twofei.com/672/&#34;&gt;防止继承的方式&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;9）&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/class/delete/README.md&#34;&gt;删除的合成函数&lt;/a&gt;（一般函数而言不想调用的话不定义就好）&lt;/li&gt;
&lt;li&gt;10）继承相关
&lt;ul&gt;
&lt;li&gt;继承体系中的构造、拷贝、析构顺序？（派生类只负责自己成员的拷贝控制，可以(换而言之非必须，如果不显示调用，会调用父类合成的默认版本)在初始值列表或函数体中调用基类相应函数）&lt;/li&gt;
&lt;li&gt;继承中的名字查找（作用域嵌套、从子类到父类查找；&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#%E5%90%8D%E7%A7%B0%E7%9A%84%E7%89%B9%E6%AE%8A%E5%A4%84%E7%90%86&#34;&gt;成员名字的处理&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#31-data-member%E7%9A%84%E7%BB%91%E5%AE%9A&#34;&gt;成员函数体内、成员函数的参数列表的名字解析时机&lt;/a&gt;（因此，务必将“内嵌的类型声明”放在class起始处）&lt;/li&gt;
&lt;li&gt;同名名字隐藏（如何解决？(域作用符，从指示的类开始查找)、不同作用域无法重载、using的作用？除此之外呢？）&lt;/li&gt;
&lt;li&gt;虚继承（解决什么问题？(多继承中的子对象冗余)）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;11）多态的实现？&lt;/li&gt;
&lt;li&gt;12）&lt;a href=&#34;https://www.cnblogs.com/malecrab/p/5572730.html&#34;&gt;虚函数的实现原理？对类大小的影响？&lt;/a&gt;（vtbl是一个由函数指针组成的数组，无论pb指向哪种类型的对象，只要能够确定被调函数在虚函数中的偏移值，待运行时，能够确定具体类型，并能找到相应vptr，进一步能找出真正应该调用的函数）&lt;/li&gt;
&lt;li&gt;13）为什么不要在构造、析构函数中调用虚函数？（子对象的base class构造期间，对象的类型是base class &lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE09%E7%BB%9D%E4%B8%8D%E5%9C%A8%E6%9E%84%E9%80%A0%E5%92%8C%E6%9E%90%E6%9E%84%E8%BF%87%E7%A8%8B%E4%B8%AD%E8%B0%83%E7%94%A8virtual%E5%87%BD%E6%95%B0&#34;&gt;《Effective C++:条款9》&lt;/a&gt;，&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#vptr%E7%9A%84%E8%AE%BE%E7%BD%AE&#34;&gt;设置虚函数指针的时机&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;14）&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/class/inheritance/virtual_function_hide.cpp#L1&#34;&gt;虚函数被覆盖？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;15）virtual函数动态绑定，缺省参数值静态绑定（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE37%E7%BB%9D%E4%B8%8D%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E7%BB%A7%E6%89%BF%E8%80%8C%E6%9D%A5%E7%9A%84%E7%BC%BA%E7%9C%81%E5%8F%82%E6%95%B0%E5%80%BC&#34;&gt;《Effective C++:条款37》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;16）纯虚函数与抽象基类（&lt;a href=&#34;../C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE34%E5%8C%BA%E5%88%86%E6%8E%A5%E5%8F%A3%E7%BB%A7%E6%89%BF%E5%92%8C%E5%AE%9E%E7%8E%B0%E7%BB%A7%E6%89%BF&#34;&gt;纯虚函数与虚函数、一般成员函数的选择&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;17）静态类型与动态类型（引用是否可实现动态绑定）&lt;/li&gt;
&lt;li&gt;18）浅拷贝与深拷贝（安全性、行为像值的类与行为像指针的类）&lt;/li&gt;
&lt;li&gt;19）如何定义类内常量？（enum而不是static const &lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE02%E5%B0%BD%E9%87%8F%E4%BB%A5constenuminline%E6%9B%BF%E6%8D%A2define&#34;&gt;《Effective C++:条款2》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;20）继承与组合(复合)之间如何选择？（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE38%E9%80%9A%E8%BF%87%E5%A4%8D%E5%90%88%E5%A1%91%E6%A8%A1%E5%87%BAhas-a%E6%88%96%E6%A0%B9%E6%8D%AE%E6%9F%90%E7%89%A9%E5%AE%9E%E7%8E%B0%E5%87%BA&#34;&gt;《Effective C++:条款38》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;21）private继承？（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE39%E6%98%8E%E6%99%BA%E8%80%8C%E5%AE%A1%E6%85%8E%E5%9C%B0%E4%BD%BF%E7%94%A8private%E7%BB%A7%E6%89%BF&#34;&gt;《Effective C++:条款39》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;22）&lt;a href=&#34;https://www.nowcoder.com/questionTerminal/0a584aa13f804f3ea72b442a065a7618&#34;&gt;如何定义一个只能在堆上（栈上）生成对象的类？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;23）&lt;a href=&#34;https://www.nowcoder.com/ta/nine-chapter/review?page=24&#34;&gt;内联函数、构造函数、静态成员函数可以是虚函数吗？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;四.内存管理&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;../C++/%E5%86%85%E5%AD%98%E5%88%86%E5%8C%BA.md&#34;&gt;C++内存分区&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#1new&#34;&gt;new&lt;/a&gt;和malloc的区别？（函数，运算符、类型安全、计算空间、步骤，&lt;a href=&#34;../C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#3operator-new%E5%92%8Coperator-delete%E7%9A%84%E5%AE%9E%E7%8E%B0&#34;&gt;operator new的实现&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;../C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#4%E9%92%88%E5%AF%B9%E6%95%B0%E7%BB%84%E7%9A%84new%E8%AF%AD%E6%84%8F&#34;&gt;new[]与delete[]？&lt;/a&gt;（步骤：如何分配内存，构建对象、如何析构与释放内存？&lt;a href=&#34;../C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#3%E5%AF%B9%E8%B1%A1%E6%95%B0%E7%BB%84&#34;&gt;构造与析构&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;4）new带括号和不带的区别？（无自定义构造函数时，不带括号的new只分配内存，带括号的new会初始化为0）&lt;/li&gt;
&lt;li&gt;5）new时内存不足？（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE49%E4%BA%86%E8%A7%A3new-handler%E7%9A%84%E8%A1%8C%E4%B8%BA&#34;&gt;《Effective C++:条款49》&lt;/a&gt;）(new-handler)&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#5%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%88%86%E9%85%8D&#34;&gt;malloc&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#5%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%88%86%E9%85%8D&#34;&gt;calloc&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#5%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%88%86%E9%85%8D&#34;&gt;realloc&lt;/a&gt;、&lt;a href=&#34;https://blog.csdn.net/lan120576664/article/details/38078855&#34;&gt;alloca&lt;/a&gt;，malloc的实现？&lt;/li&gt;
&lt;li&gt;7）调用malloc函数之后，OS会马上分配内存空间吗？（不会，只会返回一个虚拟地址，待用户要使用内存时，OS会发出一个缺页中断，此时，内存管理模块才会为程序分配真正内存）&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#1new&#34;&gt;delete&lt;/a&gt;（步骤、delete与析构、可以delete空指针、可以delete动态const对象）&lt;/li&gt;
&lt;li&gt;9）为什么要内存对齐？(&lt;a href=&#34;temp/C++.md/#1%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E5%86%85%E5%AD%98%E5%AF%B9%E9%BD%90&#34;&gt;性能原因、平台原因&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;10）&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/alignment/struct.cpp#L1&#34;&gt;struct内存对齐方式？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11）如何取消内存对其？（添加预处理指令&lt;code&gt;#pragma pack(1)&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;12）什么是内存泄露？如何检测与避免？（Mtrace，&lt;a href=&#34;temp/C++.md/#2valgrind&#34;&gt;valgrind&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;https://mubu.com/doc/BGwWx-huk&#34;&gt;智能指针相关&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;种类、区别、原理、能否管理动态数组&lt;/li&gt;
&lt;li&gt;shared_ptr（使用、计数的变化，get()函数要注意什么）&lt;/li&gt;
&lt;li&gt;unique_ptr(如何转移控制权)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.cnblogs.com/DswCnblog/p/5628314.html&#34;&gt;weak_ptr(特点、用途：可以解决shared_ptr的循环引用问题)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;手写实现智能指针&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;14）&lt;a href=&#34;../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95%E9%A2%98%E6%80%BB%E7%BB%93.md#1%E5%AE%9E%E7%8E%B0memcpy&#34;&gt;实现memcpy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;15）memcpy与memmove的区别（前者不处理重叠，后者处理重叠）&lt;/li&gt;
&lt;li&gt;16）&lt;a href=&#34;https://blog.csdn.net/peng314899581/article/details/60766892&#34;&gt;能否使用memcpy比较两个结构体对象？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;17）实现&lt;a href=&#34;../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95%E9%A2%98%E6%80%BB%E7%BB%93.md#1%E5%AE%9E%E7%8E%B0strlen&#34;&gt;strlen&lt;/a&gt;、&lt;a href=&#34;../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95%E9%A2%98%E6%80%BB%E7%BB%93.md#2%E5%AE%9E%E7%8E%B0strcmp&#34;&gt;strcmp&lt;/a&gt;、&lt;a href=&#34;../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95%E9%A2%98%E6%80%BB%E7%BB%93.md#3%E5%AE%9E%E7%8E%B0strcat&#34;&gt;strcat&lt;/a&gt;、&lt;a href=&#34;../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95%E9%A2%98%E6%80%BB%E7%BB%93.md#4%E5%AE%9E%E7%8E%B0strcpy&#34;&gt;strcpy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;五.STL&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://blog.csdn.net/JIEJINQUANIL/article/details/51175858&#34;&gt;顺序容器与关联容器的比较？&lt;/a&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/pic/stl-4-1.jpeg&#34;&gt;有哪些顺序容器与关联容器？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#1vector&#34;&gt;vector底层的实现&lt;/a&gt;（迭代器类型为随机迭代器）？insert具体做了哪些事？&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C%2B%2B/tass-sgi-stl-2.91.57-source/stl_vector.h#L209&#34;&gt;resize()&lt;/a&gt;调用的是什么？&lt;/li&gt;
&lt;li&gt;3）vector的push_back要注意什么（大量调用会伴随大量的拷贝构造与析构，内存分配与释放）&lt;/li&gt;
&lt;li&gt;4）vector的resize()与&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C%2B%2B/tass-sgi-stl-2.91.57-source/stl_vector.h#L129&#34;&gt;reserve()&lt;/a&gt;（&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/container/vector/size.cpp#L5&#34;&gt;测试程序&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://blog.csdn.net/u014774781/article/details/48197891&#34;&gt;如何释放vector的空间？&lt;/a&gt;（swap）、&lt;a href=&#34;https://blog.csdn.net/u014774781/article/details/48197891&#34;&gt;容器的元素类型为指针？&lt;/a&gt;（会有内存泄露，&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C%2B%2B/tass-sgi-stl-2.91.57-source/stl_construct.h#L72&#34;&gt;指针是trivial_destructor&lt;/a&gt;；也可以使用智能指针来管理）&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C%2B%2B/tass-sgi-stl-2.91.57-source/stl_vector.h#L210&#34;&gt;vector的clear&lt;/a&gt;与&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C%2B%2B/tass-sgi-stl-2.91.57-source/stl_deque.h#L774&#34;&gt;deque的clear&lt;/a&gt;（vector的erase和clear只会析构不会释放内存，deque的erase和clear不但会析构，还可能会释放缓冲区）&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#23-list%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84&#34;&gt;list的底层实现&lt;/a&gt;（迭代器类型为双向迭代器）&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#33-deque%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84&#34;&gt;deque的底层实现&lt;/a&gt;（迭代器类型为随机迭代器）&lt;/li&gt;
&lt;li&gt;9）vector与deque的区别？（deque能以常数时间在首尾插入元素；deque没有capacity的概念）&lt;/li&gt;
&lt;li&gt;10）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#3map&#34;&gt;map&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#2set&#34;&gt;set&lt;/a&gt;的实现原理（红黑树、对于set来说key和value合一，value就是key，map的元素是一个pair，包括key和value、set不支持[]，map(不包括multimap)支持[]）&lt;/li&gt;
&lt;li&gt;11）set(map)和multiset(multimap)的区别？（set不允许key重复,其insert操作调用rb_tree的insert_unique函数，multiset允许key重复,其insert操作调用rb_tree的insert_equal函数）&lt;/li&gt;
&lt;li&gt;12）set(multiset)和map(multimap)的迭代器（由于set(multiset)key和value合一，迭代器不允许修改key、map(multimap)除了key有data，迭代器允许修改data不允许修改key）&lt;/li&gt;
&lt;li&gt;13）map与&lt;a href=&#34;https://blog.csdn.net/hk2291976/article/details/51037095&#34;&gt;unordered_map&lt;/a&gt;的区别？（hash_map需要hash函数及等于函数，map只需小于函数）&lt;/li&gt;
&lt;li&gt;14）set(multiset)和map(multimap)的迭代器&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#12-rb-tree%E7%9A%84%E8%BF%AD%E4%BB%A3%E5%99%A8&#34;&gt;++操作、--操作的时间复杂度&lt;/a&gt;？&lt;/li&gt;
&lt;li&gt;15）空间分配器allocator
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#%E4%BA%8C%E7%A9%BA%E9%97%B4%E5%88%86%E9%85%8D%E5%99%A8&#34;&gt;将new和delete的2阶段操作分离&lt;/a&gt;（construct和destroy负责内存分配？allocate和deallocate负责对象构造析构？）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#%E4%BA%8C%E7%A9%BA%E9%97%B4%E5%88%86%E9%85%8D%E5%99%A8&#34;&gt;SGI符合部分标准的空间分配器——std::allocator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#3sgi%E7%89%B9%E6%AE%8A%E7%9A%84%E7%A9%BA%E9%97%B4%E5%88%86%E9%85%8D%E5%99%A8stdalloc&#34;&gt;SGI特殊的空间分配器——std::alloc&lt;/a&gt;（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#31-%E5%AF%B9%E8%B1%A1%E6%9E%84%E9%80%A0%E4%B8%8E%E6%9E%90%E6%9E%84&#34;&gt;对象构造与析构&lt;/a&gt;、内存分配与释放——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#1%E4%B8%A4%E7%BA%A7%E5%88%86%E9%85%8D%E5%99%A8&#34;&gt;两级分配器&lt;/a&gt;）
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#2%E7%AC%AC%E4%B8%80%E7%BA%A7%E5%88%86%E9%85%8D%E5%99%A8__malloc_alloc_template&#34;&gt;第一级分配器&lt;/a&gt;（如何仿真new-handler机制？不能直接用C++ new-handler，因为没有使用::operator new）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#3%E7%AC%AC%E4%BA%8C%E7%BA%A7%E5%88%86%E9%85%8D%E5%99%A8__default_alloc_template&#34;&gt;第二级分配器&lt;/a&gt;（为什么要二级分配器？内存池与16个free-list？空间分配和释放的步骤？）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;16）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/STL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90.md#2traits%E7%BC%96%E7%A8%8B%E6%8A%80%E6%B3%95&#34;&gt;traits与迭代器相应类型&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;六.对象内存模型&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据成员&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#32-data-member%E7%9A%84%E5%B8%83%E5%B1%80&#34;&gt;成员变量在类对象中的布局规则&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#33-data-member%E7%9A%84%E5%AD%98%E5%8F%96&#34;&gt;通过指针和通过&#39;.&#39;进行Data Member存取的区别&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;数据成员的布局——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#33-data-member%E7%9A%84%E5%AD%98%E5%8F%96&#34;&gt;无继承&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;数据成员的布局——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#2%E4%B8%8D%E5%90%AB%E5%A4%9A%E6%80%81%E7%9A%84%E7%BB%A7%E6%89%BF&#34;&gt;不含多态的继承&lt;/a&gt;（C++标准并未强制指定派生类和基类成员的排列顺序；理论上编译器可以自由安排。在大部分编译器上，基类成员总是先出现，虚基类除外）&lt;/li&gt;
&lt;li&gt;数据成员的布局——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#3%E5%90%AB%E5%A4%9A%E6%80%81%E7%9A%84%E7%BB%A7%E6%89%BF&#34;&gt;含多态的继承&lt;/a&gt;（vptr的位置也没有强制规定，放在不同位置分别有什么好处？）&lt;/li&gt;
&lt;li&gt;数据成员的布局——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#4%E5%A4%9A%E9%87%8D%E7%BB%A7%E6%89%BF&#34;&gt;多重继承&lt;/a&gt;（基类子对象的排列顺序也没有硬性规定；指针的调整方式？）&lt;/li&gt;
&lt;li&gt;数据成员的布局——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#5%E8%99%9A%E7%BB%A7%E6%89%BF&#34;&gt;虚继承&lt;/a&gt;（虚基类子对象的偏移信息记录在虚函数表之前与使用一个额外指针来记录的对比？）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#35-%E6%8C%87%E5%90%91data-members%E7%9A%84%E6%8C%87%E9%92%88&#34;&gt;指向数据成员的指针&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;函数成员&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#41-member%E7%9A%84%E5%90%84%E7%A7%8D%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F&#34;&gt;nonstatic成员函数的转换&lt;/a&gt;（目的是为了提供和一般非成员函数相同的效率）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#%E6%88%90%E5%91%98%E5%87%BD%E6%95%B0%E9%87%8D%E8%BD%BD%E7%9A%84%E5%A4%84%E7%90%86&#34;&gt;重载成员函数的名字处理&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#2static-member-functions%E9%9D%99%E6%80%81%E6%88%90%E5%91%98%E5%87%BD%E6%95%B0&#34;&gt;static成员函数的转换&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#3virtual-member-functions%E8%99%9A%E5%87%BD%E6%95%B0&#34;&gt;编译器如何处理经由指针和经由‘.’进行的调用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#43-%E6%8C%87%E5%90%91member-function%E7%9A%84%E6%8C%87%E9%92%88&#34;&gt;指向函数成员的指针&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;虚函数的调用——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#1%E5%8D%95%E7%BB%A7%E6%89%BF%E4%B8%AD%E7%9A%84%E8%99%9A%E5%87%BD%E6%95%B0&#34;&gt;单继承&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;虚函数的调用——&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/C++%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B.md#2%E5%A4%9A%E7%BB%A7%E6%89%BF%E4%B8%AD%E7%9A%84%E8%99%9A%E5%87%BD%E6%95%B0&#34;&gt;多重继承&lt;/a&gt;（子类对象关联有多少个虚函数表？不同虚函数表的名称？执行期什么情况下如何调整this指针？）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;七.关键字&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）extern？（extern &amp;quot;C&amp;quot;?、与static？、有什么问题？、extern的时候定义变量？）&lt;/li&gt;
&lt;li&gt;2）const？（修饰变量、修饰指针与引用、修饰成员函数 &lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE03%E5%B0%BD%E5%8F%AF%E8%83%BD%E4%BD%BF%E7%94%A8const&#34;&gt;《Effective C++:条款3》&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;3）mutable？&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;https://www.nowcoder.com/ta/nine-chapter/review?page=15&#34;&gt;static&lt;/a&gt;？（修饰变量、类中使用）&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://www.nowcoder.com/questionTerminal/a60c01a7c4ab473e81218ed0b333b4e6&#34;&gt;define与const&lt;/a&gt;、enum、inline？（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/C++/EffectiveC++.md#%E6%9D%A1%E6%AC%BE02%E5%B0%BD%E9%87%8F%E4%BB%A5constenuminline%E6%9B%BF%E6%8D%A2define&#34;&gt;《Effective C++:条款2》&lt;/a&gt;、C中默认const是外部连接的，而C++中默认const是内部连接的）&lt;/li&gt;
&lt;li&gt;6）explict?（抑制隐式转换、可通过显示转换或直接初始化解决、类外定义时不应重复出现）&lt;/li&gt;
&lt;li&gt;7）noexcept？（承诺不会抛出异常）&lt;/li&gt;
&lt;li&gt;8）default、delete?（显示要求编译器合成、不能被调用）&lt;/li&gt;
&lt;li&gt;9）using？（用于命名空间？、用于类中？）&lt;/li&gt;
&lt;li&gt;10）final？（修饰类？、修饰成员函数？只有虚函数能使用final）&lt;/li&gt;
&lt;li&gt;11）auto(初始值为引用时类型为所引对象的类型、必须初始化、不能用于函数及模板)、decltype？&lt;/li&gt;
&lt;li&gt;12）volatile?（对象的值可能在程序的控制外被改变时，应将变量申明为volatile，告诉编译器不应对这样的对象进行优化，如果优化，从内存读取后CPU会优先访问数据在寄存器中的结果，但是内存中的数据可能在程序之外被改变、可以既是const又是volatile，const只是告诉程序不能试图去修改它.volatile是告诉编译器不要优化，因为变量可能在程序外部被改变）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;八.其它&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）调试程序的方法?（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/Linux/Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4.md#3%E8%B0%83%E8%AF%95%E5%B7%A5%E5%85%B7gdb&#34;&gt;gdb&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;2）遇到coredump要怎么调试？&lt;/li&gt;
&lt;li&gt;3）模板的用法与适用场景&lt;/li&gt;
&lt;li&gt;4）用过C++11？新特性？（auto,decltype、explicit、&lt;a href=&#34;https://mubu.com/doc/1ckW18B1Ak&#34;&gt;lambda&lt;/a&gt;、final）&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://arkingc.github.io/2018/01/12/c-stack_frame/&#34;&gt;函数调用的压栈过程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/sizeof.cpp#L4&#34;&gt;sizeof&lt;/a&gt;和strlen的区别？（运算符与函数、计算的对象、编译时运行时）&lt;/li&gt;
&lt;li&gt;7）union？&lt;/li&gt;
&lt;li&gt;8）覆盖、重载与隐藏（覆盖要求参数完全相同，用于继承体系的虚函数中，重载要求参数不同）&lt;/li&gt;
&lt;li&gt;9）C++是不是类型安全的？（不是，两个不同类型指针可以强制转换）&lt;/li&gt;
&lt;li&gt;10）gcc和g++的区别？（gcc代表GUN Compiler Collection，是一堆编译器的集合，包括g++）&lt;/li&gt;
&lt;li&gt;11）&lt;a href=&#34;https://github.com/arkingc/llc/blob/master/cpp/RTTI/RTTI.cpp#L9&#34;&gt;运行时类型识别实现对象比较函数&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;12）&lt;a href=&#34;https://www.cnblogs.com/ccdev/archive/2012/12/19/2825355.html&#34;&gt;使用C++实现线程安全的单例模式&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;../C++/EffectiveC++.md#1%E5%BC%82%E5%B8%B8%E5%AE%89%E5%85%A8%E7%9A%842%E4%B8%AA%E6%9D%A1%E4%BB%B6&#34;&gt;什么是异常安全？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
          
          
        
      </description>
    </item>
    
    <item>
      <title>操作系统</title>
      <link>https://gb.yeadoc.com/2026/05/24/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/</link>
      <pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://gb.yeadoc.com/2026/05/24/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/</guid>
      <description>
        
          
            &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一.理论&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1.进程与线程&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）进行间通信的方式？(&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#31-%E7%AE%A1%E9%81%93&#34;&gt;管道&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#32-%E6%B6%88%E6%81%AF&#34;&gt;消息&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#33-%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98&#34;&gt;共享内存&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#12-%E4%BA%92%E6%96%A5%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%94%AF%E6%8C%81&#34;&gt;信号量&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#35-%E4%BF%A1%E5%8F%B7&#34;&gt;信号&lt;/a&gt;、套接字)&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#1%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%BA%BF%E7%A8%8B&#34;&gt;进程和线程的区别联系&lt;/a&gt;？(组成、效率、通信、安全性)&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://blog.csdn.net/yusiguyuan/article/details/45155035&#34;&gt;进程的地址空间布局&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）程序状态字(PSW)？（一个或一组处理器寄存器，包含有进程的状态信息）&lt;/li&gt;
&lt;li&gt;5）进程&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#21-%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%88%9B%E5%BB%BA%E4%B8%8E%E7%BB%88%E6%AD%A2&#34;&gt;创建的步骤&lt;/a&gt;？&lt;/li&gt;
&lt;li&gt;6）进程&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#42-%E8%BF%9B%E7%A8%8B%E5%88%87%E6%8D%A2&#34;&gt;切换的步骤&lt;/a&gt;？&lt;/li&gt;
&lt;li&gt;7）一个程序从开始运行到结束的完整过程&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#1%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%BA%BF%E7%A8%8B&#34;&gt;线程分配什么？TCB(线程控制块)?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;9）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#1%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%BA%BF%E7%A8%8B&#34;&gt;线程共享进程的什么？不共享什么？CPU共享吗？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10）怎样保证一个CPU只有一个线程运行？（&lt;a href=&#34;https://blog.csdn.net/qq_33530388/article/details/62448212&#34;&gt;CPU核数与多线程&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;11）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#2%E7%BA%BF%E7%A8%8B%E7%8A%B6%E6%80%81&#34;&gt;线程有什么状态？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;12）线程池的了解、优点、调度处理方式和保护任务队列的方式？&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#2pthread_join%E5%87%BD%E6%95%B0&#34;&gt;怎么回收线程？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;14）进程-&amp;gt;线程-&amp;gt;协程&lt;a href=&#34;https://www.zhihu.com/question/20511233&#34;&gt;——知乎阿猫&lt;/a&gt;（本质好像是&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#3%E7%BA%BF%E7%A8%8B%E5%88%86%E7%B1%BB&#34;&gt;用户态线程&lt;/a&gt;，线程与协程最大的区别在是否依赖CPU时钟发出的中断来调度，协程的调度完全由用户控制）&lt;/li&gt;
&lt;li&gt;15）&lt;a href=&#34;http://www.jianshu.com/p/d058a0fd4ac8&#34;&gt;线程与协程的区别&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;16）&lt;a href=&#34;http://liubigbin.github.io/2016/03/11/Linux-%E4%B9%8B%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E3%80%81%E5%83%B5%E6%AD%BB%E8%BF%9B%E7%A8%8B%E4%B8%8E%E5%AD%A4%E5%84%BF%E8%BF%9B%E7%A8%8B/&#34;&gt;守护进程、僵尸进程、孤儿进程？&lt;/a&gt;（守护进程运行在后台，独立于控制终端，周期性执行某种任务，父进程为init，一般系统启动时运行；僵尸进程会占据PID等系统资源，可以通过kill其父进程，转交给init周期性调用wait操作清理）&lt;/li&gt;
&lt;li&gt;17）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#2%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95&#34;&gt;进程调度方法详细介绍&lt;/a&gt;（FCFS、轮转、SPN、SRT、HRRN、反馈法）&lt;/li&gt;
&lt;li&gt;18）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#42-%E8%BF%9B%E7%A8%8B%E5%88%87%E6%8D%A2&#34;&gt;中断、陷阱和系统调用&lt;/a&gt;（异常和&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#3%E4%B8%AD%E6%96%AD&#34;&gt;中断&lt;/a&gt;的区别？）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2.并发&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#12-%E4%BA%92%E6%96%A5%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%94%AF%E6%8C%81&#34;&gt;什么是条件变量？信号量？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#21-%E6%AD%BB%E9%94%81%E7%9A%84%E6%9D%A1%E4%BB%B6&#34;&gt;死锁条件&lt;/a&gt;，解决死锁的方法？（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#22-%E6%AD%BB%E9%94%81%E9%A2%84%E9%98%B2&#34;&gt;死锁预防&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#23-%E6%AD%BB%E9%94%81%E9%81%BF%E5%85%8D&#34;&gt;死锁避免&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#24-%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B&#34;&gt;死锁检测&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;3）互斥和同步？（互斥是对资源独占访问，同步是在互斥基础上通过其它机制实现对资源有序访问）&lt;/li&gt;
&lt;li&gt;4）互斥量和信号量的区别？（一个互斥一个同步、值的区别、加锁解锁的线程）&lt;/li&gt;
&lt;li&gt;5）自旋锁和互斥量的区别？（失败后的表现，一个忙等一个睡眠）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3.内存管理&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）分区（进程整个被载入内存中连续区域，&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#24-%E5%88%86%E5%8C%BA%E4%B8%AD%E7%9A%84%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2&#34;&gt;分区中的地址转换&lt;/a&gt;）
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#21-%E5%9B%BA%E5%AE%9A%E5%88%86%E5%8C%BA&#34;&gt;固定分区&lt;/a&gt;（分区大小相等、分区大小不等，内部碎片，活动进程数固定）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#22-%E5%8A%A8%E6%80%81%E5%88%86%E5%8C%BA&#34;&gt;动态分区&lt;/a&gt;（需要时才分区，外部碎片,&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#22-%E5%8A%A8%E6%80%81%E5%88%86%E5%8C%BA&#34;&gt;放置算法&lt;/a&gt;：最佳、首次、下次适配）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#23-%E4%BC%99%E4%BC%B4%E7%B3%BB%E7%BB%9F&#34;&gt;伙伴算法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#3%E5%88%86%E9%A1%B5&#34;&gt;分页&lt;/a&gt;（一个进程可以占据多个页，不要求连续，仅最后一页存在内部碎片；&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#31-%E5%88%86%E9%A1%B5%E4%B8%AD%E7%9A%84%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2&#34;&gt;分页中的地址转换&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#4%E5%88%86%E6%AE%B5&#34;&gt;分段&lt;/a&gt;（类似于动态分区，区别是进程可以占据多个不连续的区域，外部碎片，&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#41-%E5%88%86%E6%AE%B5%E4%B8%AD%E7%9A%84%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2&#34;&gt;分段中的地址转换&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#51-%E7%BC%93%E5%86%B2%E5%8C%BA%E6%BA%A2%E5%87%BA&#34;&gt;缓冲区溢出是什么？会造成什么危害呢？出现原因是什么？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6）分区、分页和分段都要求程序整个载入内存（分区要求连续，分页和分段不要求连续）&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#%E7%AC%AC%E4%B8%83%E7%AB%A0%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98&#34;&gt;虚拟内存&lt;/a&gt;（内存管理单元(MMU)：CPU中的一个模块，可以将虚拟地址转换成实际物理地址）
&lt;ul&gt;
&lt;li&gt;虚拟内存的作用？（程序可以比实际物理内存更大、程序不必完全载入内存即可运行，因此活动进程数更多、系统抖动？）&lt;/li&gt;
&lt;li&gt;基于&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#1-%E5%88%86%E9%A1%B5&#34;&gt;分页&lt;/a&gt;的实现（和不使用虚拟内存相比，页表中多了2个位，一位表示页是否修改，一位表示页是否在内存中、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#13-%E4%B8%A4%E7%BA%A7%E5%88%86%E9%A1%B5%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2&#34;&gt;两级分页系统&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#15-%E8%BD%AC%E6%8D%A2%E6%A3%80%E6%B5%8B%E7%BC%93%E5%86%B2%E5%8C%BAtlb&#34;&gt;TLB？&lt;/a&gt;（加速页表的访问）&lt;/li&gt;
&lt;li&gt;基于&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#2-%E5%88%86%E6%AE%B5&#34;&gt;分段&lt;/a&gt;的实现（和不使用虚拟内存相比，段表中多了2个位，一位表示段是否修改，一位表示段是否在内存中）&lt;/li&gt;
&lt;li&gt;内存保护（分段有助于内存保护，段表中段的长度描述了段的区域，公共代码可以作为一个段被相同程序的多个进程共享）&lt;/li&gt;
&lt;li&gt;基于&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#3-%E6%AE%B5%E9%A1%B5%E5%BC%8F&#34;&gt;段页式&lt;/a&gt;的实现
&lt;ul&gt;
&lt;li&gt;分段对程序员可见、分页对程序员透明&lt;/li&gt;
&lt;li&gt;分段有助于扩展性与内存保护、分页有助于消除外部碎片&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#43-%E7%BD%AE%E6%8D%A2%E7%AD%96%E7%95%A5&#34;&gt;页面置换方法详细介绍&lt;/a&gt;（OPT、LRU、FIFO、时钟）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#44-%E9%A9%BB%E7%95%99%E9%9B%86%E7%AE%A1%E7%90%86&#34;&gt;驻留集&lt;/a&gt;（分配给每个进程的内存大小）管理
&lt;ul&gt;
&lt;li&gt;驻留集越小，获得进程越多，缺页越高；驻留集越大，活动进程越小，太多时缺页率无明显变化&lt;/li&gt;
&lt;li&gt;分配策略与置换范围（固定分配、可变分配、局部置换、全局置换，不存在固定分配全局置换）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#45-%E6%B8%85%E9%99%A4%E7%AD%96%E7%95%A5&#34;&gt;清除（写回）策略&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4.I/O与磁盘调度&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#5%E7%9B%B4%E6%8E%A5%E5%86%85%E5%AD%98%E5%AD%98%E5%8F%96dma&#34;&gt;DMA？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#1io%E7%BC%93%E5%86%B2&#34;&gt;I/O缓冲？&lt;/a&gt;（输入请求发出之前执行输入，输出请求发出一段时间后才执行输出）&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#22-%E7%A3%81%E7%9B%98%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95&#34;&gt;磁盘调度算法&lt;/a&gt;（FIFO、优先级、SSTF、SCAN、C-SCAN、N-step-SCAN）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二.Linux&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1.进程线程&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#3c%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%B8%83%E5%B1%80&#34;&gt;C程序的存储空间布局&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;temp/%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B.md#1forkvforkclone&#34;&gt;fork vfork clone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;http://blog.jobbole.com/105135/&#34;&gt;Linux性能及调优指南：进程管理&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;http://blog.jobbole.com/98657/&#34;&gt;Linux守护进程启动方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;temp/%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B.md#1%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B&#34;&gt;如何实现守护进程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#11-main%E5%87%BD%E6%95%B0&#34;&gt;main函数启动之前&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#1%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8%E4%B8%8E%E7%BB%88%E6%AD%A2&#34;&gt;exit、_exit、_Exit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;temp/%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B.md#1%E7%BA%BF%E7%A8%8B%E6%95%B0%E9%87%8F%E7%9A%84%E9%99%90%E5%88%B6&#34;&gt;线程数量的限制&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;9）&lt;a href=&#34;temp/%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B.md#2%E8%BF%9B%E7%A8%8B%E6%95%B0%E9%87%8F%E7%9A%84%E9%99%90%E5%88%B6&#34;&gt;进程数量的限制&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10）&lt;a href=&#34;temp/%E4%BF%A1%E5%8F%B7.md#1%E4%BF%A1%E5%8F%B7&#34;&gt;信号&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11）线程终止的方法？
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#5pthread_exit%E5%87%BD%E6%95%B0&#34;&gt;pthread_exit&lt;/a&gt;（主线程调用了&lt;code&gt;pthread_exit&lt;/code&gt;对其它线程有什么影响？）&lt;/li&gt;
&lt;li&gt;线程执行的函数&lt;code&gt;return&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;被同一进程的其它线程调用&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#7pthread_cancel%E5%87%BD%E6%95%B0&#34;&gt;pthread_cancel取消线程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;进程main函数&lt;code&gt;return&lt;/code&gt;或任何线程调用了&lt;code&gt;exit&lt;/code&gt;、&lt;code&gt;_Exit&lt;/code&gt;、&lt;code&gt;exit&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;12）&lt;a href=&#34;temp/%E4%BF%A1%E5%8F%B7.md#2%E7%BA%BF%E7%A8%8B%E4%B8%8E%E4%BF%A1%E5%8F%B7&#34;&gt;线程与信号&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#12-%E4%BD%BF%E7%94%A8waitpid%E7%89%88sig_chld%E5%87%BD%E6%95%B0%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8Bsigchld%E4%BF%A1%E5%8F%B7&#34;&gt;正确使用waitpid处理终止的子进程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2.并发&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;http://blog.jobbole.com/109743/&#34;&gt;Linux上分析死锁的简单方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）进程间通信的主要方式（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#1%E7%AE%A1%E9%81%93&#34;&gt;管道&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#3fifo&#34;&gt;FIFO&lt;/a&gt;、信号、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#5%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97&#34;&gt;消息队列&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#7%E5%85%B1%E4%BA%AB%E5%AD%98%E5%82%A8&#34;&gt;共享内存&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#8posix%E4%BF%A1%E5%8F%B7%E9%87%8F&#34;&gt;信号量&lt;/a&gt;、套接字）&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#2%E7%BA%BF%E7%A8%8B%E5%90%8C%E6%AD%A5&#34;&gt;线程间同步的主要方式&lt;/a&gt;（互斥量、读写锁、条件变量、自旋锁、屏障）&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;http://blog.jobbole.com/91784/&#34;&gt;Linux内核同步机制&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3.文件系统&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#2%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B&#34;&gt;Linux中的文件类型&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）Linux有哪几种设备？（字符设备与块设备，&lt;a href=&#34;https://blog.csdn.net/lqp276/article/details/53502992&#34;&gt;mknod系统调用&lt;/a&gt;用来创建设备文件）&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#13%E8%AE%BE%E5%A4%87%E7%89%B9%E6%AE%8A%E6%96%87%E4%BB%B6&#34;&gt;如何唯一标识一个设备？&lt;/a&gt;（主设备号和次设备号）&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;https://blog.csdn.net/yetyongjin/article/details/7476860&#34;&gt;文件描述符的个数&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4.I/O&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）5种I/O模型（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#%E5%85%AB%E9%AB%98%E7%BA%A7io&#34;&gt;总览&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;temp/IO.md#2%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3%E9%98%BB%E5%A1%9E%E9%9D%9E%E9%98%BB%E5%A1%9E%E4%B8%8E%E5%90%8C%E6%AD%A5%E5%BC%82%E6%AD%A5%E7%9A%84%E5%8C%BA%E5%88%AB&#34;&gt;如何理解阻塞非阻塞与同步异步的区别？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）文件读写使用的系统调用：&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#21-%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6&#34;&gt;open&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#23-%E5%85%B3%E9%97%AD%E6%96%87%E4%BB%B6&#34;&gt;close&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#24-%E5%AE%9A%E4%BD%8D%E8%AF%BB%E5%86%99%E4%BD%8D%E7%BD%AE&#34;&gt;lseek&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#25-%E6%96%87%E4%BB%B6%E8%AF%BB&#34;&gt;read&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#26-%E6%96%87%E4%BB%B6%E5%86%99&#34;&gt;write&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#5%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5&#34;&gt;sync、fsync、fdatasync？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#6%E5%AD%98%E5%82%A8%E6%98%A0%E5%B0%84io&#34;&gt;文件内存映射mmap&lt;/a&gt;（如何使用mmap为文件添加数据？）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5.内存管理&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://www.ibm.com/developerworks/cn/linux/l-memmod/&#34;&gt;Linux内存模型&lt;/a&gt;（内核）&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;temp/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.md#1%E5%86%85%E6%A0%B8%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D&#34;&gt;内核内存分配vmalloc与kmalloc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;temp/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.md#%E4%BA%8C%E4%BC%99%E4%BC%B4%E7%B3%BB%E7%BB%9F&#34;&gt;Linux内核伙伴系统&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;temp/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.md#%E4%B8%89slab%E5%88%86%E9%85%8D%E5%99%A8&#34;&gt;slab分配器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;temp/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.md#1linux%E5%86%85%E6%A0%B8%E7%A9%BA%E9%97%B4%E4%B8%8E%E7%94%A8%E6%88%B7%E7%A9%BA%E9%97%B4%E6%98%AF%E5%A6%82%E4%BD%95%E5%88%92%E5%88%86%E7%9A%84&#34;&gt;Linux内核空间和用户空间是如何划分的？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6.其它&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;http://gityuan.com/2016/05/21/syscall/&#34;&gt;Linux系统调用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;temp/%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8.md#1linux%E9%80%9A%E8%BF%87%E4%BB%80%E4%B9%88%E6%96%B9%E5%BC%8F%E5%AE%9E%E7%8E%B0%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8&#34;&gt;Linux如何实现系统调用？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;temp/%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B.md#1linux%E4%B8%AD%E7%9A%84%E8%BD%AF%E4%B8%AD%E6%96%AD%E5%92%8C%E5%B7%A5%E4%BD%9C%E9%98%9F%E5%88%97%E7%9A%84%E4%BD%9C%E7%94%A8&#34;&gt;Linux中的软中断和工作队列的作用？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;http://blog.jobbole.com/107977/&#34;&gt;Linux系统中的动态库和静态库&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;http://blog.jobbole.com/107760/&#34;&gt;Linux Core Dump理解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;http://blog.jobbole.com/93132/&#34;&gt;Linux Shell管道命令与重定向命令的区别&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;http://www.cnblogs.com/li-hao/archive/2011/12/22/2297687.html&#34;&gt;ioctl函数理解&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
          
          
        
      </description>
    </item>
    
    <item>
      <title>数学智力题</title>
      <link>https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/</link>
      <pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/</guid>
      <description>
        
          
            &lt;blockquote&gt;
&lt;p&gt;内容源自《王道程序员求职宝典》&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一.数学基础&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;进制及其应用&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#1找出有毒的酒&#34;&gt;1.找出有毒的酒&lt;/a&gt; 🔥🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#2状态切换&#34;&gt;2.状态切换&lt;/a&gt; 🔥🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#3工人与金条&#34;&gt;3.工人与金条&lt;/a&gt; 🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#4确定灯泡的开关&#34;&gt;4.确定灯泡的开关&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#5最后剩下的数&#34;&gt;5.最后剩下的数&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;概率&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#1中奖的概率&#34;&gt;1.中奖的概率&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#2两个实数和大于1的概率&#34;&gt;2.两个实数和大于1的概率&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#3打开宝箱的概率&#34;&gt;3.打开宝箱的概率&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#4随机选取m个查询&#34;&gt;4.随机选取m个查询&lt;/a&gt; 🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#5使用rand5实现rand7&#34;&gt;5.使用rand5实现rand7&lt;/a&gt; 🔥&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;排列与组合&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#1矩阵中a到b的走法&#34;&gt;1.矩阵中A到B的走法&lt;/a&gt; 🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#2糖果的分法&#34;&gt;2.糖果的分法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算题&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#1容斥原理&#34;&gt;1.容斥原理&lt;/a&gt; 🔥&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二.智力题&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#1水果与标签&#34;&gt;1.水果与标签&lt;/a&gt; 🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#2假币与损失&#34;&gt;2.假币与损失&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#3黑白帽子&#34;&gt;3.黑白帽子&lt;/a&gt; 🔥🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#4囚犯猜帽子&#34;&gt;4.囚犯猜帽子&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#5重量不同的球&#34;&gt;5.重量不同的球&lt;/a&gt; 🔥🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#6淘汰赛比赛次数&#34;&gt;6.淘汰赛比赛次数&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#7猴子分桃&#34;&gt;7.猴子分桃&lt;/a&gt; 🔥&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#8说真话和说假话&#34;&gt;8.说真话和说假话&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#9说实话的老鼠&#34;&gt;9.说实话的老鼠&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/#10扔鸡蛋&#34;&gt;10.扔鸡蛋&lt;/a&gt; 🔥🔥&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;h1 id=&#34;一数学基础&#34;&gt;一.数学基础&lt;/h1&gt;
&lt;h2 id=&#34;1找出有毒的酒&#34;&gt;1.找出有毒的酒&lt;/h2&gt;
&lt;h3 id=&#34;1题目一&#34;&gt;1）题目一&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;
  &lt;picture&gt;

    
      
        
        
        
        
        
        
    &lt;img
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;
      alt=&#34;&#34;
      
        class=&#34;image_figure image_internal image_unprocessed&#34;
        src=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/images/math-10.png&#34;
      
      
    /&gt;

    &lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id=&#34;2题目二&#34;&gt;2）题目二&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;
  &lt;picture&gt;

    
      
        
        
        
        
        
        
    &lt;img
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;
      alt=&#34;&#34;
      
        class=&#34;image_figure image_internal image_unprocessed&#34;
        src=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/images/math-11.png&#34;
      
      
    /&gt;

    &lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id=&#34;3题目三&#34;&gt;3）题目三&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;
  &lt;picture&gt;

    
      
        
        
        
        
        
        
    &lt;img
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;
      alt=&#34;&#34;
      
        class=&#34;image_figure image_internal image_unprocessed&#34;
        src=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/images/math-12.png&#34;
      
      
    /&gt;

    &lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;h2 id=&#34;2状态切换&#34;&gt;2.状态切换&lt;/h2&gt;
&lt;h3 id=&#34;1题目一-1&#34;&gt;1）题目一&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;
  &lt;picture&gt;

    
      
        
        
        
        
        
        
    &lt;img
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;
      alt=&#34;&#34;
      
        class=&#34;image_figure image_internal image_unprocessed&#34;
        src=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/images/math-13.png&#34;
      
      
    /&gt;

    &lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id=&#34;2题目二-1&#34;&gt;2）题目二&lt;/h3&gt;
&lt;p&gt;&lt;figure&gt;
  &lt;picture&gt;

    
      
        
        
        
        
        
        
    &lt;img
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;
      alt=&#34;&#34;
      
        class=&#34;image_figure image_internal image_unprocessed&#34;
        src=&#34;https://gb.yeadoc.com/2026/05/24/%E6%95%B0%E5%AD%A6%E6%99%BA%E5%8A%9B%E9%A2%98/images/math-14.png&#34;
      
      
    /&gt;

    &lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;
          
          
        
      </description>
    </item>
    
    <item>
      <title>网络</title>
      <link>https://gb.yeadoc.com/2026/05/24/%E7%BD%91%E7%BB%9C/</link>
      <pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://gb.yeadoc.com/2026/05/24/%E7%BD%91%E7%BB%9C/</guid>
      <description>
        
          
            &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一.理论&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1.应用层&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）http协议与TCP联系？&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E4%B9%9Dhttp10-%E4%B8%8E-http11-%E7%9A%84%E5%8C%BA%E5%88%AB&#34;&gt;http/1.0和http/1.1的区别&lt;/a&gt;（非持久连接与持久连接、&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E8%8C%83%E5%9B%B4%E8%AF%B7%E6%B1%82&#34;&gt;范围请求(断点续传)&lt;/a&gt;、缓存处理、更多状态码）&lt;/li&gt;
&lt;li&gt;3）http1.1和&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E5%8D%81http20&#34;&gt;http2.0&lt;/a&gt;的区别？（&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%88%86%E5%B8%A7%E5%B1%82&#34;&gt;二进制分帧层&lt;/a&gt;、&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8E%A8%E9%80%81&#34;&gt;服务端推送&lt;/a&gt;、&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E9%A6%96%E9%83%A8%E5%8E%8B%E7%BC%A9&#34;&gt;首部压缩&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;4）http的&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#1http%E6%8A%A5%E6%96%87%E6%A0%BC%E5%BC%8F%E8%AF%B7%E6%B1%82%E6%8A%A5%E6%96%87&#34;&gt;请求方法&lt;/a&gt;有哪些？&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E5%85%ABget-%E5%92%8C-post-%E7%9A%84%E5%8C%BA%E5%88%AB&#34;&gt;GET和POST的区别&lt;/a&gt;（获取资源与传输数据、额外参数的位置、支持的编码）&lt;/li&gt;
&lt;li&gt;5）http的&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#2http%E6%8A%A5%E6%96%87%E6%A0%BC%E5%BC%8F%E5%93%8D%E5%BA%94%E6%8A%A5%E6%96%87&#34;&gt;状态码&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6）http和https的区别，由http升级为https需要做哪些操作？&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E5%85%ADhttps&#34;&gt;https&lt;/a&gt;的具体实现，怎么确保安全性？&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#cookie&#34;&gt;cookie&lt;/a&gt;和&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#7-session&#34;&gt;session&lt;/a&gt;的&lt;a href=&#34;https://www.zhihu.com/question/19786827&#34;&gt;区别&lt;/a&gt;？&lt;/li&gt;
&lt;li&gt;9）服务器攻击（DDos攻击）&lt;/li&gt;
&lt;li&gt;10）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#1-%E5%AF%B9%E7%A7%B0%E5%AF%86%E9%92%A5%E5%8A%A0%E5%AF%86&#34;&gt;对称加密&lt;/a&gt;和&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#2%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%AF%86%E9%92%A5%E5%8A%A0%E5%AF%86&#34;&gt;非对称加密&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#%E8%AE%A4%E8%AF%81&#34;&gt;数字证书的了解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;12）RSA加密算法，MD5原理（MD5不算加密算法）&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#web-%E9%A1%B5%E9%9D%A2%E8%AF%B7%E6%B1%82%E8%BF%87%E7%A8%8B&#34;&gt;在浏览器中输入URL后执行的全部过程&lt;/a&gt;（&lt;a href=&#34;../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#45-dhcp%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE%E5%8D%8F%E8%AE%AE&#34;&gt;DHCP&lt;/a&gt;获取主机和网关路由IP，&lt;a href=&#34;../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#32-arp%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE&#34;&gt;ARP&lt;/a&gt;解析网关路由MAC地址,&lt;a href=&#34;../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#2dns%E6%9F%A5%E8%AF%A2%E6%AD%A5%E9%AA%A4&#34;&gt;DNS&lt;/a&gt;解析域名，TCP连接，HTTP请求响应）&lt;/li&gt;
&lt;li&gt;14）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/HTTP.md#url&#34;&gt;URL&lt;/a&gt;包括哪些部分？（协议、服务器名称、文件路径、还可能带有参数）&lt;/li&gt;
&lt;li&gt;15）http&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#1http%E6%8A%A5%E6%96%87%E6%A0%BC%E5%BC%8F%E8%AF%B7%E6%B1%82%E6%8A%A5%E6%96%87&#34;&gt;请求&lt;/a&gt;/&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#2http%E6%8A%A5%E6%96%87%E6%A0%BC%E5%BC%8F%E5%93%8D%E5%BA%94%E6%8A%A5%E6%96%87&#34;&gt;响应报文&lt;/a&gt;构成&lt;/li&gt;
&lt;li&gt;16）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#34-dns%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F&#34;&gt;DNS？&lt;/a&gt;（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#2dns%E6%9F%A5%E8%AF%A2%E6%AD%A5%E9%AA%A4&#34;&gt;查询过程？&lt;/a&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#3dns%E8%AE%B0%E5%BD%95%E5%92%8C%E6%8A%A5%E6%96%87&#34;&gt;DNS记录？&lt;/a&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2.运输层&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）一个机器能够使用的端口号上限是多少，为什么？可以改变吗？那如果想要用的端口超过这个限制怎么办？&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#5tcp&#34;&gt;TCP&lt;/a&gt;和&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#3udp&#34;&gt;UDP&lt;/a&gt;的区别（什么时候用TCP，什么时候用UDP、首部？）&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#11-%E7%AB%AF%E5%8F%A3%E5%8F%B7&#34;&gt;TCP和UDP相关的协议与端口号&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#53-%E8%BF%9E%E6%8E%A5%E7%AE%A1%E7%90%86&#34;&gt;TCP为什么需要三次握手和四次挥手？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#53-%E8%BF%9E%E6%8E%A5%E7%AE%A1%E7%90%86&#34;&gt;TCP三次握手和四次挥手的状态转换？&lt;/a&gt;（SYN洪泛攻击？）&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#3%E6%AC%A1%E6%8F%A1%E6%89%8B&#34;&gt;如果第二次握手丢包怎么办？第三次呢？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;http://elf8848.iteye.com/blog/1739571&#34;&gt;TIME_WAIT状态时，可以接收到新的请求吗？意义、为什么要等待2MSL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8）TCP怎么保证可靠性（通过超时重传，应答保证数据不会丢失、通过校验和保证数据可靠，通过序号，ACK，滑动窗口保证数据顺序性和有效性，通过拥塞控制缓解网络压力，通过流量控制同步收发速率）？&lt;/li&gt;
&lt;li&gt;9）流量控制的介绍，采用滑动窗口会有什么问题（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#52-%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6&#34;&gt;死锁可能&lt;/a&gt;，&lt;a href=&#34;http://www.cnblogs.com/zhaoyl/archive/2012/09/20/2695799.html&#34;&gt;糊涂窗口综合征&lt;/a&gt;）？&lt;/li&gt;
&lt;li&gt;10）&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#tcp-%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3&#34;&gt;TCP滑动窗口协议&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11）拥塞控制和流量控制的区别（减轻网络传输数据的压力、减轻接收方接收数据的压力）&lt;/li&gt;
&lt;li&gt;12）TCP拥塞控制，算法名字？（&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#1-%E6%85%A2%E5%BC%80%E5%A7%8B%E4%B8%8E%E6%8B%A5%E5%A1%9E%E9%81%BF%E5%85%8D&#34;&gt;慢启动、拥塞避免&lt;/a&gt;、&lt;a href=&#34;https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#2-%E5%BF%AB%E9%87%8D%E4%BC%A0%E4%B8%8E%E5%BF%AB%E6%81%A2%E5%A4%8D&#34;&gt;快重传、快恢复&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#51-tcp%E6%8A%A5%E6%96%87%E6%AE%B5%E7%BB%93%E6%9E%84&#34;&gt;TCP&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#31-udp%E6%8A%A5%E6%96%87%E6%AE%B5%E7%BB%93%E6%9E%84&#34;&gt;UDP&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#42-%E6%95%B0%E6%8D%AE%E6%8A%A5%E6%A0%BC%E5%BC%8F&#34;&gt;IP&lt;/a&gt;等首部的认识&lt;/li&gt;
&lt;li&gt;14）超时重传机制（不太高频）&lt;/li&gt;
&lt;li&gt;15）&lt;a href=&#34;https://blog.csdn.net/bjrxyz/article/details/75194716&#34;&gt;TCP数据的正确性&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;16）&lt;a href=&#34;https://blog.csdn.net/bjrxyz/article/details/73351248&#34;&gt;TCP数据流的理解以及粘包&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;17）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#52-%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6&#34;&gt;客户端收到一个接收窗口为0的包？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3.网络层&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#31-%E5%85%A8%E5%B1%80%E9%80%89%E8%B7%AF%E7%AE%97%E6%B3%95ls%E7%AE%97%E6%B3%95&#34;&gt;路由协议所使用的算法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）对路由协议的了解，&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#31-%E5%85%A8%E5%B1%80%E9%80%89%E8%B7%AF%E7%AE%97%E6%B3%95ls%E7%AE%97%E6%B3%95&#34;&gt;内部网关协议IGP包括RIP，OSPF，和外部网关协议EGP和BGP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#43-ip%E6%95%B0%E6%8D%AE%E6%8A%A5%E5%88%86%E7%89%87&#34;&gt;网络层分片的原因与具体实现&lt;/a&gt;（标识、标志、比特片偏移，分片、重组）&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#47-icmp%E4%BA%92%E8%81%94%E7%BD%91%E6%8E%A7%E5%88%B6%E6%8A%A5%E6%96%87%E5%8D%8F%E8%AE%AE&#34;&gt;ICMP？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;5）介绍一下ping的过程，分别用到了哪些协议（ping 域名、ping ip、DNS,ARP,ICMP回显，ICMP回显应答）&lt;/li&gt;
&lt;li&gt;6）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#47-icmp%E4%BA%92%E8%81%94%E7%BD%91%E6%8E%A7%E5%88%B6%E6%8A%A5%E6%96%87%E5%8D%8F%E8%AE%AE&#34;&gt;TraceRoute实现原理&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#45-dhcp%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE%E5%8D%8F%E8%AE%AE&#34;&gt;DHCP？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#46-nat%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2&#34;&gt;NAT过程？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;9）一个ip配置多个域名，靠什么识别？&lt;/li&gt;
&lt;li&gt;10）&lt;a href=&#34;https://www.zhihu.com/question/22181709&#34;&gt;为什么选择在网络层分片&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4.链路层&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#22-%E5%A4%9A%E8%B7%AF%E8%AE%BF%E9%97%AE%E5%8D%8F%E8%AE%AE&#34;&gt;多路访问协议&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#31-mac%E5%9C%B0%E5%9D%80&#34;&gt;MAC地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#32-arp%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE&#34;&gt;ARP地址解析过程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;http://blog.perterpon.com/2017/09/12/why-MTU-equals-1500/&#34;&gt;为什么链路层有MTU？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5.其它&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）单条记录高并发访问的优化&lt;/li&gt;
&lt;li&gt;2）网卡工作在哪一层（既工作在物理层，也工作在链路层的MAC子层）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二.Linux&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#22-%E5%AD%97%E8%8A%82%E6%93%8D%E7%BA%B5%E5%87%BD%E6%95%B0&#34;&gt;bcopy和memcpy的区别？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#23-%E5%AD%97%E8%8A%82%E5%BA%8F&#34;&gt;字节序？&lt;/a&gt;（小端：低序字节存储在低地址；大端：低序字节存储在高地址）&lt;/li&gt;
&lt;li&gt;3）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#%E4%BA%8C%E5%9F%BA%E6%9C%ACtcp%E5%A5%97%E6%8E%A5%E5%AD%97%E7%BC%96%E7%A8%8B&#34;&gt;TCP通信的各个系统调用&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;连接建立：&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1socket%E5%87%BD%E6%95%B0&#34;&gt;socket&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#2connect%E5%87%BD%E6%95%B0&#34;&gt;connect&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#3bind%E5%87%BD%E6%95%B0&#34;&gt;bind&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#4listen%E5%87%BD%E6%95%B0&#34;&gt;listen&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#5accept%E5%87%BD%E6%95%B0&#34;&gt;accept&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#25-%E6%96%87%E4%BB%B6%E8%AF%BB&#34;&gt;read&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/UNIX%E7%8E%AF%E5%A2%83%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B.md#26-%E6%96%87%E4%BB%B6%E5%86%99&#34;&gt;write&lt;/a&gt;（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#2%E7%BC%93%E5%86%B2%E5%8C%BA&#34;&gt;发送缓冲区&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;连接关闭：&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#6close%E5%87%BD%E6%95%B0&#34;&gt;close&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#7shutdown%E5%87%BD%E6%95%B0&#34;&gt;shutdown&lt;/a&gt;（close与shutdown的区别？）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;4）&lt;a href=&#34;http://wanshi.iteye.com/blog/1256282&#34;&gt;Linux服务器最大TCP连接数？&lt;/a&gt;（&lt;a href=&#34;https://www.nowcoder.com/questionTerminal/997f45dddc9b4c8ea7da76288aa439d1?orderByHotValue=1&amp;pos=1&#34;&gt;一个端口能接受tcp连接数量的理论上限？&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;5）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#%E4%B9%9D%E9%9D%9E%E9%98%BB%E5%A1%9E%E5%BC%8Fio&#34;&gt;非阻塞connect？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;6）连接建立过程中每个SYN可以包含哪些TCP选项？（MSS选项(TCP_MAXSEG)、窗口规模选项）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1%E8%BF%9E%E6%8E%A5%E7%AE%A1%E7%90%86&#34;&gt;作用是什么？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;7）&lt;a href=&#34;http://www.chengweiyang.cn/2017/02/18/linux-connect-timeout/&#34;&gt;TCP连接建立过程中的超时&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;8）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#%E4%B8%89%E5%9F%BA%E6%9C%ACudp%E5%A5%97%E6%8E%A5%E5%AD%97%E7%BC%96%E7%A8%8B&#34;&gt;UDP通信的各个系统调用&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;socket、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recvfrom%E4%B8%8Esendto%E5%87%BD%E6%95%B0&#34;&gt;connect&lt;/a&gt;、bind、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recvfrom%E4%B8%8Esendto%E5%87%BD%E6%95%B0&#34;&gt;sendto&lt;/a&gt;（&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1%E7%BC%93%E5%86%B2%E5%8C%BA&#34;&gt;发送缓冲区&lt;/a&gt;）、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recvfrom%E4%B8%8Esendto%E5%87%BD%E6%95%B0&#34;&gt;recvfrom&lt;/a&gt;、close&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#%E4%B8%89%E5%9F%BA%E6%9C%ACudp%E5%A5%97%E6%8E%A5%E5%AD%97%E7%BC%96%E7%A8%8B&#34;&gt;连接UDP套接字与非连接UDP套接字的区别？性能？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;9）数据发送：write、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recv%E5%92%8Csend%E5%87%BD%E6%95%B0&#34;&gt;send&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recvfrom%E4%B8%8Esendto%E5%87%BD%E6%95%B0&#34;&gt;sendto&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#3recvmsg%E5%92%8Csendmsg%E5%87%BD%E6%95%B0&#34;&gt;sendmsg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;10）接收数据：read、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recv%E5%92%8Csend%E5%87%BD%E6%95%B0&#34;&gt;recv&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1recvfrom%E4%B8%8Esendto%E5%87%BD%E6%95%B0&#34;&gt;recvfrom&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#3recvmsg%E5%92%8Csendmsg%E5%87%BD%E6%95%B0&#34;&gt;recvmsg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11）&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#%E5%9B%9Bio%E5%A4%8D%E7%94%A8&#34;&gt;I/O复用&lt;/a&gt;：select、poll、epoll？
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#1select&#34;&gt;select&lt;/a&gt;：&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#12-select%E7%9A%84%E4%BC%98%E7%BC%BA%E7%82%B9&#34;&gt;优缺点&lt;/a&gt;、中描述符集中最大描述符的个数（由&lt;code&gt;FD_SETSIZE&lt;/code&gt;决定、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#12-select%E7%9A%84%E4%BC%98%E7%BC%BA%E7%82%B9&#34;&gt;怎么更改&lt;/a&gt;）？&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#11-%E6%8F%8F%E8%BF%B0%E7%AC%A6%E5%B0%B1%E7%BB%AA%E6%9D%A1%E4%BB%B6&#34;&gt;描述符就绪的条件&lt;/a&gt;？&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#3poll&#34;&gt;poll&lt;/a&gt;：&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#32-poll%E7%9A%84%E4%BC%98%E7%BC%BA%E7%82%B9&#34;&gt;优缺点&lt;/a&gt;？&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#31-%E4%BA%8B%E4%BB%B6&#34;&gt;事件&lt;/a&gt;？&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#4epoll&#34;&gt;epoll&lt;/a&gt;：&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#42-epoll%E7%9A%84%E4%BC%98%E7%BC%BA%E7%82%B9&#34;&gt;优缺点&lt;/a&gt;、&lt;a href=&#34;https://github.com/arkingc/note/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/UNIX%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%8D%B71.md#41-%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F&#34;&gt;工作模式&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;12）&lt;a href=&#34;http://blog.csdn.net/walkerkalr/article/details/37729323&#34;&gt;Linux高性能服务器编程——进程池和线程池&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;13）&lt;a href=&#34;http://www.blogjava.net/yongboy/archive/2013/04/11/397677.html&#34;&gt;100万并发连接服务器性能调优&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;14）&lt;a href=&#34;http://blog.oldboyedu.com/tcp-wait/&#34;&gt;TIME_WAIT和CLOSE_WAIT状态详解及性能调优&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;15）&lt;a href=&#34;https://pureage.info/2015/12/22/thundering-herd.html&#34;&gt;accept与epoll惊群&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;16）&lt;a href=&#34;temp/1%E4%BD%BF%E7%94%A8%E5%90%8C%E6%AD%A5io%E6%A8%A1%E5%9E%8B%E5%AE%9E%E7%8E%B0%E7%9A%84reactor%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B&#34;&gt;使用同步IO模型实现的Reactor模式的工作流程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
          
          
        
      </description>
    </item>
    
  </channel>
</rss>
