├── README.md ├── 文档 ├── C++从入门到精通.pdf ├── C++面向对象.pdf ├── c++个人笔记总结.pdf ├── c与c++面试必须会的问题.pdf ├── 常用简单算法与技巧-c++版.pdf ├── 数据结构与算法内容梳理.pdf ├── 数据结构和算法.pdf ├── 数据结构概述.pdf ├── 线性表.pdf └── 面向对象编程.pdf ├── 面经 ├── 字节跳动 data后台研发 面经.md ├── 字节跳动 data后端 面经.md ├── 字节跳动 直播中台后端研发 面经.md ├── 字节跳动广告后端面经.md ├── 字节跳动广告系统面经.md ├── 字节跳动的六次面试经历,终不过.md ├── 字节跳动系统工程师 data面经.md ├── 小米一二面O(已offer).md ├── 深信服C++二面-面经:40min(发面经许愿offer).md ├── 网易互娱游戏研发,一面、二面 + 些许感慨(已意向).md ├── 腾讯天美C++后台一面凉经.md ├── 金山云C++开发 一面二面面经 已意向.md ├── 面试复盘 | 百度 正式批 面试.md └── 面试复盘 | 竞技世界 提前批(已OC).md └── 项目实战 ├── C++实现五子棋项目 └── 1.txt └── 推箱子 ├── 1.txt └── Project2 ├── Debug ├── Project2.exe ├── Project2.ilk └── Project2.pdb ├── Project2.sln └── Project2 ├── Debug ├── Project2.exe.recipe ├── Project2.log ├── Project2.tlog │ ├── CL.command.1.tlog │ ├── CL.read.1.tlog │ ├── CL.write.1.tlog │ ├── Project2.lastbuildstate │ ├── link.command.1.tlog │ ├── link.read.1.tlog │ └── link.write.1.tlog ├── boxgame.obj ├── vc142.idb └── vc142.pdb ├── Project2.vcxproj ├── Project2.vcxproj.filters ├── Project2.vcxproj.user ├── boxgame.cpp └── images ├── BLANK.png ├── BOX.png ├── BOX_DEST.png ├── BackGround.png ├── DEST.png ├── Explain.png ├── PERSON.png └── WALL.png /README.md: -------------------------------------------------------------------------------- 1 | # 🐮 全网搜集C/C++入门练手项目实战,包含100+经典项目,大厂面经,学习视频,推荐书籍,面试题/算法题 2 |
3 | 4 |
5 | 6 | ![project](https://github.com/taylorconor/tinytetris/blob/master/animation.gif?raw=true) 7 | 8 |
9 | 10 |
11 | 12 | 本repo搜集全网适合C/C++新手学习的入门项目,整理收纳开发者开源的小项目、工具、框架、游戏等,帮助大家更好地学习c/c++。 13 | 14 | **所有数据来源于互联网。所谓取之于互联网,用之于互联网。** 15 | 16 | 如果涉及版权侵犯,请邮件至 wchao_isvip@163.com ,我们将第一时间处理。 17 | 18 | 如果您对我们的项目表示赞同与支持,欢迎您 [lssues](https://github.com/0voice/learning_mind_map/issues) 我们,或者邮件 wchao_isvip@163.com 我们,更加欢迎您 [pull requests](https://github.com/0voice/learning_mind_map/pulls) 加入我们。 19 | 20 | 感谢您的支持! 21 | 22 |

23 | 24 | 25 | 26 |

27 | 28 | #### 目录 29 | 30 | - [@ 100个一学就会的项目](https://github.com/0voice/introduce_c-cpp_manual#100%E4%B8%AA%E4%B8%80%E5%AD%A6%E5%B0%B1%E4%BC%9A%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%90%AB%E6%BA%90%E7%A0%81) 31 | - [@ 大厂面经](https://github.com/0voice/introduce_c-cpp_manual#-%E5%A4%A7%E5%8E%82%E9%9D%A2%E7%BB%8F) 32 | - [@ 书籍推荐](https://github.com/0voice/introduce_c-cpp_manual#-%E4%B9%A6%E7%B1%8D%E6%8E%A8%E8%8D%90) 33 | - [@ 学习文档](https://github.com/0voice/introduce_c-cpp_manual#-%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3) 34 | - [@ 开发工具](https://github.com/0voice/introduce_c-cpp_manual#-%E8%BD%AF%E4%BB%B6) 35 | - [@ 网站推荐](https://github.com/0voice/introduce_c-cpp_manual#-%E7%BD%91%E7%AB%99%E6%8E%A8%E8%8D%90) 36 | - [@ 刷一刷题](https://github.com/0voice/introduce_c-cpp_manual#-%E5%88%B7%E4%B8%80%E5%88%B7%E9%A2%98) 37 | - [@ 【视频】从C/C++项目实战到Linux服务器开发 ~ 22课时](https://github.com/0voice/introduce_c-cpp_manual#%E4%BB%8Ecc%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98%E5%88%B0linux%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BC%80%E5%8F%91--22%E8%AF%BE%E6%97%B6) 38 | 39 | 40 | ## 🏗 项目实战(排名不分先后) 41 | 42 |
43 | 44 | ### [100个一学就会的项目,含源码]() 45 | 46 | No.|project name|introduce 47 | :--------------: | :-------: | :-------: 48 | 1|[MyTinySTL](https://github.com/Alinshans/MyTinySTL)|基于 C++11 的 tinySTL,这是我的第一个项目,使用了中文文档与中文注释,有不规范或不当的地方还请海涵。刚开始是作为新手练习用途,直到现在已经发布了 2.x.x 版本。实现了大部分 STL 中的容器与函数. 49 | 2|[calculator](https://github.com/microsoft/calculator)|Windows计算器应用程序是一个用c++和c#编写的现代Windows应用程序,预装在Windows中。该应用程序提供标准、科学和编程计算器功能,以及各种计量单位和货币之间的一套转换器。 50 | 3|[FreeNOS](https://github.com/Neirth/FreeNOS) |FreeNOS (Free Niek's Operating System)是一个实验性的基于微内核的操作系统,用于学习,用c++编写。您可以根据GPLv3的条款随意使用该代码。 51 | 4|[musikcube](https://github.com/clangen/musikcube) |一个跨平台的,基于终端的音频引擎,库,播放器和服务器写在c++中。 52 | 5|[tmux](https://github.com/tmux/tmux) |Tmux是一种终端多路复用器:它允许在一个屏幕上创建、访问和控制多个终端。Tmux可以从屏幕上分离,在后台继续运行,然后重新连接。 53 | 6|[netdata](https://github.com/netdata/netdata) |Netdata的分布式实时监控代理从零配置的系统、硬件、容器和应用程序中收集数以千计的指标。它永久地运行在您所有的物理/虚拟服务器、容器、云部署和边缘/物联网设备上,并且在事故发生时安装在您的系统上是非常安全的,无需任何准备。 54 | 7|[How-to-Make-a-Computer-Operating-System](https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System)|如何用c++制作计算机操作系统 55 | 8|[TinyWebServer](https://github.com/qinguoyi/TinyWebServer)|Linux下C++轻量级Web服务器 56 | 9|[Serial-Studio](https://github.com/Serial-Studio/Serial-Studio)|多用途串行数据可视化处理程序 57 | 10|[winmerge](https://github.com/WinMerge/winmerge)|WinMerge 是适用于 Windows 的开源差异和合并工具。 WinMerge 可以比较文件夹和文件,以易于理解和处理的视觉文本格式呈现差异。 58 | 11|[WizQTClient](https://github.com/WizTeam/WizQTClient)|该项目基于Qt,旨在提供一个基于云使用的优秀PKM(个人知识管理)桌面环境。 59 | 12|[kingpin](https://github.com/GeniusDai/kingpin)|基于IO多路复用和线程池的高性能c++网络库 60 | 13|[TinyIM](https://github.com/DennisThink/TinyIM)|一个简单的IM客户端和服务器,只有命令行界面 61 | 14|[TeamTalk](https://github.com/balloonwj/TeamTalk)|TeamTalk是一款蘑菇街开源的企业内部即时通讯软件,目前支持pc、安卓、IOS、Mac和web多个终端,这是各个版本的代码和部署脚本。 62 | 15|[flamingo](https://github.com/balloonwj/flamingo)|Flamingo IM 是一款高性能、轻量级的开源即时通讯软件,目前包括服务器端、pc 端、安卓端,微信版本和 IOS 版本目前正在开发中。 63 | 16|[StopWatch](https://github.com/FJianC/StopWatch)|高精度计时器 64 | 17|[smart_ptr](https://github.com/shimachao/smart_ptr)|自己实现智能指针。个人觉得实现智能指针是绝好地练手方案,涉及到模板、对象的生命周期、三/五原则等等。 65 | 18|[mystl](https://github.com/senlinzhan/mystl)|My STL 实现了 C++11 标准库的部分容器以及算法,同时又对标准库进行扩充。 66 | 19|[Screenshot](https://github.com/wanttobeno/Screenshot)|仿QQ截图,C++实现的截图软件Demo 67 | 20|[ZLToolKit](https://github.com/ZLMediaKit/ZLToolKit)|一个基于C++11的轻量级网络框架,基于线程池技术可以实现大并发网络IO 68 | 21|[md5](https://github.com/talent518/md5)|C语言实现的MD5算法源码 69 | 22|[epoll](https://github.com/jwzh222/epoll)|基于epoll机制的高并发聊天室,c语言实现,代码源于网络仅供学习 70 | 23|[serialize](https://github.com/tangyibo/serialize)|实现的一个简易的 C++ 序列化库 71 | 24|[tinyserver](https://github.com/dxscjx123/tinyserver)|C++实现的简单http服务器(进程池+epoll) 72 | 25|[dpool](https://github.com/senlinzhan/dpool)|C++11 实现的动态线程池 73 | 26|[MysqlPool](https://github.com/primer9999/MysqlPool)|MySql数据库的连接池实现,多用户的数据库访问。能够很好的管理数据库的连接 74 | 27|[FlexibleReflection](https://github.com/preshing/FlexibleReflection)|一个使用c++ 11的小型、灵活的运行时反射系统的示例项目 75 | 28|[CPlusPlus-Playground](https://github.com/vladislav-karamfilov/CPlusPlus-Playground)|选举制度、注册系统、学生系统、OpenGL的项目 76 | 29|[Unreal-Engine-Fundamentals](https://github.com/jollymonsterstudio/Unreal-Engine-Fundamentals)|收集各种虚幻引擎c++基础的小项目 77 | 30|[mobile-snmp-plusplus](https://github.com/Zchander/mobile-snmp-plusplus) |Mobile SNMP++是一个iOS项目,你可以把它包含在你自己的项目中,这样你就可以执行一些SNMP命令。 78 | 31|[School-Management-System](https://github.com/cdeepanshu/School-Management-System)|学籍管理系统 79 | 32|[qReader](https://github.com/RownH/qReader) |C++和qml小说阅读器项目 80 | 33|[510850111/IM](https://github.com/510850111/IM)|C语言实现双端即时通讯软件 81 | 34|[XmlProject](https://github.com/puppym/XmlProject)|公交线路查询系统客户端:这是一个项目,C/S架构,服务端为C++,客户端为Qt,XML为小型数据库,主要是为了进行一些XML的操作| 82 | 35|[c_contacts](https://github.com/yorick-li/c_contacts)|C语言小项目——通讯录| 83 | 36|[SmartCar](https://github.com/qfxyx/SmartCar)| 智能车寻迹小车:2014年暑假做的一个项目,智能车寻迹小车,项目代码两个人完成,我负责图像采集、处理、中线提取、弯道判断等几个部分,项目C语言实现。 84 | 37|[ZYunfeii/QT](https://github.com/ZYunfeii/QT)|QT(C++)开发小众日记app项目 85 | 38|[management-system](https://github.com/ShouchengHe/management-system)|通讯录管理系统| 86 | 39|[Algorithm-Exercise](https://github.com/LDCS96/Algorithm-Exercise)| 难度中等的一个C++算法小项目 87 | 40|[small_project](https://github.com/Sugar0612/small_project/tree/main/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E5%B9%B3%E5%8F%B0)|算法设计平台 88 | 41|[Worker](https://github.com/deng1604/Worker)|职工工资信息管理系统 89 | 42|[Liunx-Timely-communication-project](https://github.com/YanMario/Liunx-Timely-communication-project)|在Linux下用C/C++语言开发的即时通讯项目,用了libevent、多线程、mysql等技术 90 | 43|[MyPoorWebServer](https://github.com/forthespada/MyPoorWebServer)|一款可运行的基于C++ 实现的HTTP服务器,基于《TCPIP网络编程》和《Linux高性能服务器编程》实现的服务器项目。 91 | 44|[network-dash](https://github.com/foshougua/network-dash)|模拟百度网盘实现的一个简单文件传输和下载的c/s模式的项目 92 | 45|[parse-gcode](https://github.com/liuwentao1992/parse-gcode)|新手C++入门项目: 解析G代码/三维轨迹仿真/机器人仿真/代码行1W+/面向对象风格/涵盖所有C++基础知识 93 | 46|[PrinterMonitorLib](https://github.com/CaoMengLong/PrinterMonitorLib)|这是监控打印机状态的C++ DLL项目,可以方便的查询到当前打印机正在打印的文件状态,可以用于监控文档是否打印成功,打印机是否缺纸,打印机是否异常等状态 94 | 47|[NeVehicleLicensePlateRecognition](https://github.com/tianyalu/NeVehicleLicensePlateRecognition)|车牌识别C++项目 95 | 48|[ZLToolKit](https://github.com/ZLMediaKit/ZLToolKit)|一个基于C++11的轻量级网络框架,基于线程池技术可以实现大并发网络IO 96 | 49|[librf](https://github.com/tearshark/librf)|基于C++ Coroutines编写的无栈协程库 97 | 50|[Qt-studentmanager](https://github.com/chenyongzhe/Qt-studentmanager)|C++ Qt 基于数据库Mysql学生信息管理系统 98 | 51|[timer](https://github.com/hidva/timer)|C++ 定时器, 基于 C++11, libuv 实现 99 | 52|[duck_db](https://github.com/enpeizhao/duck_db)|c/c++ build a simple b+tree RDMS(利用c/c++ 开发基于B+树的小型关系型数据库 ) 100 | 53|[eddyserver](https://github.com/zhangpanyi/eddyserver)|基于C++14和ASIO实现高并发TCP网络框架 101 | 54|[BooksManageSystem](https://github.com/sjaiwl/BooksManageSystem)|基于C++实现简易图书管理系统 102 | 55|[Miaoshuai/netlib](https://github.com/Miaoshuai/netlib)|一个自己封装的基于reactor的c++网络库 103 | 56|[iEternity/HttpClient](https://github.com/iEternity/HttpClient)|使用C++11风格,基于libcurl库封装的HTTP客户端。 104 | 57|[gatsbyd/melon](https://github.com/gatsbyd/melon)|基于协程和事件循环的c++网络库 105 | 58|[niliushall/webServer](https://github.com/niliushall/webServer)|基于C++使用 epoll + threadpool 实现的 webServer,支持GET、POST 106 | 59|[owenliang/task_schedule](https://github.com/owenliang/task_schedule)|(C++)基于图数据结构与拓扑序列的任务调度demo 107 | 60|[Easy-Reactor](https://github.com/LeechanX/Easy-Reactor)|Easy-Reactor是一个Linux C++高性能TCP服务框架,基于Reactor模式,支持单线程、多线程Reactor,也支持UDP服务 108 | 61|[CxxDBC](https://github.com/cxxjava/CxxDBC)|基于C++开发的异种数据库跨平台连接中间件. 109 | 62|[starjiang/lce](https://github.com/starjiang/lce)|linux网络编程框架(C++)基于Reactor事件机制,支持线程池,异步非阻塞,高并发,高性能 110 | 63|[CHATROOM_C](https://github.com/SequinYF/CHATROOM_C)|基于C语言聊天室,可进行文件传输 111 | 64|[StudentManagementSystem](https://github.com/fengyunkkx/StudentManagementSystem)|Student Management System | 一个基于 C++ 编写的学生成绩管理系统 112 | 65|[logcc](https://github.com/xiaodajiang/logcc)|基于log4cplus封装的简单易用的c++日志库。 113 | 66|[ScreenRecoder](https://github.com/imengyu/ScreenRecoder)|这是一个基于FFmpeg使用 C# 、C++ 开发的最简单的屏幕录制软件。 114 | 67|[weijunji/TCP-CPP](https://github.com/weijunji/TCP-CPP)|基于C++实现的用户态TCP协议 115 | 68|[mxway/ftp](https://github.com/mxway/ftp)|基于c++实现ftp客户端,服务端程序 116 | 69|[HighPerformanceConcurrentServer](https://github.com/CandyConfident/HighPerformanceConcurrentServer)|基于C++11、部分C++14/17特性的一个高性能并发httpserver,包括日志、线程池、内存池、定时器、网络io、http、数据库连接等模块。模块间低耦合高内聚,可作为整体也可单独提供服务。对各模块提供单元测试,对httpserver整体提供性能测试。 117 | 70|[Blocks233/Message](https://github.com/Blocks233/Message)|C++基于UDP的聊天软件 118 | 71|[]()| 119 | 120 | 121 | 122 |
123 | 124 |
125 | 126 |
127 | 128 | ### [经典游戏]() 129 | 130 | No.|project name|introduce 131 | :--------------: | :-------: | :-------: 132 | 1|[tinytetris](https://github.com/taylorconor/tinytetris)|重温同年俄罗斯方块 133 | 2|[GoBangByCpp](https://github.com/zz2summer/GoBangByCpp)|C++实现双人对战五子棋项目 134 | 3|[mazecode](https://github.com/Superone77/Cpp-basic-learning/tree/master/imooc_code/mazecode)|自动走迷宫:慕课网C++课程封装篇作业,自动走迷宫 135 | 4|[C-LanguageProjectCombat](https://github.com/newhappy3/C-LanguageProjectCombat/tree/master/%E4%BF%84%E7%BD%97%E6%96%AF%E6%96%B9%E5%9D%97)|俄罗斯方块:用C语言实现Win32程序,完成俄罗斯方块游戏程序 136 | 5|[C-LanguageProjectCombat](https://github.com/newhappy3/C-LanguageProjectCombat/tree/master/%E5%AD%A6%E7%94%9F%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F)|学生管理系统 137 | 6|[AirPlaneGame](https://github.com/Ayloss/AirPlaneGame)|cocos2dx做的微信<<飞机大战>>游戏. 138 | 7|[Tank3000](https://github.com/WuYufeng233/Tank3000)|坦克大战 139 | 8|[Big_fight](https://github.com/hw-sudo/Big_fight)|球球大作战 140 | 9|[Gobang](https://github.com/happysnaker/Gobang)|智能人机五子棋对战:一款AI五子棋项目,C++新手项目实践 — 智能人机五子棋对战。 141 | 10|[sanguosha](https://github.com/snkkka163/sanguosha)|此项目为三国杀游戏,模拟QQ注册,QQ登录,QQ加好友,QQ聊天,基于C#语言,SQL Server数据库开发, 游戏功能目前已经实现玩家VS人机,已支持英雄:刘备,曹操,孙权,支持穿着装备,武器,战马,杀死对方获得积分 142 | 11|[SimpleNES](https://github.com/amhndu/SimpleNES)|任天堂红白机模拟器:这是一个用c++编写的NES仿真器 143 | 12|[Snake-cpp](https://github.com/bystc/Snake-cpp)|用C++写的一个简易贪吃蛇 144 | 13|[MagicTower](https://github.com/seavers/MagicTower)|魔塔:当年很火的一个flash游戏,作者当时正在学习C++(VC++6.0),故移植了过去,纯学习练手 145 | 14|[DiningSystem](https://github.com/lvyahui8/DiningSystem)|点餐系统 146 | 15|[Plants-vs.-Zombies-Online-Battle](https://github.com/Zhuagenborn/Plants-vs.-Zombies-Online-Battle)|植物大战僵尸多人对战,开发通过反向工程,内嵌钩子和动态链接库注入。两个在线玩家分别作为植物和僵尸进行防御和攻击。 147 | 16|[PictureMatching](https://github.com/TheThreeDog/PictureMatching)|Qt C++实现的王者荣耀风格的连连看程序(基于TD-framwork实现) 148 | 17|[ST_PUZZLE_2.0](https://github.com/I-m-Eden/ST_PUZZLE_2.0) |ST-PUZZLE 149 | 18|[mines_sweeper](https://github.com/xiaoxi666/mines_sweeper)|开源项目:扫雷(Qt开发) 150 | 19|[2048.cpp](https://github.com/plibither8/2048.cpp)|功能齐全的终端版游戏《2048》用c++编写 151 | 20|[Ancient-Spider](https://github.com/jie65535/Ancient-Spider)|蜘蛛纸牌游戏 152 | 21|[Qt_FreeCell](https://github.com/SeanLiaoy/Qt_FreeCell) |Qt_FreeCell(纸牌游戏空当接龙C++/Qt实现)Topics 153 | 22|[CppFishingCode](https://github.com/yinhui1129754/CppFishingCode)|纯C++ 捕鱼游戏 154 | 23|[Rhythm](https://github.com/ZeroYang/Rhythm) |用Cocos2d-x开发跨平台游戏,高仿《节奏大师》游戏 155 | 24|[mirror](https://github.com/simon0xia/mirror)| 传奇挂机类游戏| 156 | 25|[3d-racing-games-demo](https://github.com/ceynri/3d-racing-games-demo)|使用 C++ 和 OpenGL 实现简单的 3D 赛车游戏| 157 | 26|[Contra](https://github.com/philhuan/Contra)|使用图形库easyx写的c++魂斗罗游戏 158 | 27|[Maze](https://github.com/UNLOSTER/Maze)|基于C++-EasyX编写的益智小游戏-迷宫 159 | 28|[shushabgyuanyue/c](https://github.com/shushabgyuanyue/c)|N个小游戏项目(适合初学者) 160 | 29|[game_2048](https://github.com/VectorWWW/game_2048)|在实验楼学习的C语言项目,2048小游戏。 161 | 30|[JumpByJump](https://github.com/hubojing/JumpByJump)|C++版微信跳一跳小游戏辅助程序 162 | 31|[ChineseChesses](https://github.com/FlyAndNotDown/ChineseChesses)|双人象棋小游戏 - C++ - Windows GDI 163 | 32|[Word-Games](https://github.com/Wenretium/Word-Games)|C++实现带GUI背单词小游戏 164 | 33|[NumberGuess](https://github.com/LargeRaindrop/NumberGuess)|基于C++的猜数字小游戏 165 | 34|[Puzzle](https://github.com/dengguangshi/Puzzle)|C/C++拼图小游戏 166 | 35|[loliRun](https://github.com/zhangyugege/loliRun)|萝莉酷跑小游戏 167 | 36|[Study-of-C-](https://github.com/Burgbug/Study-of-C-)|学堂在线C++ of Linux 的小项目,使用随机数库编写的简单控制台游戏(猜数游戏) 168 | 37|[jijinlong/colors](https://github.com/jijinlong/colors)|一款实用Lua+C++ 的消除类小游戏 169 | 38|[Cgames](https://github.com/yh1094632455/Cgames)|c语言经典200多个有趣的程序和游戏 170 | 39|[Shoot-The-Chicken-3D](https://github.com/CHINA-JIGE/Shoot-The-Chicken-3D)|基于c++控制台的3D第一人称射击(FPS)游戏,项目包含软件渲染器、游戏引擎层、游戏逻辑层 171 | 40|[bounce-ball](https://github.com/muxiaozi/bounce-ball)|弹弹乐-C语言控制台游戏 172 | 41|[shining-yang/DDZ](https://github.com/shining-yang/DDZ)|DDZ(斗地主)- Win32 C/C++编写的斗地主游戏程序 173 | 42|[sudoku](https://github.com/mayerui/sudoku)|C++实现的跨平台数独游戏,命令行操作易上手,可以在开发间隙用来放松身心。数百行代码,初学者也可以轻松掌握。 174 | 43|[2019-2020-tjse-sour-knight](https://github.com/lightmountainwolf/2019-2020-tjse-sour-knight)|2019-2020 同济软工大项目 c++游戏 175 | 44|[LianZhu](https://github.com/seashell752/LianZhu)|海底连珠,基于Cocos2d-x-3.3游戏引擎,C++版本的一个五子连珠消除类游戏,可以学习基本的Cocos2d-x游戏开发,用到A*(A star)寻路算法,消除算法。 176 | 45|[historyme/fmj_cpp](https://github.com/historyme/fmj_cpp)|步步高伏魔记游戏 c++版本 177 | 46|[SimpleNES](https://github.com/amhndu/SimpleNES)|一个用 C++ 编写的 NES 模拟器,只是为了好玩。超级马里奥兄弟。反对派、冒险岛、忍者外传、营救小组、洛克人和洛克人 2、马里欧兄弟。、大金刚和小金刚、战城、报童、塞尔达传说、吃豆子、网球、励志单车 178 | 47|[CPP-DrawGuess](https://github.com/hanmin0822/CPP-DrawGuess)|一个C++编写的,使用C/S架构的、实时、可选房间、多人同房的你画我猜游戏 179 | 48|[CoinFlap](https://github.com/HAO1171965789/CoinFlap)|C++金币翻转游戏 180 | 49|[richman](https://github.com/czl0325/richman)|c++写的大富翁游戏,适合入门初学者。 181 | 50|[CubeMiniGame](https://github.com/tangziwen/CubeMiniGame)|Cube Engine是一个用c++编写的小型图形引擎,由OpenGL和Vulkan提供支持,我开发它是为了提高我的CG知识和通用编程技能(通用算法,代码风格,设计模式)。 182 | 51|[ArenaofValor](https://github.com/Xuedixuedi/ArenaofValor)|同济大学软件学院18级C++大项目——王者荣耀 183 | 184 |
185 | 186 | ## 🏇 大厂面经 187 | 188 | - [字节跳动 data后台研发 面经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%20data%E5%90%8E%E5%8F%B0%E7%A0%94%E5%8F%91%20%E9%9D%A2%E7%BB%8F.md) 189 | - [字节跳动 data后端 面经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%20data%E5%90%8E%E7%AB%AF%20%E9%9D%A2%E7%BB%8F.md) 190 | - [字节跳动 直播中台后端研发 面经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%20data%E5%90%8E%E7%AB%AF%20%E9%9D%A2%E7%BB%8F.md) 191 | - [字节跳动广告后端面经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E5%B9%BF%E5%91%8A%E5%90%8E%E7%AB%AF%E9%9D%A2%E7%BB%8F.md) 192 | - [字节跳动广告系统面经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E5%B9%BF%E5%91%8A%E7%B3%BB%E7%BB%9F%E9%9D%A2%E7%BB%8F.md) 193 | - [字节跳动的六次面试经历,终不过](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E7%9A%84%E5%85%AD%E6%AC%A1%E9%9D%A2%E8%AF%95%E7%BB%8F%E5%8E%86%EF%BC%8C%E7%BB%88%E4%B8%8D%E8%BF%87.md) 194 | - [字节跳动系统工程师 data面经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8B%E5%B8%88%20data%E9%9D%A2%E7%BB%8F.md) 195 | - [小米一二面(已offer)](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E5%B0%8F%E7%B1%B3%E4%B8%80%E4%BA%8C%E9%9D%A2O%EF%BC%88%E5%B7%B2offer%EF%BC%89.md) 196 | - [网易互娱游戏研发,一面、二面 + 些许感慨(已意向)](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E7%BD%91%E6%98%93%E4%BA%92%E5%A8%B1%E6%B8%B8%E6%88%8F%E7%A0%94%E5%8F%91%EF%BC%8C%E4%B8%80%E9%9D%A2%E3%80%81%E4%BA%8C%E9%9D%A2%20%2B%20%E4%BA%9B%E8%AE%B8%E6%84%9F%E6%85%A8%EF%BC%88%E5%B7%B2%E6%84%8F%E5%90%91%EF%BC%89.md) 197 | - [腾讯天美C++后台一面凉经](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E8%85%BE%E8%AE%AF%E5%A4%A9%E7%BE%8EC%2B%2B%E5%90%8E%E5%8F%B0%E4%B8%80%E9%9D%A2%E5%87%89%E7%BB%8F.md) 198 | - [金山云C++开发 一面二面面经 已意向](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E9%87%91%E5%B1%B1%E4%BA%91C%2B%2B%E5%BC%80%E5%8F%91%20%E4%B8%80%E9%9D%A2%E4%BA%8C%E9%9D%A2%E9%9D%A2%E7%BB%8F%20%E5%B7%B2%E6%84%8F%E5%90%91.md) 199 | - [百度 正式批 面试](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E9%9D%A2%E8%AF%95%E5%A4%8D%E7%9B%98%20%7C%20%E7%99%BE%E5%BA%A6%20%E6%AD%A3%E5%BC%8F%E6%89%B9%20%E9%9D%A2%E8%AF%95.md) 200 | - [竞技世界 提前批(已OC)](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E9%9D%A2%E8%AF%95%E5%A4%8D%E7%9B%98%20%7C%20%E7%AB%9E%E6%8A%80%E4%B8%96%E7%95%8C%20%E6%8F%90%E5%89%8D%E6%89%B9(%E5%B7%B2OC).md) 201 | - [深信服C++二面-面经:40min(发面经许愿offer)](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E9%9D%A2%E7%BB%8F/%E6%B7%B1%E4%BF%A1%E6%9C%8DC%2B%2B%E4%BA%8C%E9%9D%A2-%E9%9D%A2%E7%BB%8F%EF%BC%9A40min(%E5%8F%91%E9%9D%A2%E7%BB%8F%E8%AE%B8%E6%84%BFoffer).md) 202 | 203 | 204 | 205 | ## 🗂 经典资料推荐 206 | ### 📚 书籍推荐 207 | 208 | * [《深入理解C++11:C++11新特性解析与应用》](https://www.aliyundrive.com/s/LKc1X2mL9G9) 209 | * [《C++入门经典(第10版)》](https://book.douban.com/subject/30247747/) 210 | * [《C++ Primer Plus 第6版 中文版(异步图书出品)》](https://www.epubit.com/bookDetails?id=UB7209840d845c9) 211 | * [《清华计算机图书译丛:精通C++(第9版)》](https://item.jd.com/12432130.html) 212 | * [《C++高级编程(第4版)》](http://www.tup.tsinghua.edu.cn/booksCenter/book_07894801.html) 213 | * [《C++游戏编程入门(第4版)(异步图书出品)》](https://item.jd.com/13265350.html) 214 | * [《STL源码剖析》](https://book.douban.com/subject/1110934/) 215 | * [《C++程序设计:原理与实践(基础篇)(原书第2版)》](https://book.douban.com/subject/27023080/) 216 | * [《Accelerated C++中文版》](https://book.douban.com/subject/2280545//) 217 | * [《C++编程思想(两卷合订本)》](https://book.douban.com/subject/6558198/) 218 | * [《中文版Effective STL:50条有效使用STL的经验》](https://book.douban.com/subject/1792179/) 219 | * [《C++编程剖析:问题、方案和设计准则》](https://book.douban.com/subject/5367371/) 220 | * [《C++ Templates中文版》](https://book.douban.com/subject/1144020/) 221 | * [《C++设计新思维》](https://book.douban.com/subject/1103566/) 222 | * [《C++模板元编程》](https://book.douban.com/subject/4136223/) 223 | * [《C++并发编程实战》](https://book.douban.com/subject/26386925/) 224 | * [《C++程序设计语言(第1-3部分)(原书第4版)》](https://book.douban.com/subject/26857943/) 225 | * [《C++标准库(第2版)》](https://book.douban.com/subject/26419721/) 226 | * [《Essential C++》](https://book.douban.com/subject/24868427/) 227 | * [《C++ 语言的设计与演化》](https://book.douban.com/subject/1096216/) 228 | * [《深度探索C++ 对象模型》](https://book.douban.com/subject/1091086/) 229 | * [《泛型编程与STL》](https://book.douban.com/subject/1241423/) 230 | 231 | ### 📁 学习文档 232 | 233 | * [C++ 学习笔记](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.md) 234 | 235 | * [C++从入门到精通](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/C%2B%2B%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A.pdf) 236 | 237 | * [C++面向对象](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/C%2B%2B%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1.pdf) 238 | 239 | * [数据结构和算法](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95.pdf) 240 | 241 | * [数据结构与算法内容梳理](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95%E5%86%85%E5%AE%B9%E6%A2%B3%E7%90%86.pdf) 242 | 243 | * [数据结构概述](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E6%A6%82%E8%BF%B0.pdf) 244 | 245 | * [线性表](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/%E7%BA%BF%E6%80%A7%E8%A1%A8.pdf) 246 | 247 | * [面向对象编程](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B.pdf) 248 | 249 | * [c/c++面试必须会的问题](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/c%E4%B8%8Ec%2B%2B%E9%9D%A2%E8%AF%95%E5%BF%85%E9%A1%BB%E4%BC%9A%E7%9A%84%E9%97%AE%E9%A2%98.pdf) 250 | 251 | * [常用简单算法与技巧-c++版](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/%E5%B8%B8%E7%94%A8%E7%AE%80%E5%8D%95%E7%AE%97%E6%B3%95%E4%B8%8E%E6%8A%80%E5%B7%A7-c%2B%2B%E7%89%88.pdf) 252 | 253 | * [c++个人笔记总结](https://github.com/0voice/introduce_c-cpp_manual/blob/main/%E6%96%87%E6%A1%A3/c%2B%2B%E4%B8%AA%E4%BA%BA%E7%AC%94%E8%AE%B0%E6%80%BB%E7%BB%93.pdf) 254 | 255 | 256 | ### 📀 视频 257 | 258 | #### 从C/C++项目实战到Linux服务器开发 ~ 22课时 259 | 260 | * [2小时掌握《互联网聊天室系统架构》](https://www.bilibili.com/video/BV1xg411P7aL/) 261 | 262 | * [C/C++打造逆向工具《端口扫描神器》](https://www.bilibili.com/video/BV1xg411P7aL?p=2) 263 | 264 | * [IOCP高性能服务器之《客户端压力测试系统》](https://www.bilibili.com/video/BV1xg411P7aL?p=3) 265 | 266 | * [C/C++打造简易《TCP服务器端》程序](https://www.bilibili.com/video/BV1xg411P7aL?p=4) 267 | 268 | * [2小时剖析C.C++编程精华《指针详解》](https://www.bilibili.com/video/BV1xg411P7aL?p=5) 269 | 270 | * [面试官必考的《算法设计之链表》](https://www.bilibili.com/video/BV1xg411P7aL?p=6) 271 | 272 | * [腾讯QQ之《文件极速传输工具》](https://www.bilibili.com/video/BV1xg411P7aL?p=7) 273 | 274 | * [C/C++《服务器设计模型》](https://www.bilibili.com/video/BV1xg411P7aL?p=8) 275 | 276 | * [C/C++开发《系统浏览文件工具》](https://www.bilibili.com/video/BV1xg411P7aL?p=9) 277 | 278 | * [C/C++开发《太空大战游戏》](https://www.bilibili.com/video/BV1xg411P7aL?p=10) 279 | 280 | * [手把手写《愤怒的小鸟弹球》游戏](https://www.bilibili.com/video/BV1xg411P7aL?p=11) 281 | 282 | * [Windows编程开发必学高级控件](https://www.bilibili.com/video/BV1xg411P7aL?p=12) 283 | 284 | * [C/C++开发经典版《俄罗斯方块游戏》](https://www.bilibili.com/video/BV1xg411P7aL?p=13) 285 | 286 | * [Linux高性能服务器程序架构(上)](https://www.bilibili.com/video/BV1xg411P7aL?p=14) 287 | 288 | * [Linux高性能服务器程序架构(下)](https://www.bilibili.com/video/BV1xg411P7aL?p=15) 289 | 290 | * [数据信息转发服务器程序](https://www.bilibili.com/video/BV1xg411P7aL?p=16) 291 | 292 | * [秒杀电脑系统核心参数(内存与CPU)](https://www.bilibili.com/video/BV1xg411P7aL?p=17) 293 | 294 | * [系统《任务管理器》监控工具](https://www.bilibili.com/video/BV1xg411P7aL?p=18) 295 | 296 | * [计算机系统《硬盘监控软件》](https://www.bilibili.com/video/BV1xg411P7aL?p=19) 297 | 298 | * [小白学懂会用《多线程编程》秘籍](https://www.bilibili.com/video/BV1xg411P7aL?p=20) 299 | 300 | * [CC++开发《用户与密码验证系统》](https://www.bilibili.com/video/BV1xg411P7aL?p=21) 301 | 302 | * [服务器开发入门必学核心知识](https://www.bilibili.com/video/BV1xg411P7aL?p=22) 303 | 304 | ### 🍳 软件 305 | 306 | #### 编译器 307 | 308 | C/C++编译器列表 309 | 310 | - [Clang](http://clang.llvm.org/) :由苹果公司开发的 311 | - [GCC](https://gcc.gnu.org/):GNU编译器集合 312 | - [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) :由英特尔公司开发 313 | - [LLVM](http://llvm.org/) :模块化和可重用编译器和工具链技术的集合 314 | - [Microsoft Visual C++](http://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) :MSVC,由微软公司开发 315 | - [Open WatCom](http://www.openwatcom.org/index.php/Main_Page) :Watcom,C,C++和Fortran交叉编译器和工具 316 | - [TCC](http://bellard.org/tcc/) :轻量级的C语言编译器 317 | 318 | #### 在线编译器 319 | 320 | 在线C/C++编译器列表 321 | 322 | - [codepad](http://codepad.org/) :在线编译器/解释器,一个简单的协作工具 323 | - [CodeTwist](http://codetwist.com/):一个简单的在线编译器/解释器,你可以粘贴的C,C++或者Java代码,在线执行并查看结果 324 | - [coliru](http://coliru.stacked-crooked.com/) :在线编译器/shell, 支持各种C++编译器 325 | - [Compiler Explorer](http://gcc.godbolt.org/):交互式编译器,可以进行汇编输出 326 | - [CompileOnline](http://www.compileonline.com/compile_cpp11_online.php):Linux上在线编译和执行C++程序 327 | - [Ideone](http://ideone.com/) :一个在线编译器和调试工具,允许你在线编译源代码并执行,支持60多种编程语言。 328 | 329 | #### 调试器 330 | 331 | C/C++调试器列表 332 | 333 | - [Comparison of debuggers](http://en.wikipedia.org/wiki/Comparison_of_debuggers) :来自维基百科的调试器列表 334 | - [GDB](https://www.gnu.org/software/gdb) :GNU调试器 335 | - [Valgrind](http://valgrind.org/):内存调试,内存泄露检测,性能分析工具。 336 | 337 | #### 集成开发环境(IDE) 338 | 339 | C/C++集成开发环境列表 340 | 341 | - [AppCode](http://www.jetbrains.com/objc/) :构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开发的集成开发环境 342 | - [CLion](http://www.jetbrains.com/clion/):来自JetBrains的跨平台的C/C++的集成开发环境 343 | - [Code::Blocks](http://www.codeblocks.org/) :免费C,C++和Fortran的集成开发环境 344 | - [CodeLite](http://codelite.org/) :另一个跨平台的免费的C/C++集成开发环境 345 | - [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/):可移植的C/C++/C++11集成开发环境 346 | - [Eclipse CDT](http://www.eclipse.org/cdt/):基于Eclipse平台的功能齐全的C和C++集成开发环境 347 | - [Geany](http://www.geany.org/) :轻量级的快速,跨平台的集成开发环境。 348 | - [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) :来自IBM的家庭计算机集成开发环境。 349 | - [Irony-mode](https://github.com/Sarcasm/irony-mode):由libclang驱动的用于Emacs的C/C++微模式 350 | - [KDevelop](https://www.kdevelop.org/):免费开源集成开发环境 351 | - [Microsoft Visual Studio](http://www.visualstudio.com/) :来自微软的集成开发环境 352 | - [NetBeans](https://netbeans.org/) :主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。 353 | - [Qt Creator](http://qt-project.org/):跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。 354 | - [rtags](https://github.com/Andersbakken/rtags):C/C++的客户端服务器索引,用于 跟基于clang的emacs的集成 355 | - [Xcode](https://developer.apple.com/xcode/) :由苹果公司开发 356 | - [YouCompleteMe](https://valloric.github.io/YouCompleteMe/):一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎。 357 | 358 | #### 构建系统 359 | 360 | - [Bear](https://github.com/rizsotto/Bear) :用于为clang工具生成编译数据库的工具 361 | - [Biicode](https://www.biicode.com/):基于文件的简单依赖管理器。 362 | - [CMake](http://www.cmake.org/) :跨平台的免费开源软件用于管理软件使用独立编译的方法进行构建的过程。 363 | - [CPM](https://github.com/iauns/cpm):基于CMake和Git的C++包管理器 364 | - [FASTBuild](http://www.fastbuild.org/docs/home.html):高性能,开源的构建系统,支持高度可扩展性的编译,缓冲和网络分布。 365 | - [Ninja](http://martine.github.io/ninja/) :专注于速度的小型构建系统 366 | - [Scons](http://www.scons.org/) :使用Python scipt 配置的软件构建工具 367 | - [tundra](https://github.com/deplinenoise/tundra) :高性能的代码构建系统,甚至对于非常大型的软件项目,也能提供最好的增量构建次数。 368 | - [tup](http://gittup.org/tup/):基于文件的构建系统,用于后台监控变化的文件。 369 | 370 | #### 静态代码分析 371 | 372 | 提高质量,减少瑕疵的代码分析工具列表 373 | 374 | - [Cppcheck](http://cppcheck.sourceforge.net/) :静态C/C++代码分析工具 375 | - [include-what-you-use](https://code.google.com/p/include-what-you-use/) :使用clang进行代码分析的工具,可以#include在C和C++文件中。 376 | - [OCLint](http://oclint.org/) :用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。 377 | - [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html):查找C,C++和Objective-C程序bug的源代码分析工具 378 | - [List of tools for static code analysis](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) :来自维基百科的静态代码分析工具列表 379 | 380 | 381 | ### 🌐 网站推荐 382 | 383 | * [C++ Standard Library](http://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - 一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分 384 | * [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - 标准模板库 385 | * [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) - POSIX系统的C标准库规范 386 | * [ISO C++ Standards Committee](https://github.com/cplusplus) - C++标准委员会 387 | * [C++ FAQ](https://isocpp.org/faq) − C++ 常见问题 388 | * [Free Country](https://www.thefreecountry.com/sourcecode/cpp.shtml?spm=5176.10731542.0.0.4fc35bde2jHhz4) − Free Country 提供了免费的 C++ 源代码和 C++ 库,这些源代码和库涵盖了压缩、存档、游戏编程、标准模板库和 GUI 编程等 C++ 编程领域。 389 | * [C and C++ Users Group](http://www.hal9k.com/cug/?spm=5176.10731542.0.0.4fc35bde2jHhz4) − C 和 C++ 的用户团体提供了免费的涵盖各种编程领域 C++ 项目的源代码,包括 AI、动画、编译器、数据库、调试、加密、游戏、图形、GUI、语言工具、系统编程等 390 | * [LearnCpp](https://www.learncpp.com/) - 免费学习c++编程 391 | * [CodeCogs](https://www.codecogs.com/) - CodeCogs是一项协作的开放源码库,C/C++的数值方面的组件 392 | * [codeproject](https://www.codeproject.com/) - codeproject提供的C/C++资源代码项目 393 | * [thoughtco](https://www.thoughtco.com/c-and-c-plus-programming-4133470) - 游戏有关的C++源代码 394 | * [Free C/C++ Libraries](https://www.programmerworld.net/resources/c_library.htm) - 免费C++源代码和其它有用的工具 395 | * [The C++ Standard Library](http://www.josuttis.com/libbook/examples.html) - 这是一个收集了数C/C++网站链接列表的网页 396 | * [cplusplus](http://www.cplusplus.com/) - C++学习网站 397 | * [C++ Source Codes](https://people.sc.fsu.edu/~jburkardt/cpp_src/cpp_src.html) - 这是一个全面的关于C++的345个源代码清单 398 | 399 | ### 🖌 刷一刷题 400 | 401 |

:trophy: ACM

402 | 403 | ##### [1、zoj 3235 Prototype(原型)](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203235%20Prototype.md) 404 | ##### [2、zoj 3770 Ranking System(先后次序排列方法)](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203770%20Ranking%20System.md) 405 | ##### [3、zoj 2814 Surprising Strings(令人惊讶的字符串)](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%202814%20Surprising%20Strings.md) 406 | ##### [4、poj 2817 WordStack](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202817%20WordStack.md) 407 | ##### [5、poj 3910 GCD Determinant](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203910%20GCD%20Determinant.md) 408 | ##### [6、poj 2452 Sticks Problem](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202452%20Sticks%20Problem.md) 409 | ##### [7、poj 3071 Football](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203071%20Football.md) 410 | ##### [8、poj 1664 放苹果](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201664%20%E6%94%BE%E8%8B%B9%E6%9E%9C.md) 411 | ##### [9、poj 3752 字母旋转游戏](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203752%20%E5%AD%97%E6%AF%8D%E6%97%8B%E8%BD%AC%E6%B8%B8%E6%88%8F.md) 412 | ##### [10、poj 4006 Genghis Khan the Conqueror](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%204006%20Genghis%20Khan%20the%20Conqueror.md) 413 | ##### [11、poj 1205 Water Treatment Plants](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201205%20Water%20Treatment%20Plants.md) 414 | ##### [12、poj 3388 Japanese Puzzle](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203388%20Japanese%20Puzzle.md) 415 | ##### [13、poj 2386 Lake Counting](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202386%20Lake%20Counting.md) 416 | ##### [14、zoj 1861 Gas Station Numbers](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%201861%20Gas%20Station%20Numbers.md) 417 | ##### [15、zoj 3590 -3+1](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203590%20-3%2B1.md) 418 | ##### [16、zoj 2837 Left Library Lift](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%202837%20Left%20Library%20Lift.md) 419 | ##### [17、zoj 1563 Pearls](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%201563%20Pearls.md) 420 | ##### [18、poj 1523 SPF](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201523%20SPF.md) 421 | ##### [19、poj 1308 Is It A Tree?](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201308%20Is%20It%20A%20Tree%3F.md) 422 | ##### [20、poj 2442 Sequence](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202442%20Sequence.md) 423 | ##### [21、poj 2417 Discrete Logging](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202417%20Discrete%20Logging.md) 424 | ##### [22、poj 3484 Showstopper](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203484%20Showstopper.md) 425 | ##### [23、zoj 3109 Decode Message](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203109%20Decode%20Message.md) 426 | ##### [24、poj 3548 Restoring the digits](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203548%20Restoring%20the%20digits.md) 427 | ##### [25、zoj 2561 Order-Preserving Codes](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%202561%20Order-Preserving%20Codes.md) 428 | ##### [26、poj 2482 Stars in Your Window](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202482%20Stars%20in%20Your%20Window.md) 429 | ##### [27、zoj 1507 Crazy Search](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%201507%20Crazy%20Search.md) 430 | ##### [28、poj 2447 RSA](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202447%20RSA.md) 431 | ##### [29、poj 1628 Deduction](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201628%20Deduction.md) 432 | ##### [30、zoj 3019 Puzzle](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203019%20Puzzle.md) 433 | ##### [31、poj 1977 Odd Loving Bakers](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201977%20Odd%20Loving%20Bakers.md) 434 | ##### [32、poj 1989 The Cow Lineup](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201989%20The%20Cow%20Lineup.md) 435 | ##### [33、poj 2672 Hotkeys](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202672%20Hotkeys.md) 436 | ##### [34、zoj 3393 Routing](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203393%20Routing.md) 437 | ##### [35、zoj 3531 Alice Madness Return](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203531%20Alice%20Madness%20Return.md) 438 | ##### [36、zoj 1418 Lazy Math Instructor](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%201418%20Lazy%20Math%20Instructor.md) 439 | ##### [37、poj 2918 Tudoku](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202918%20Tudoku.md) 440 | ##### [38、zoj 2990 Decoding](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%202990%20Decoding.md) 441 | ##### [39、poj 2323 PERMS](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%202323%20PERMS.md) 442 | ##### [40、poj 1313 Booklet Printing](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201313%20Booklet%20Printing.md) 443 | ##### [41、poj 3216 Repairing Company](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203216%20Repairing%20Company.md) 444 | ##### [42、poj 1953 World Cup Noise](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%201953%20World%20Cup%20Noise.md) 445 | ##### [43、zoj 2247 Magic Trick](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%202247%20Magic%20Trick.md) 446 | ##### [44、zoj 3502 Contest](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203502%20Contest.md) 447 | ##### [45、zoj 2011 Secret Code](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%202011%20Secret%20Code.md) 448 | ##### [46、zoj 1810 The Gourmet Club](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%201810%20The%20Gourmet%20Club.md) 449 | ##### [47、zoj 1898 Discrete Logging](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%201898%20Discrete%20Logging.md) 450 | ##### [48、zoj 3836 Circulation pipe](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/zoj%203836%20Circulation%20pipe.md) 451 | ##### [49、poj 3495 Bitwise XOR of Arithmetic Progression](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203495%20Bitwise%20XOR%20of%20Arithmetic%20Progression.md) 452 | ##### [50、poj 3435 Sudoku Checker](https://github.com/0voice/campus_recruitmen_questions/blob/main/ACM/poj%203435%20Sudoku%20Checker.md) 453 | 454 | 455 |
456 | 457 |

:triangular_flag_on_post: 剑指offer

458 | 459 | ##### [1、A + B](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/A%20%2B%20B.md) 460 | ##### [2、01背包问题](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98.md) 461 | ##### [3、完全背包问题](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98.md) 462 | ##### [4、多重背包问题 I](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%A4%9A%E9%87%8D%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%20I.md) 463 | ##### [5、多重背包问题 II](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%A4%9A%E9%87%8D%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%20II.md) 464 | ##### [6、多重背包问题 III](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%A4%9A%E9%87%8D%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%20III.md) 465 | ##### [7、混合背包问题](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%B7%B7%E5%90%88%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98.md) 466 | ##### [8、二维费用的背包问题](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E7%BB%B4%E8%B4%B9%E7%94%A8%E7%9A%84%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98.md) 467 | ##### [9、分组背包问题](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%88%86%E7%BB%84%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98.md) 468 | ##### [10、有依赖的背包问题](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%9C%89%E4%BE%9D%E8%B5%96%E7%9A%84%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98.md) 469 | ##### [11、背包问题求方案数](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E6%B1%82%E6%96%B9%E6%A1%88%E6%95%B0.md) 470 | ##### [12、背包问题求具体方案](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E6%B1%82%E5%85%B7%E4%BD%93%E6%96%B9%E6%A1%88.md) 471 | ##### [13、找出数组中重复的数字](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%89%BE%E5%87%BA%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97.md) 472 | ##### [14、不修改数组找出重复的数字](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%B8%8D%E4%BF%AE%E6%94%B9%E6%95%B0%E7%BB%84%E6%89%BE%E5%87%BA%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97.md) 473 | ##### [15、二维数组中的查找](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE.md) 474 | ##### [16、替换空格](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC.md) 475 | ##### [17、从尾到头打印链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BB%8E%E5%B0%BE%E5%88%B0%E5%A4%B4%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8.md) 476 | ##### [18、重建二叉树](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E9%87%8D%E5%BB%BA%E4%BA%8C%E5%8F%89%E6%A0%91.md) 477 | ##### [19、二叉树的下一个节点](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E8%8A%82%E7%82%B9.md) 478 | ##### [20、用两个栈实现队列](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.md) 479 | ##### [21、斐波那契数列](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97.md) 480 | ##### [22、旋转数组的最小数字](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97.md) 481 | ##### [23、矩阵中的路径](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%AF%E5%BE%84.md) 482 | ##### [24、机器人的运动范围](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%BF%90%E5%8A%A8%E8%8C%83%E5%9B%B4.md) 483 | ##### [25、剪绳子](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%89%AA%E7%BB%B3%E5%AD%90.md) 484 | ##### [26、二进制中1的个数](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD1%E7%9A%84%E4%B8%AA%E6%95%B0.md) 485 | ##### [27、数值的整数次方](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9.md) 486 | ##### [28、在O(1)时间删除链表结点](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%9C%A8O(1)%E6%97%B6%E9%97%B4%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%BB%93%E7%82%B9.md) 487 | ##### [29、删除链表中重复的节点](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E8%8A%82%E7%82%B9.md) 488 | ##### [30、正则表达式匹配](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D.md) 489 | ##### [31、表示数值的字符串](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E8%A1%A8%E7%A4%BA%E6%95%B0%E5%80%BC%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2.md) 490 | ##### [32、调整数组顺序使奇数位于偶数前面](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2.md) 491 | ##### [33、链表中倒数第k个节点](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%ACk%E4%B8%AA%E8%8A%82%E7%82%B9.md) 492 | ##### [34、链表中环的入口结点](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%8E%AF%E7%9A%84%E5%85%A5%E5%8F%A3%E7%BB%93%E7%82%B9.md) 493 | ##### [35、反转链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8.md) 494 | ##### [36、合并两个排序的链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8.md) 495 | ##### [37、树的子结构](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84.md) 496 | ##### [38、二叉树的镜像](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%95%9C%E5%83%8F.md) 497 | ##### [39、对称的二叉树](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%AF%B9%E7%A7%B0%E7%9A%84%E4%BA%8C%E5%8F%89%E6%A0%91.md) 498 | ##### [40、顺时针打印矩阵](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E9%A1%BA%E6%97%B6%E9%92%88%E6%89%93%E5%8D%B0%E7%9F%A9%E9%98%B5.md) 499 | ##### [41、包含min函数的栈](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88.md) 500 | ##### [42、栈的压入、弹出序列](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E6%A0%88%E7%9A%84%E5%8E%8B%E5%85%A5%E3%80%81%E5%BC%B9%E5%87%BA%E5%BA%8F%E5%88%97.md) 501 | ##### [43、不分行从上往下打印二叉树](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%B8%8D%E5%88%86%E8%A1%8C%E4%BB%8E%E4%B8%8A%E5%BE%80%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91.md) 502 | ##### [44、分行从上往下打印二叉树](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%88%86%E8%A1%8C%E4%BB%8E%E4%B8%8A%E5%BE%80%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91.md) 503 | ##### [45、之字形打印二叉树](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%B9%8B%E5%AD%97%E5%BD%A2%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91.md) 504 | ##### [46、二叉搜索树的后序遍历序列](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97.md) 505 | ##### [47、二叉树中和为某一值的路径](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E5%92%8C%E4%B8%BA%E6%9F%90%E4%B8%80%E5%80%BC%E7%9A%84%E8%B7%AF%E5%BE%84.md) 506 | ##### [48、复杂链表的复刻](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%A4%8D%E6%9D%82%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%8D%E5%88%BB.md) 507 | ##### [49、二叉搜索树与双向链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%8E%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8.md) 508 | ##### [50、序列化二叉树](https://github.com/0voice/campus_recruitmen_questions/blob/main/%E5%89%91%E6%8C%87offer/%E5%BA%8F%E5%88%97%E5%8C%96%E4%BA%8C%E5%8F%89%E6%A0%91.md) 509 | 510 | 511 |

:medal_military: leetcode

512 | 513 | ##### [1、(0001)两数之和](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C.md) 514 | ##### [2、(0002)两数相加](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0.md) 515 | ##### [3、(0003)无重复字符的最长子串](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%97%A0%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%90%E4%B8%B2.md) 516 | ##### [4、(0004)寻找两个正序数组的中位数](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%AF%BB%E6%89%BE%E4%B8%A4%E4%B8%AA%E6%AD%A3%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E4%B8%AD%E4%BD%8D%E6%95%B0%C2%A0.md) 517 | ##### [5、(0005)最长回文子串](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%9C%80%E9%95%BF%E5%9B%9E%E6%96%87%E5%AD%90%E4%B8%B2.md) 518 | ##### [6、(0006)zigzag conversion(Z 字形变换)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/Z%20%E5%AD%97%E5%BD%A2%E5%8F%98%E6%8D%A2.md) 519 | ##### [7、(0007)reverse integer(整数反转)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%95%B4%E6%95%B0%E5%8F%8D%E8%BD%AC.md) 520 | ##### [8、(0008)atoi(字符串转换整数)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BD%AC%E6%8D%A2%E6%95%B4%E6%95%B0.md) 521 | ##### [9、(0009)palindrome number(回文数)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%9B%9E%E6%96%87%E6%95%B0.md) 522 | ##### [10、(0010)regular expression matching(正则表达式匹配)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D.md) 523 | ##### [11、(0011)盛最多水的容器](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%9B%9B%E6%9C%80%E5%A4%9A%E6%B0%B4%E7%9A%84%E5%AE%B9%E5%99%A8.md) 524 | ##### [12、(0012)roman numeral(整数转罗马数字)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%95%B4%E6%95%B0%E8%BD%AC%E7%BD%97%E9%A9%AC%E6%95%B0%E5%AD%97.md) 525 | ##### [13、(0013)roman to integer(罗马数字转整数)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%BD%97%E9%A9%AC%E6%95%B0%E5%AD%97%E8%BD%AC%E6%95%B4%E6%95%B0.md) 526 | ##### [14、(0014)longest common prefix(最长公共前缀)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%89%8D%E7%BC%80.md) 527 | ##### [15、(0015)三数之和](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%89%E6%95%B0%E4%B9%8B%E5%92%8C.md) 528 | ##### [16、(0016)three sum closest(最接近的三数之和)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%9C%80%E6%8E%A5%E8%BF%91%E7%9A%84%E4%B8%89%E6%95%B0%E4%B9%8B%E5%92%8C.md) 529 | ##### [17、(0017)电话号码的字母组合](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%94%B5%E8%AF%9D%E5%8F%B7%E7%A0%81%E7%9A%84%E5%AD%97%E6%AF%8D%E7%BB%84%E5%90%88.md) 530 | ##### [18、(0018)four sum](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%9B%9B%E6%95%B0%E4%B9%8B%E5%92%8C.md) 531 | ##### [19、(0019)删除链表的倒数第 N 个节点](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E5%80%92%E6%95%B0%E7%AC%AC%20N%20%E4%B8%AA%E7%BB%93%E7%82%B9.md) 532 | ##### [20、(0020)有效的括号](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B7.md) 533 | ##### [21、(0021)合并两个有序链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%9C%89%E5%BA%8F%E9%93%BE%E8%A1%A8.md) 534 | ##### [22、(0022)括号生成](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%8B%AC%E5%8F%B7%E7%94%9F%E6%88%90.md) 535 | ##### [23、(0023)合并 K 个升序链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%90%88%E5%B9%B6K%E4%B8%AA%E5%8D%87%E5%BA%8F%E9%93%BE%E8%A1%A8.md) 536 | ##### [24、(0024)两两交换链表中的节点](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.md) 537 | ##### [25、(0025)K 个一组翻转链表](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/K%20%E4%B8%AA%E4%B8%80%E7%BB%84%E7%BF%BB%E8%BD%AC%E9%93%BE%E8%A1%A8.md) 538 | ##### [26、(0026)删除排序数组中的重复项](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%88%A0%E9%99%A4%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E9%87%8D%E5%A4%8D%E9%A1%B9.md) 539 | ##### [27、(0027)remove element(移除元素)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.md) 540 | ##### [28、(0028)implement strstr(实现 strStr())](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%AE%9E%E7%8E%B0%20strStr().md) 541 | ##### [29、(0029)两数相除](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%A4%E6%95%B0%E7%9B%B8%E9%99%A4.md) 542 | ##### [30、(0030)串联所有单词的子串](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%B2%E8%81%94%E6%89%80%E6%9C%89%E5%8D%95%E8%AF%8D%E7%9A%84%E5%AD%90%E4%B8%B2.md) 543 | ##### [31、(0031)下一个排列](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E4%B8%8B%E4%B8%80%E4%B8%AA%E6%8E%92%E5%88%97.md) 544 | ##### [32、(0032)最长有效括号](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%9C%80%E9%95%BF%E6%9C%89%E6%95%88%E6%8B%AC%E5%8F%B7.md) 545 | ##### [33、(0033)搜索旋转排序数组](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%90%9C%E7%B4%A2%E6%97%8B%E8%BD%AC%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84.md) 546 | ##### [34、(0034)在排序数组中查找元素的第一个和最后一个位置](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%9C%A8%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9F%A5%E6%89%BE%E5%85%83%E7%B4%A0%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%92%8C%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E4%BD%8D%E7%BD%AE.md) 547 | ##### [35、(0035)search insert position(搜索插入位置)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%90%9C%E7%B4%A2%E6%8F%92%E5%85%A5%E4%BD%8D%E7%BD%AE.md) 548 | ##### [36、(0036)valid sudoku(有效的数独)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%9C%89%E6%95%88%E7%9A%84%E6%95%B0%E7%8B%AC.md) 549 | ##### [37、(0037)sudoku solver(解数独)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E8%A7%A3%E6%95%B0%E7%8B%AC.md) 550 | ##### [38、(0038)外观数列](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%A4%96%E8%A7%82%E6%95%B0%E5%88%97.md) 551 | ##### [39、(0039)组合总和](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.md) 552 | ##### [40、(0040)组合总和 II](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C%20II.md) 553 | ##### [41、(0041)first missing positive(缺失的第一个正数)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E7%BC%BA%E5%A4%B1%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%AD%A3%E6%95%B0.md) 554 | ##### [42、(0042)接雨水](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%8E%A5%E9%9B%A8%E6%B0%B4.md) 555 | ##### [43、(0043)multiply strings(字符串相乘)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9B%B8%E4%B9%98.md) 556 | ##### [44、(0044)wildcard matching(通配符匹配)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E9%80%9A%E9%85%8D%E7%AC%A6%E5%8C%B9%E9%85%8D.md) 557 | ##### [45、(0045)jump game ii(跳跃游戏 II)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F%20II.md) 558 | ##### [46、(0046)全排列](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%85%A8%E6%8E%92%E5%88%97.md) 559 | ##### [47、(0047)全排列 II](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%85%A8%E6%8E%92%E5%88%97%20II.md) 560 | ##### [48、(0048)旋转图像](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E6%97%8B%E8%BD%AC%E5%9B%BE%E5%83%8F.md) 561 | ##### [49、(0049)字母异位词分组](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D%E5%88%86%E7%BB%84.md) 562 | ##### [50、(0050)Pow(x, n)](https://github.com/0voice/campus_recruitmen_questions/blob/main/leetcode/Pow(x%2C%20n).md) 563 | 564 |
565 |
566 |

零领工作

567 | 568 | --- 569 | 570 | ##### 实时提供,每周发布北京,上海,广州,深圳,杭州,南京,合肥,武汉,长沙,重庆,成都,西安,厦门的c/c++,golang方向的招聘岗位信息。 包含校招,社招,实习岗位, 面经,八股,简历 571 | 572 | 零领工作 573 | 574 |
575 |
576 | 577 | 578 | -------------------------------------------------------------------------------- /文档/C++从入门到精通.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/C++从入门到精通.pdf -------------------------------------------------------------------------------- /文档/C++面向对象.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/C++面向对象.pdf -------------------------------------------------------------------------------- /文档/c++个人笔记总结.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/c++个人笔记总结.pdf -------------------------------------------------------------------------------- /文档/c与c++面试必须会的问题.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/c与c++面试必须会的问题.pdf -------------------------------------------------------------------------------- /文档/常用简单算法与技巧-c++版.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/常用简单算法与技巧-c++版.pdf -------------------------------------------------------------------------------- /文档/数据结构与算法内容梳理.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/数据结构与算法内容梳理.pdf -------------------------------------------------------------------------------- /文档/数据结构和算法.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/数据结构和算法.pdf -------------------------------------------------------------------------------- /文档/数据结构概述.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/数据结构概述.pdf -------------------------------------------------------------------------------- /文档/线性表.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/线性表.pdf -------------------------------------------------------------------------------- /文档/面向对象编程.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/文档/面向对象编程.pdf -------------------------------------------------------------------------------- /面经/字节跳动 data后台研发 面经.md: -------------------------------------------------------------------------------- 1 | ## 一面 2 | 3 | 1.手撕lru 4 | 5 | 2.并发编程 6 | 7 | 3.函数式编程 8 | 9 | 4.无锁队列 10 | 11 | 5.CAP 12 | 13 | 6.线程池,进程池 14 | 15 | 7.大文件如何对字符串排序 16 | 17 | 8.线程同步 18 | 19 | 20 | 21 | ## 二面 22 | 23 | 1.自我介绍+项目介绍 24 | 25 | 2.mmap 26 | 27 | 3.软链接与硬链接 28 | 29 | 4.free命令 cache与buffer区别 30 | 31 | 5.数据库 列与行数据库区别 32 | 33 | 6.线程安全 34 | 35 | 7.单核线程安全 36 | 37 | 8.事务 38 | 39 | 9.隔离性,隔离级别 40 | 41 | 10.索引,合并 42 | 43 | 11.http cookie与session 44 | 45 | 12.跨域请求 46 | 47 | 13.最大上升子序列个数 48 | -------------------------------------------------------------------------------- /面经/字节跳动 data后端 面经.md: -------------------------------------------------------------------------------- 1 | ## 一面 2 | 3 | 进程状态 4 | 5 | 进程调度 6 | 7 | 多进程开发,多线程开发 8 | 9 | 线程通信 + 2道场景题选择进程通信方式 10 | 11 | raws 12 | 13 | ocket与socket区别 14 | 15 | 设计高性能服务 16 | 17 | nginx反向代理 epoll,nginx工作模式实现原理 18 | 19 | pmtu,sendfile,io status等等 20 | 21 | 22 | 23 | 手撕memcpy 考虑内存重叠与copy效率 24 | 25 | go的协成,多核等 26 | 27 | 28 | 29 | ## 二面 30 | 31 | 函数调用过程 32 | 33 | static c/c++区别 34 | 35 | 项目中的一些问题 36 | 37 | tcp与udp 38 | 39 | tcp深挖 40 | 41 | 进程与线程 42 | 43 | 字符串匹配 44 | 45 | 46 | 47 | ## 三面 48 | 49 | 编译原理学过没 50 | 51 | 操作系统如何设计 52 | 53 | io与内存 54 | 55 | select与epoll 56 | 57 | tcpdump底层原理 58 | 59 | 如何调试 60 | 61 | 如何学习计算机 62 | 63 | 多进程通信 64 | 65 | 项目经历 66 | 67 | 实习经历 68 | 69 | 有啥想问的。 70 | -------------------------------------------------------------------------------- /面经/字节跳动 直播中台后端研发 面经.md: -------------------------------------------------------------------------------- 1 | ## 一面 2 | 3 | 问了问基础(前面都涉及了) 4 | 5 | 评价一下为啥面了这么多次会挂 6 | 7 | 聊了聊项目 8 | 9 | 算法题:给定4个数组,一个target,要求o(n^2)时间复杂度完成 10 | 11 | 12 | 13 | ## 二面 14 | 15 | 问了问基础(前面都涉及了) 16 | 17 | 聊聊实习及产品目标 18 | 19 | 手撕重建二叉树 20 | -------------------------------------------------------------------------------- /面经/字节跳动广告后端面经.md: -------------------------------------------------------------------------------- 1 | ## 一面 2 | 3 | 自我介绍 4 | 5 | 计算机网络 6 | 7 | 网络通信具体过程,socket编程的流程 8 | 9 | 三次握手及具体细节 10 | 11 | 四次挥手及具体细节 12 | 13 | 为啥三次不是两次 14 | 15 | 浏览器触发过程,每一个过程结合五层模型谈一下 16 | 17 | 浏览器https协议与http区别及加密算法 18 | 19 | 动态网页如何渲染 20 | 21 | 数据库 22 | 23 | B/B+树原理及区别 24 | 25 | 索引 26 | 27 | 事务隔离性 28 | 29 | 操作系统 30 | 31 | 进程,线程,多进程 32 | 33 | .... 34 | 35 | 算法 36 | 37 | 大数链表相加 38 | 39 | ## 二面 40 | 41 | 操作系统 42 | 43 | 用户态与内核态 44 | 45 | 事务 46 | 47 | 内存置换 48 | 49 | 分页 50 | 51 | lru算法 52 | 53 | 数据库 54 | 55 | 两道sql题目 56 | 57 | 算法 58 | 59 | 三选一 60 | 61 | 完全二叉树压缩及构建 62 | 63 | 有向无环图拓扑排序 64 | 65 | 任务分配最短时间 66 | -------------------------------------------------------------------------------- /面经/字节跳动广告系统面经.md: -------------------------------------------------------------------------------- 1 | ## 一面 2 | 1.const编译器如何实现
3 | 2.强制转换编译器如何实现
4 | 3.其他语言实现像cpp这种多继承,如何操作(内存管理相关)
5 | 4.tcp与udp如何区分
6 | 5.双向链表特性
7 | 6.重叠区间 只问了思路
8 | 9 | ## 二面 10 | 1.聊实习
11 | 2.聊cpp那些事
12 | 3.智能指针shared_ptr线程安全问题
13 | 4.线程同步
14 | 5.进程通信
15 | 6.信号量概念
16 | 7.写一个求和宏
17 | 8.rand3等概率生成0123,然后写一个rand5生等概率01234
18 | 9.最长上升子序列
19 | -------------------------------------------------------------------------------- /面经/字节跳动的六次面试经历,终不过.md: -------------------------------------------------------------------------------- 1 | 七月份字节提前批开始的时候,婉拒了客户端的直通终面选择了卷后端,于是开始了面试连挂的经历 🤣 😂,涉及到国际化电商,视频架构,商业化技术三个部门 2 | 3 | 4 | 5 | 6 | 很有意思的是我7.30投递简历,8.20号才开始第一次面试 7 | 8 | 9 | 10 | 11 | ### 8.20 国际化电商一面 60Min 12 | 13 | 1. 介绍腾讯实习的项目 14 | 15 | 2. 关系型数据库和非关系型数据库 16 | 17 | 3. 数据库的引擎 18 | 19 | 4. Sql语句 20 | 21 | 5. 数据库的锁 22 | 23 | 6. 数据库的隔离状态 24 | 25 | 7. 怎么防止幻读 26 | 27 | 8. DNS的过程 28 | 29 | 9. 处理中断,恢复中断 30 | 31 | 10. 程序编译的过程 32 | 33 | 11. http的缓存机制 34 | 35 | 12. 乐观锁和悲观锁 36 | 37 | 13. 修课程问题,拓扑排序? 38 | 39 | https://leetcode-cn.com/problems/course-schedule/submissions/ 40 | 41 | 实习刚回来,对数据库好多知识不熟,确实回答的不好,第二天通知没通过,HR跟我说面试官建议我在准备准备,于是给我安排了第二次国际化电商的面试,神奇 42 | 43 | 44 | 45 | 46 | ### 9.3 国际化电商一面 50Min 47 | 48 | 1. 聊腾讯实习项目 49 | 50 | 2. 问为什么算法转开发 51 | 52 | 3. 操作系统内存管理 53 | 54 | 4. 逻辑地址和物理地址的转化 55 | 56 | 5. http状态码 57 | 58 | 6. tcp怎么保证可靠性 59 | 60 | 7. tcp的拥塞控制 61 | 62 | 8. http1.0 1.1 1.2区别 63 | 64 | 9. 输入数组nums,要求输出升序排序后的结果。已知数组元素为非负整数,且当数组长度为n时,所有元素的值都小于n;时间复杂度为O(n) 65 | 66 | 67 | 68 | 69 | 第二次国际化电商的面试明显感觉比上一次简单很多,八卦文和题目都做出来了,不明原因,还是挂了 70 | 71 | 72 | 73 | 74 | 之后被视频架构部门捞了,HR开始推荐客户端岗位,我表示想从事后端,于是经过协调安排了视频架构后端开发的面试 75 | 76 | 77 | 78 | 79 | ### 9.22 视频架构一面 70Min 80 | 81 | 82 | 83 | 84 | 1. 固态硬盘和机械硬盘区别 85 | 86 | 2. C++ 多态 87 | 88 | 3. HTTP请求的过程,keep-alive 89 | 90 | 4. https加密过程,为什么不是非对称加密 91 | 92 | 5. 虚拟内存 93 | 94 | 6. 页式管理和段式管理 95 | 96 | 7. 数据库B+树 97 | 98 | 8. Pagecache? 99 | 100 | 9. 数据库两种引擎,索引结构 101 | 102 | 10. DNS过程,问的很细 103 | 104 | 11. 进程通信的方式,匿名管道,命名管道如何生成,信号怎么生成,头文件? 105 | 106 | 12. 虚继承 107 | 108 | 13. 网关 109 | 110 | 14. http状态码,502,504? 111 | 112 | https://blog.csdn.net/wangtingting_100/article/details/81106767 113 | 114 | 15. http2.0 了解3.0吗 115 | 116 | 16. go对于c++的优点 117 | 118 | 17. 寻找第K大 119 | 120 | 121 | 122 | 123 | 面试官问的很深,自我感觉回答的不好,再次被挂掉,过了几天被商业化技术再次捞了起来,也是我面试的最后一个部门了,一面和二面都顺利通过,三面到现在也是不明原因,挂掉了 124 | 125 | 126 | 127 | 128 | ### 9.26 商业化技术一面 60Min 129 | 130 | 131 | 132 | 133 | 1. 聊项目大概十五分钟 134 | 135 | 2. http报文格式 136 | 137 | 3. sql两种引擎区别 138 | 139 | 4. 聚簇索性和非聚簇索性 140 | 141 | 5. Sql语句查询前七天数据 142 | 143 | 6. 用户态和内核态 144 | 145 | 7. Get post还有什么方式 146 | 147 | 8. 登录的时候用什么保存状态 session和cookie 148 | 149 | 9. 最小栈怎么实现 150 | 151 | 10. N叉树每层求最大值 152 | 153 | 154 | 155 | 156 | 基本回答的不错,顺利通过 157 | 158 | 159 | 160 | 161 | ### 10.9 商业化技术二面 70Min 162 | 163 | 164 | 165 | 166 | 1. 聊项目,项目中最难得地方,怎么解决 167 | 168 | 2. 为什么算法选开发 169 | 170 | 3. 设计rpc框架考虑什么 171 | 172 | 4. 检查手机号是否存在于百万数据电话号中 173 | 174 | 5. C++多态 175 | 176 | 6. 智能指针 177 | 178 | 7. 构造函数可以是虚函数吗 179 | 180 | 8. Rand7生成rand10和链表删除重复元素 181 | 182 | 183 | 184 | 185 | 顺利通过,至此感觉可以进字节希望最大的一次了,面试之后不到一个小时通知二面通过,安排了三面 186 | 187 | 188 | 189 | 190 | ### 10.12 商业化技术三面 40Min 191 | 192 | 193 | 194 | 195 | 1. 聊项目,最大的收获 196 | 197 | 2. 算法题,丑数 198 | 199 | 3. 数据库索引 200 | 201 | 202 | 203 | 204 | 整个面试过程感觉很魔幻,算法题也做出来了,就问了一个八卦文,第二天通知被挂了,心里还是挺难受的,挺遗憾的,这个时候应该也没什么HC了,也不会再接着面试了,秋招的最后一次面试,就这样结束了。 205 | 206 | 207 | 208 | 209 | 长风破浪会有时,直挂云帆济沧海! 210 | 211 | 212 | -------------------------------------------------------------------------------- /面经/字节跳动系统工程师 data面经.md: -------------------------------------------------------------------------------- 1 | ## 一面 2 | 3 | 手撕智能指针 4 | 5 | 手撕线程安全的单例 6 | 7 | 手撕log有序数组左旋多少次 8 | 9 | 操作系统内存管理 10 | 11 | malloc底层 12 | 13 | volatile关键字 14 | 15 | 用户态与内核态 16 | 17 | ....不记得了 18 | -------------------------------------------------------------------------------- /面经/小米一二面O(已offer).md: -------------------------------------------------------------------------------- 1 | 2 | 看C++好久没有新的[面经](),正好最近面了[小米](),写一下 3 | 4 | 5 | 6 | 7 | 11.4号一面,10分钟 8 | 9 | 1.自我介绍 10 | 11 | 2.项目介绍 12 | 13 | 3.实习介绍 14 | 15 | 4.C++11的新特性 16 | 17 | 5.懂rapidjson的底层原理?不懂。rapidjson使用的过程中遇到过那些bug?无 18 | 19 | 6.判断[链表]()是否有环,求环的入口节点。两个月没[刷题]()差点不会做了。。。 20 | 21 | 7.真不考虑北京吗?然后随便聊聊天帮我推荐到南京啦 22 | 23 | 24 | 25 | 26 | 11.5二面 南京二面 27 | 28 | 自我介绍、项目介绍、实习介绍 29 | 30 | 1.多态实现原理?虚函数指针具体怎么找虚函数表? 31 | 32 | 2.如何创建进程?我说./把可执行变成进程。告知不对。又说fork函数创建通过进程id判断一下。还不对。 33 | 34 | 3.进程布局?堆栈全局代码那些区 35 | 36 | 4.函数压栈过程,包括函数带参数 37 | 38 | 5.”hello world"存在那个区? 39 | 40 | 6.线程私有区和共享区 41 | 42 | 7.是个全局变量但我又想是线程独有的怎么办?陈硕永远滴神。__thred关键字,有一小节整好叫善用__thread关键字 43 | 44 | 8.tcp三次握手、流量控制、拥塞控制、MSS那一套 45 | 46 | 9.timewait 47 | 48 | 10.客户端握手发送SYN,TCP状态机,client变成什么状态? 49 | 50 | 11.相交[链表]() 51 | 52 | 12.介绍了部门很多业务,给了口头offer 53 | 54 | 55 | 56 | 57 | [小米]()面试官都挺好的,巨有礼貌~ 58 | 59 | 60 | 61 | 62 | 薪资有点低,拒了 63 | -------------------------------------------------------------------------------- /面经/深信服C++二面-面经:40min(发面经许愿offer).md: -------------------------------------------------------------------------------- 1 | # 面试时间:2021年09月18日17:00 2 | 3 | 首先总的来说,面试体验不如一面的面试官,这个面试官给我的感觉不是很好。不像第一个面试官一样给人好相处的感觉。 4 | 5 | - 总的下来面试自记的表现很一般,问的东西有些真不会,非科班出生真的没办法。 6 | 7 | ## 过程: 8 | 9 | - 1、上来先给了个for循环,外部定义了全局变量i,问循环结束后的i值,无压力解决。 10 | 11 | - 2、再上一题的基础上,增加了线程操作,这个真心不会。操作系统线程这块没有系统的深入学习过。 12 | 题目是上一个题在一个主线程下在产生一个线程执行同样的程序,问i值。正确的答案是不确定。 13 | 14 | - 3、接着问了宏相关的知识,首先问在一个场景中宏对于效率是否会造成影响,我说会因为我觉得,它没有运行时检查就会容易导致问题进而影响效率。但对方好像不想我说这些,没搞清楚他想知到什么。接着又问宏是在什么时候进行处理的,我说预编译阶段,面试官说,那这样替换文本后,对效率有什么影响呢,编译阶段还是处理这些东西啊,没有变。。。然后我。。。我还是说效率还要考虑运行时啊。。一顿叭啦。。估计没回答道他的点子上。。难搞。 15 | 16 | - 4、算法题,两个链表增序融合。问题不大。 17 | 18 | - 5、问计算机网络了解的多吗,我说自学过,但是非科班可能没那么深入。问我了解什么,我说tcp/ip协议栈这些,都是了解的,然后问我https知道吗,问为什么有http还需要它。这个回答了,然后问到安全加密传输这块。这块问了个问题,大概是说场景中给出的方法能否保证客户端安全登陆,账户密码不会泄露。 19 | 20 | ### 具体问题如下: 21 | 22 | 非对称加密下,服务端提供公匙和私匙,将公匙放在客户端会申请的页面前端信息中,用户每次申请登录可以抓取所有消息,然后利用得到的公匙加密登录信息,发回,服务端用私匙解密。这是整个保护过程,问题就是这样能做到安全登录保证账户密码不会泄漏吗? 23 | 24 | - 我的回答是无法安全做到,因为中途的黑客攻击可以截获附带公匙的响应消息,从而获取客户端的ip等可以暴露位置的信息,然后可以伪造公钥发给客户端,然后骗取客户端的响应。因此无法实现安全登录。 25 | - 我想自己答的应该差不多,应该就是数字证书那套机制得有,当时应该考虑直接说这个没有的无法判断服务端的真假。 26 | 27 | - 6、问了我linux上编过代码吗,我说大多用了做深度学习。接着问到给一个1G的空间装上操作系统,然后malloc申请2G的空间能否成功,这个不太会,我说应该可以吧,虚拟内存那套,但是估计这么做是有问题的。结果他说他也不知道,没试过。。。。又问会装linux系统吗,会,那么大都都是先装windows再装linux,为什么不是反过来,这个。。真没去想过,最后发现问题的点在先装linux再装windows,windows会用自己地引导记录覆盖已有的linux。 28 | 29 | 然后连反问也没有就说今天面试结束了。。。。 30 | 知到自己答的不咋好,但还是许愿一下,想拿深信服offer!! 31 | 32 | # 希望自己不会凉!!! 33 | -------------------------------------------------------------------------------- /面经/网易互娱游戏研发,一面、二面 + 些许感慨(已意向).md: -------------------------------------------------------------------------------- 1 | 2 | # [网易互娱]()游戏研发,一面、二面 + 已 oc 还愿,base 杭州 3 | 4 | ## 参加秋招满满一个月,内心 os,些许感慨: 5 | 6 | 8.17~9.14,花了一个月,好像秋招要结束了。投的不多,battmd,当时排除了不想去的头条和[滴滴](),以及自己不想去广东漂泊,接着仔细比较每个公司其中部门,选择个人的理想部门投递。 7 | 8 | 回到开始时间点,确实没想到,这短短一个月会这么顺利、或者说这么不顺利,不顺利的是最想去[阿里云](),看着每天登录的[阿里云]()服务器,心中怅然,之前甚至乃至今天每每看到[阿里云]()起家视频总是热泪盈眶,[阿里云]()王坚团队的坚持,[阿里云]()全球的市占率逐步提升,虽然最终没能通过,还是由衷钦佩、赞许。 9 | 10 | 对于[阿里云](),也是因此想着准备充分再投,所以全副武装,9.1 投递,9.3 笔试 a 1.617,9.9 一面,流程推很快,结果一面当天大面积[阿里云]()意向书,当场崩溃反思是不是投晚了,以及当天后来面试,一面面试官心不在焉好几遍你说什么,真实不想面就不面好吗,迟到半小时 + 语音声音小 + 不间断问,你说什么(当时情况,提前确定过我这边声音是合适的)。大概也是已经提前感受到面试结果,所以这周二带着预期更新进度,只是最近一个月还只是第二次挂面试,上一次是挂在“手上有什么 offer,手上有什么流程”,当时确实一穷二白,而且是面试初期的自己,挂我理解,而[阿里云]()竟然是在一面挂,终究还是自己太弱了,后来回想起来一面挂的后果,令人心凉,估计面评得有多差,影响的不会只是这一个流程,阿里后续流程估计也毁了,但或许作为面试者也只能是无助,并且与那个昔日梦寐以求的公司,挥挥手,告个别。觉得自己可笑的是面试官迟到半小时没提前说,自己卑微至此竟没反问他为什么,为什么迟到为什么不能够提前告知,为什么起码的互相尊重都做不到,为什么告知语音声音小却无视反而说没事并且不做调整,是我听到的声音小听不清你说什么竟然是你说没事真的太真实,可是为什么自己在别家公司面试就会提一下面试感受的建议。 11 | 12 | 对于字节,字节杭州也是九月开始,base 杭州,尤其重视,9.5 笔试,其中一点也是九月得知字节离职率,同学实习面试的三个面试官,均已离职,由此担心培养体系不完善。笔试完拒 hr 小姐姐的晚上约面,另外一点是抖音搜索电商在北京非原支付业务在杭州,代表原投递部门释放,联系自己的北京 hr 小姐姐问了为什么不面试,介绍组很核心,其实我知道你们核心且不好面过,而且之前有字节面试经历,实话实说,当时字节 base 杭州-商业化技术一面面试官,是我对技术进一步追求的启蒙,比心感谢,虽然你说 hc 多,但是那个时间点由于自己既然确定不会去字节北京就选择不面了,同样的,不浪费字节资源。当时再一次感慨杭州的互联网公司少,或者说 hc 少。 13 | 14 | 接下来的初步计划是,把[腾讯]()北京和[华为]()杭州的流程走完,进一步争取[亚马逊]()和[微软](),刚好检验自己的水平是到一个怎样的层次。题外话告诉自己,工作是为了更好的生活,这点自己不能忘。 15 | 16 | ------ 17 | 18 | ## 正文前言 19 | 20 | 回到本文正题,非科班 C++,面试岗位[网易互娱]()游戏研发,之前因为好奇有写过 2d 小游戏,[网易]()因为可以 base 杭州,加上自己从小学三年级开始玩他家的一款游戏梦幻西游,69 级[大唐]()官府,喜欢买鱼竿去傲来钓鱼,喜欢个性宠泡泡,想起小学拿着压岁钱去学校门口买一打一打点卡… 想起自己好像一直是个贪玩的人,就像最近因为王者赛季末还通宵上分打印记,也是有点搞不明白自己… 怎么说呢,游戏行业,游戏版号,以及未来的不确定性,这种种政策并不一定利好这个行业发展。只是个人看好游戏,就比如看好天[美的]()《见》,游戏不止可以是游戏。 21 | 22 | 这里还是一样,八月底笔面试强度较大,故未做完整复盘,就当前回忆进行总结,记录一、二面面试重难点。回馈[牛客](),供牛友参考,也是为了俺的小愿望,累计发帖拿[牛客]()抱枕,但个人的面试帖子更多会是个人的心路里程体现,会有侧重且忽略面试具体非重点的题。 23 | 24 | ## 时间线 25 | 26 | - 8.6 笔试,其中只完整 ac 一题,但就当时投票笔试 0 占一半以上 27 | - 8.12 技术一面 28 | - 9.8 技术二面,第一次约二面满人失败,第二次约上后面试官有事取消,导致一、二面时隔近月,但发现互娱杭州意向基本都没发,故整理本帖 29 | - 9.13 语言水平问卷 30 | - 9.14 oc + 意向书 31 | 32 | ## 面试总结 33 | 34 | 游戏研发,常规基本包括语言、操作系统、计网、网编、数据库、分布式等,印象较深的问题,如下: 35 | 36 | ### 技术一面 37 | 38 | [网易]()游戏(互动娱乐事业群) [游戏研发工程师]() 一面[面经]() 39 | 40 | 2021/08/12 [网易]()游戏(互动娱乐事业群),共计 92min,下午 14 点 30 分开始,到 16 点 02 分结束 41 | 42 | 自我介绍 43 | 44 | 写题,给定会议起始截止时间,至少要多少个房间,会议数 10^4,时间 10^6,写了两种方法,要求数学证明 45 | 46 | find_kth 有多少种方法,分别分析时间空间复杂度 47 | 48 | 写题,[排序]()用归并实现 49 | 50 | 虚继承作用 51 | 52 | 为什么虚析构函数 53 | 54 | 写了代码,父子类是否虚析构情况,判断是否内存泄漏 55 | 56 | 为什么不能虚构造函数 57 | 58 | 虚函数表作用 59 | 60 | 代码层面关闭编译器优化 61 | 62 | shared_ptr,unique_ptr 实现原理 63 | 64 | 用模板写过什么 65 | 66 | TCP、UDP 区别 67 | 68 | UDP 可不可以实现 TCP 功能 69 | 70 | UDP 实现 TCP 功能,如何设计实现 71 | 72 | 场景题,一个游戏,用 TCP 还是 UDP 73 | 74 | 场景题,静默下载,下载完部分可以直接用,怎么设计 75 | 76 | 场景题,玩家操作和下载在一个循环中,该怎么设计处理逻辑 77 | 78 | 反问, 79 | 80 | 问题 1:[网易互娱]()游戏研发,技术栈及业务难点在哪一块,侧重在游戏引擎还是服务端 81 | 82 | 问题 2:对应届生游戏研发的计算机图形学,游戏引擎有什么水平的要求 83 | 84 | 问题 3:应届生加入[网易互娱](),有什么培养制度 85 | 86 | ### 技术二面 87 | 88 | 手写线程池 89 | 90 | 手写定时器 91 | 92 | 游戏引擎 93 | 94 | 游戏开发包括哪几个部分 95 | 96 | 平时玩不玩游戏,玩得怎么样 97 | 98 | 反问: 99 | 100 | 问题 1:为什么题目这么难 101 | 102 | 问题 2:就今天的面试表现,有什么学习上的建议 103 | 104 | ### hr oc 105 | 106 | 下午通知已过,之后收到意向书 107 | 108 | ## 个人总结 109 | 110 | 总结的话,游戏公司会偏爱玩游戏的。 111 | 112 | 问问自己内心的诉求,外企 or 选调,上午和导师汇报完,边毕业先,emm。归根到底,回看[阿里云]()自己表现得也不好,客观因素存在,但本质是自己的表现不符合面试官预期。太在乎反而容易患得患失,姑且相信一切都是最好的安排,加油加油~ 113 | -------------------------------------------------------------------------------- /面经/腾讯天美C++后台一面凉经.md: -------------------------------------------------------------------------------- 1 | 看见又没有C++面经,没想到吧,我又有面试了,记录一下。 2 | 3 | 4 | 5 | 1.自我介绍 6 | 7 | 2.placement new?我:啥玩意没听过 8 | 9 | 3.虚函数会吧 10 | 11 | 4.内联函数 12 | 13 | 5.虚函数可以是内联的吗 14 | 15 | 6.mysql acid 16 | 17 | 7.mysql mvcc 隔离级别实现原理什么一套都讲了 18 | 19 | 8.protobuff的优缺点?缺点不会 20 | 21 | 9.C++11的智能指针 22 | 23 | 10.B+ B树 红黑树区别 24 | 25 | 11.同步异步 26 | 27 | 12.阻塞非阻塞 28 | 29 | 13.可以同步非阻塞吗?我答得是可以 30 | 31 | 14.epoll和select区别 32 | 33 | 15.epoll是同步的还是异步的? 34 | 35 | 16.协程? 36 | 37 | 17.对称协程和非对称协程?不会 38 | 39 | 18.udp和tcp区别?讲完区别,又从wireshark讲起tcp,然后如何网络优化分析(因为这几天正好在学wireshark,吹了一吹) 40 | 41 | 19.redis的跳表 42 | 43 | 20.redis几种基本数据结构? 44 | 45 | 21.怎么用的zookeeper?底层原理是什么?不会底层 46 | 47 | 22.LRU怎么实现的? 48 | 49 | 23.协程为什么叫用户态线程? 50 | 51 | 24.动态规划和贪心区别?答的一般 52 | 53 | 25.动态规划可以得到全局最优解吗?可以 54 | 55 | 26.动态规划时间复杂度?看题,可能O(n)可能O(n^2) 56 | 57 | 27.只有一个数字出现奇数剩下都是出现偶次数,如何快速得到值?异或 58 | 59 | 28. https://leetcode-cn.com/problems/minimum-size-subarray-sum/ lc209题,我用的滑动窗口,面试官非说我错了,是有点边界问题改完他还说我是错的,不能这么写,讲了几次还觉得我是错的,最后面试官亲自改测试例子也证明了代码没有问题。 60 | 61 | 29.反问 休闲类游戏组,帮别人面试的 62 | 63 | 64 | 65 | 66 | ===又想起来的。 67 | 68 | 30一致性算法?不会 69 | 70 | 31分布式了解吗?不太了解 71 | 72 | 73 | 74 | 75 | 面完我还觉得应该是可以过的吧,结果面完就秒挂了,看到流程已结束的那几个字我第一反应就是这就离谱,该不会是离谱回家了吧,该不会就是传说中的KPI面试吧,冷静思考,没人那么闲会浪费自己的1个小时。转过头复盘一下,面试官觉我很多东西没啥深度比如zookeeper只会用不懂里面原理,protobuf没有理解细节等等,很多东西没有深入的理解。反思了2021这一年,从接今年3月接到腾讯实习以后就开始摆烂了,7月份实习,边实习边准备秋招,8月底拿了个不错公司(一个中厂大佬们瞧不上,但我自己喜欢就行)就又开始摆烂了。回想起来2021这一年过的确实太飘了,确实对技术没有以前那么追求了,不多说了,明天8点起来去图书馆卷了,明年毕业好好上班。女朋友想去苏州,后来我俩商量了一下上海就是小苏州,秋招也只投了上海,放弃深圳腾讯实习转正满以为能在上海腾讯被捞起来,结果并没有,反而被深圳腾讯又捞了几次都给拒了。这次上海天美给机会,我还寻思抓住机会,没想到啊,可惜了,得之我幸失之我命哈哈哈哈。转语言是不可能转语言的,誓与C++共存亡~ 76 | -------------------------------------------------------------------------------- /面经/金山云C++开发 一面二面面经 已意向.md: -------------------------------------------------------------------------------- 1 | ## 10.20意向,速度还是挺快的,不算周末,一面到意向就5天。 2 | 3 | 投的是C++岗位,CDN部门,意向书里给调成了云产品计算中心的虚拟化研发工程师,不知道是调剂了还是优化了 4 | 5 | ## 金山云 后端开发 二面 10.15 6 | 7 | 自我介绍: 8 | 9 | Q:了解哪个语言? 10 | 11 | A:C++和python,最熟悉C++ 12 | 13 | Q:说一下C++11的新特性有哪些? 14 | 15 | A:auto、range for循环、lambda函数式编程、nullptr解决了C99中NULL的二义性、智能指针 16 | 17 | Q:说一下智能指针 18 | 19 | A:auto_ptr 、shared_ptr、 unique_ptr 、weak_ptr 20 | 21 | Q:作用都是什么? 22 | 23 | A:回答略 24 | 25 | Q:它们的实现原理? 26 | 27 | A:回答略 28 | 29 | Q:实现思想是什么? 30 | 31 | A:RAII 资源获取即初始化 32 | 33 | Q:python有没有对应的东西和机制? 34 | 35 | A:这个不太了解,使用python没用到过内存管理 36 | 37 | Q:没用过就对了,因为python已经帮你实现好了,所以呢没用过,但是C++没有,这里给我讲了5分钟的课,涨知识了 38 | 39 | Q:做道算法题吧,你觉得你的编程能力如何?如果你觉得一般我就出个简单的,觉得不错我就出的稍微难一点,做出来加分更多 40 | 41 | A:平时做力扣简单的题都能做出来,中等的能做出来三分之一吧,困难的题大多都是学习 42 | 43 | Q:那你写一个LRUCache吧 44 | 45 | A:写出来了 46 | 47 | Q:说一下实现的思路,讲一下 48 | 49 | A:讲 50 | 51 | Q:你这个是用双向链表做的,单向链表能写出来吗? 52 | 53 | A:刚上来说应该不行,想了一会说可以 54 | 55 | Q:为什么可以? 56 | 57 | A:支支吾吾说不清楚 58 | 59 | Q:你看看你哪地方用到了双向链表,是不是只有remove,然后开始讲课 60 | 61 | A:后面基本都是引导我如何用单向链表实现,而且最后给我讲了实现方法 62 | 63 | ## 金山云 后端开发 一面 10.14 64 | 65 | 自我介绍 66 | 67 | Q:介绍项目,项目应用的背景,怎么做的,创新点在哪,遇到了什么困难,有什么代码上的问题,怎么调bug的 68 | 69 | Q:遇到过程序崩溃的情况吗?怎么调试?gdb咋用的 70 | 71 | Q:遇到过程序反复崩溃的情况吗?而且每次崩溃的地方都不一样? 72 | 73 | Q:程序的崩溃的原因是什么? 74 | 75 | A:大部分是因为内存泄露或内存溢出? 76 | 77 | Q:你是怎么解决内存泄露和溢出问题的? 78 | 79 | Q:C++程序优化的方法 80 | 81 | Q:用过哪些linux命令?比如网络方面的? 82 | 83 | A:回答了ifconfig、route、netstat 84 | 85 | Q:netstat的都有什么参数? 86 | 87 | A:忘了 88 | 89 | Q:查看cpu的命令呢? A:top和sar 90 | 91 | Q:问了top有啥参数,几个参数的意思 92 | 93 | A:不会,这些都是知道,用的次数不多 94 | 95 | Q:说下你常用的,关于系统的 96 | 97 | A:ps -ef | grep 查看进程 98 | 99 | Q:ps -ef 里进程状态有个uninterrupt单词记不清了,讲一下 100 | 101 | A:没印象,不了解 102 | 103 | Q:进程的状态有那几个? 104 | 105 | A:就绪、运行、阻塞 106 | 107 | Q:编程遇到过CLOSE_WAIT状态吗 108 | 109 | Q:知道TIME_WAIT吗?有什么作用,TIME_WAIT是谁发起的,谁会进入TIME_WAIT 110 | 111 | Q:TIME_WAIT有哪些影响? 112 | 113 | Q:TIME_WAIT对端口有什么影响 114 | 115 | Q:你有什么缺点和优点 116 | -------------------------------------------------------------------------------- /面经/面试复盘 | 百度 正式批 面试.md: -------------------------------------------------------------------------------- 1 | 记得七月份的时候百度提前批开始后就马上投了,经过一周的简历筛选,在官网看到状态变成了面试流程中,本以为很快就会有面试,没想到足足等了两周没有人联系,也没有邮件来约面试,再去官网看状态已经变成简历共享中了.....于是百度的提前批还没开始就结束了。当时感觉挺无语的,加上那时刚拿了字节跳动的意向书,所以就没管百度了。 2 | 3 | 后来百度提前批结束,官网直接把我转到了正式批,不久后开始发来面试邮件,刚好那时候挺闲的,就做了下笔试,没多久开始约面试。前几次约我没有时间就没有确认,后来九月中刚好中秋回家,就约了面试。百度的面试好像集中安排在双休,我在家一天连着面完了三轮面试。 4 | 5 | 下面记录下三轮面试的要点,欢迎大家交流讨论~ 6 | 7 | ### 一面(80mins) 8 | 9 | ------ 10 | 11 | **自我介绍** 12 | 13 | **C++ 基础** 14 | 15 | - 一个 C++ 程序从代码实现到运行要经过哪些阶段?每个阶段有什么作用? 16 | 17 | 这里面试官主要是想问编译的那部分知识,所以就详细回答了预处理-编译-汇编-链接四个过程的原理。 18 | 19 | - 为了使程序编译运行后效率高一些,在编程时需要注意哪些问题? 20 | 21 | 刚听到这个问题的时候很懵,完全不知道面试官在问什么,然后就问面试官需要在哪些方面来考虑,面试官说从编译器优化的角度来回答,想了半天,想起来在深入理解计算机原理书上好像有优化的一些方法,所以就回答了:循环外移、减少函数调用、避免内存引用和提高并行化这几个方面,还列举了个简单的代码例子,面试官说回答地不错就继续下一个问题了。 22 | 23 | - C++ 中的 new/delete 函数与 malloc/free 的区别? 24 | 25 | 主要是前者会调用相关对象的构造、析构函数,后者不会,前者不需要指定申请/释放的内存的大小,后者需要指定等。 26 | 27 | 面试官追问:使用 new 申请内存失败会怎么样? 28 | 29 | 答:会抛出异常。 30 | 31 | 问:如果我想使得申请失败后返回一个空指针,需要怎么做? 32 | 33 | 答:使用 nothrow new 来申请内存。 34 | 35 | - 虚函数的原理和实现? 36 | 37 | - 构造函数能否声明为虚函数或者纯虚函数,析构函数呢? 38 | 39 | 析构函数可以为虚函数,并且一般情况下基类析构函数要定义为虚函数,只有在基类析构函数定义为虚函数时,调用操作符 delete 销毁指向对象的基类指针时,才能准确调用派生类的析构函数(从该级向上按序调用虚函数),才能准确销毁数据。 40 | 41 | 构造函数不能定义为虚函数。在构造函数中可以调用虚函数,不过此时调用的是正在构造的类中的虚函数,而不是子类的虚函数,因为此时子类尚未构造好。虚函数对应一个 vtable (虚函数表),类中存储一个 vptr 指向这个 vtable。如果构造函数是虚函数,就需要通过 vtable 调用,可是对象没有初始化就没有 vptr,无法找到 vtable,所以构造函数不能是虚函数。 42 | 43 | - 为什么父类的析构函数必须是虚函数? 44 | 45 | 如果析构函数不被声明成虚函数,那么编译器将实施静态绑定,在删除基类指针时,只会调用基类的析构函数而不会调用派生类析构函数,这样就会造成派生类对象析构不完全,造成内存泄漏。 46 | 47 | **计算机网络** 48 | 49 | - GET 和 POST 的区别? 50 | 51 | - TCP 拥塞控制原理? 52 | 53 | - Cookie 和 Session 的原理分别是什么? 54 | 55 | - TCP 粘包和粘包分别是什么? 56 | 57 | 粘包:在进行数据传输时,发送端一次性连续发送多个数据包,TCP 协议将多个数据包打包成一个 TCP 报文发送出去; 58 | 59 | 拆包:当发送端发送的数据包长度超过一次 TCP 报文所能传输的最大值时,就会将该数据包拆分成多个 TCP 报文分开传输。 60 | 61 | 问:如何解决粘包和拆包问题? 62 | 63 | 答:(1)设置消息定长(2)头部添加消息长度(3)消息尾部添加特殊字符进行分割(4)将消息分为消息头和消息尾。 64 | 65 | **操作系统** 66 | 67 | - 内存管理自由链表和内存池讲一下 68 | 69 | 这个问题回答的不太好,记得在学习 STL 内存配置器时候学过,不过太久没看了忘了好多。 70 | 71 | - 虚拟内存原理? 72 | 73 | - 逻辑地址怎么转换成物理地址? 74 | 75 | ### 二面(70mins) 76 | 77 | ------ 78 | 79 | **自我介绍** 80 | 81 | **项目介绍** 82 | 83 | - 介绍一下做过的项目; 84 | 85 | - 研究生做过什么项目吗? 86 | 87 | 这里开始介绍研究生做的课题,讲的比较仔细,面试官问的也比较多,回答完了面试官问为什么没在简历上写研究生做的项目,我回答说研究生的项目和岗位不太匹配,所以就没写在简历上。面试官说这个想法不对,简历上应该写自己做过的、最擅长的项目,这样面试才能更综合地考察的你的能力和你解决问题的方式。这里算是积累了一些经验了。 88 | 89 | **数据库** 90 | 91 | - 你了解哪些索引? 92 | 93 | 主要介绍了 B+ tree 索引,也比较了一些其他数据结构作为索引的优缺点。 94 | 95 | - Redis 有哪些数据结构? 96 | 97 | - Redis 持久化机制? 98 | 99 | - 缓存和数据库是如何实现同步的? 100 | 101 | 缓存和数据库双写,采用预留缓存模式。 102 | 103 | - 读的时候,先读缓存,缓存没有再读数据库,然后取出数据后放入缓存,同时返回响应; 104 | - 更新的时候,**先删除缓存,然后再更新数据库;这样读的时候就会发现缓存中没有数据而直接去数据库中读取数据**。 105 | 106 | - 分布式和集群了解吗? 107 | 108 | 这个没有做过,直接回答了不了解,面试官也没多问。 109 | 110 | **情景题** 111 | 112 | - 如果有海量的手机号数据需要保存,但机器的性能有限,如何才能尽可能少的占用内存? 113 | 114 | 刚开始我的解决方案是将手机号依据字段的含义进行划分为三部分,即 aaa-bbbb-cccc,其中前两个部分有特定的含义,如号段、区号等,而第三部分是随机的,所以手机号的前两个部分会有大量的重复,因此可对前两部分进行压缩,使用少数几个字符来表示。 115 | 116 | 面试官说这样的话是可以减少部分的内存的,但是优化的效果不太明显,还有没有其他的方法? 117 | 118 | 想了一会儿,想到了前缀树这种数据结构,赶紧把思路告诉了面试官。没想到面试官让继续思考其他方法,我说可采用合适的编码方法进行压缩编码,比如霍夫编码。 119 | 120 | 面试官看我想不到其他方法了,就给我讲了一种方法,就是通过对号码进行排序,然后使每一个手机号减去最小的手机号得到一个差值,作为偏移,这样的话我们只需要记住最小的手机号和后面每个手机的偏移就可以了,这样可以大大减低内存占用。妙啊,妙! 121 | 122 | ### 三面(20mins) 123 | 124 | ------ 125 | 126 | - **自我介绍** 127 | 128 | - **项目介绍** 129 | 130 | - 现在手里都有哪些公司的 Offer ? 131 | 132 | 回答完这个问题面试官说今天的面试就结束了,后续等待 HR 告知结果。我一脸懵逼,怎么这么快就结束了? 133 | 134 | ### 总结 135 | 136 | ------ 137 | 138 | 目前来看,估计又是进到池子里了🙄 不过也算是面过 BAT 了,百度的整体秋招体验一般,不过面试还是挺有难度的(除了第三面),难怪都说百度虽然不如从前了,但是技术方面还是挺有实力的,算是感受到了。最后还是希望百度做个人吧,赶紧把结果反馈了,过不过的,你倒是给句痛快话啊! 139 | -------------------------------------------------------------------------------- /面经/面试复盘 | 竞技世界 提前批(已OC).md: -------------------------------------------------------------------------------- 1 | 竞技世界是比较早投递的,而且是通过牛客网的 SP 专场活动投递的,整体流程比较简单,一共经历了两场面试,一场基础面 ➕ 一场综合面,分别在连续的连天内完成,效率还是比较高的。 2 | 3 | 下面来复盘一下两次面试的内容,欢迎大家一起交流学习~ 4 | 5 | 6 | 7 | 8 | ### 一面(60mins) 9 | 10 | ------ 11 | 12 | **自我介绍** 13 | 14 | - 个人的基本情况,本科和研究生阶段上过的专业课,成绩等。 15 | 16 | **计算机网络** 17 | 18 | - 介绍一下 TCP 和 UDP,以及它们的区别? 19 | 20 | TCP 是面向连接的、可靠的、基于字节流的传输层控制协议; 21 | 22 | UDP 是无连接的、尽最大努力传输、不保证可靠性的传输层控制协议; 23 | 24 | 它们之间的区别主要在于:(1)连接性(2)传输对象(3)可靠性(4)首部开销(5)传输方式(6)分片大小等。 25 | 26 | - TCP 和 UDP 分别有什么应用场景? 27 | 28 | TCP:FTP 文件传输、 HTTP/HTTPS; 29 | 30 | UDP:包总量较少的通信,如 DNS 、 SNMP 等;广播通信、音视频传输等。 31 | 32 | - TCP 的连接状态有哪些? 33 | 34 | 这里面试官主要问了四次挥手过程中出现的连接状态,回答了 **ESTABLISH、FIN_WAIT_1、CLOSE_WAIT、FIN_WAIT_2、LAST_ACK、TIME_WAIT** 状态。 35 | 36 | - SYN 洪泛攻击了解吗?是什么原理?什么是半连接队列? 37 | 38 | 半连接队列是服务器完成了第一次握手后将连接请求添加到的一个队列,而 SYN 攻击就是利用了这一点,客户端不断地发送伪造的 SYN 包来填满服务器的半连接队列,使得正常的连接请求得不到响应。 39 | 40 | **操作系统 & C++** 41 | 42 | - 进程同步和通信的方式有哪些? 43 | 44 | 同步:临界区、同步和互斥、信号量、管程; 45 | 46 | 通信:匿名管道、有名管道、消息队列、信号量、共享内存、套接字。 47 | 48 | - 虚拟内存介绍一下? 49 | 50 | 为了更好的管理内存,操作系统将内存抽象成地址空间。每个进程拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当进程访问到不在物理内存中的页时,发生缺页中断并进行页面置换,将缺失的页装入物理内存并重新执行失败的指令。 51 | 52 | - 申请动态内存的时,操作系统是怎么做的? 53 | 54 | 从操作系统层面上看,malloc 是通过两个系统调用来实现的:brk 和 mmap 55 | 56 | - brk 是将进程数据段 (.data) 的最高地址指针向高处移动,这一步可以扩大进程在运行时的堆大小; 57 | - mmap是 在进程的虚拟地址空间中寻找一块空闲的虚拟内存,这一步可以获得一块可以操作的堆内存。 58 | 59 | 通常,分配的内存小于 128k 时,使用brk调用来申请内存,大于 128k 时就使用mmap来申请内存;进程先通过这两个系统调用获得相应的虚拟地址,但还没有映射到物理内存,当访问这些虚拟地址的时候,通过缺页中断,让内核分配相应的物理内存,这样内存分配才算完成。 60 | 61 | - 智能指针了解吗?介绍一下 62 | 63 | shared_ptr、weak_ptr、unique_ptr 64 | 65 | - share_ptr 直接类构造和用 make_shared 的区别? 66 | 67 | 区别是:shared_ptr 构造函数会执行两次内存申请,而 make_shared 则执行一次。 68 | 69 | 面试官追问具体的内存申请过程: 70 | 71 | shared_ptr 在实现的时候使用的 refcount 技术,因此内部会有一个计数器(控制块,用来管理数据)和一个指针,指向数据。因此在执行shared_ptr p2(new A)的时候,首先会申请数据的内存,然后申请内控制块,因此是两次内存申请,而make_shared()则是只执行一次内存申请,将数据和控制块的申请放到一起。 72 | 73 | - 内存泄漏和内存溢出分别是什么? 74 | 75 | - 如何发现内存泄漏? 76 | 77 | ​ 回答了使用 GDB 调试工具来测试,这部分没有实践过,所以了解的不深入,回答的不太好。 78 | 79 | 80 | 81 | 82 | ### 二面(50mins) 83 | 84 | ------ 85 | 86 | 二面是通过微信视频面试的,面试官好像级别高一些,主要从项目和个人经历方面进行询问。 87 | 88 | **自我介绍** 89 | 90 | - 面试的多了,自我介绍部分简直倒背如流.... 91 | 92 | **项目** 93 | 94 | - 为什么做这个项目? 95 | 96 | - 这个项目你觉得最难的地方是哪一块?为什么你觉得很难? 97 | 98 | - 除了简历上的项目,还做过其他项目吗? 99 | 100 | 回答了研究生研究的课题,面试官让详细介绍一下研究课题的项目,这就舒服多了,随便提问,毕竟正在写论文呢.... 101 | 102 | - 你研究生的专业是自然语言处理,为什么现在找的是 C++ 开发的工作n? 103 | 104 | ​ 这里和面试官聊了好久,把自己这两年的想法转变和面试官讨论了一下,感觉聊的挺投机的,面试官挺赞同我的一些想法的,所以聊完二面也就随之结束了。末了面试官还说有问题随时联系他..... 105 | 106 | 107 | 108 | 109 | ### 总结 110 | 111 | ------ 112 | 113 | 竞技世界的面试总是来说还是很舒服的,提前批没有笔试,一面的基础考察也大多回答出来了,二面的交流也很舒适,面试完感觉稳了哈哈哈哈,但是后续的走流程体验就一般了,先是过了半个月 HR 微信联系让做个测评,然后走 offer 审批,这流程一走就是一个月,后面在我快忘记它的时候,它又突然出现哈哈哈哈,国庆前 HR 电话联系告知定了 SP,介绍了薪资福利啥的,预计国庆后审核完毕就直接发 Offer 了。 114 | -------------------------------------------------------------------------------- /项目实战/C++实现五子棋项目/1.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /项目实战/推箱子/1.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Debug/Project2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Debug/Project2.exe -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Debug/Project2.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Debug/Project2.ilk -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Debug/Project2.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Debug/Project2.pdb -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30517.126 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project2", "Project2\Project2.vcxproj", "{3A917B53-E1F3-4349-887F-BD9135084BAD}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Debug|x64.ActiveCfg = Debug|x64 17 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Debug|x64.Build.0 = Debug|x64 18 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Debug|x86.ActiveCfg = Debug|Win32 19 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Debug|x86.Build.0 = Debug|Win32 20 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Release|x64.ActiveCfg = Release|x64 21 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Release|x64.Build.0 = Release|x64 22 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Release|x86.ActiveCfg = Release|Win32 23 | {3A917B53-E1F3-4349-887F-BD9135084BAD}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {5F0A480F-80E8-48AC-BB66-A4825E76E511} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.exe.recipe: -------------------------------------------------------------------------------- 1 |  2 | 3 | C:\Users\milo\Source\Repos\Project2\Debug\Project2.exe 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.log: -------------------------------------------------------------------------------- 1 |  boxgame.cpp 2 | Project2.vcxproj -> C:\Users\milo\Source\Repos\Project2\Debug\Project2.exe 3 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/Project2.lastbuildstate: -------------------------------------------------------------------------------- 1 | PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.27.29110:TargetPlatformVersion=10.0.18362.0: 2 | Debug|Win32|C:\Users\milo\Source\Repos\Project2\| 3 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/Project2.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/boxgame.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/boxgame.obj -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/vc142.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/vc142.idb -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Debug/vc142.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/Debug/vc142.pdb -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Project2.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 16.0 23 | Win32Proj 24 | {3a917b53-e1f3-4349-887f-bd9135084bad} 25 | Project2 26 | 10.0 27 | 28 | 29 | 30 | Application 31 | true 32 | v142 33 | Unicode 34 | 35 | 36 | Application 37 | false 38 | v142 39 | true 40 | Unicode 41 | 42 | 43 | Application 44 | true 45 | v142 46 | Unicode 47 | 48 | 49 | Application 50 | false 51 | v142 52 | true 53 | Unicode 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | true 75 | 76 | 77 | false 78 | 79 | 80 | true 81 | 82 | 83 | false 84 | 85 | 86 | 87 | Level3 88 | true 89 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 90 | true 91 | 92 | 93 | Console 94 | true 95 | 96 | 97 | 98 | 99 | Level3 100 | true 101 | true 102 | true 103 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 104 | true 105 | 106 | 107 | Console 108 | true 109 | true 110 | true 111 | 112 | 113 | 114 | 115 | Level3 116 | true 117 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 118 | true 119 | 120 | 121 | Console 122 | true 123 | 124 | 125 | 126 | 127 | Level3 128 | true 129 | true 130 | true 131 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 132 | true 133 | 134 | 135 | Console 136 | true 137 | true 138 | true 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Project2.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/Project2.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/boxgame.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/boxgame.cpp -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/BLANK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/BLANK.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/BOX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/BOX.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/BOX_DEST.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/BOX_DEST.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/BackGround.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/BackGround.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/DEST.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/DEST.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/Explain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/Explain.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/PERSON.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/PERSON.png -------------------------------------------------------------------------------- /项目实战/推箱子/Project2/Project2/images/WALL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0voice/introduce_c-cpp_manual/346fa0e194f0e55557a36d8090a0db43ad40848b/项目实战/推箱子/Project2/Project2/images/WALL.png --------------------------------------------------------------------------------