<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[石林的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ants_2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ants_2]]></copyright><item><title><![CDATA[C++后端开发面试题精选]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/77695869</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/77695869</guid><author>Ants_2</author><pubDate>Wed, 30 Aug 2017 09:11:38 +0800</pubDate><description><![CDATA[后端开发面试题
===================



#后端开发面试知识点大纲：
##语言类（C++）：
###关键字作用解释：
volatile作用

    Volatile关键词的第一个特性：易变性。所谓的易变性，在汇编层面反映出来，就是两条语句，下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容，而是重新从内存中读取。

    Vola]]></description><category></category></item><item><title><![CDATA[C++ STL中sort()排序函数详解]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/76439618</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/76439618</guid><author>Ants_2</author><pubDate>Mon, 31 Jul 2017 15:10:34 +0800</pubDate><description><![CDATA[1.所有sort算法介绍


     所有的sort算法的参数都需要输入一个范围，[begin, end)。这里使用的迭代器(iterator)都需是随机迭代器(RadomAccessIterator), 也就是说可以随机访问的迭代器。
     如果你需要自己定义比较函数，你可以把你定义好的仿函数(functor)作为参数传入。每种算法都支持传入比较函数。


     以下是所]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法十一(概率)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/76282611</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/76282611</guid><author>Ants_2</author><pubDate>Fri, 28 Jul 2017 20:46:53 +0800</pubDate><description><![CDATA[概率常考题型：



概率与期望的计算利用古典概率进行计算：组合数学随机数发生器：利用一个随机数发生器构造另一个随机数发生器


1.球队分组问题


     8只球队，有3个强队，5只弱队，随机把它们分成4组比赛，每组两个队，问两支强队在一起的概率是多大？


     分析：

8只球队分成两两一队：首先随机选一个人，他从剩余的7个中选择一个组队有7中情况；再随]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法十(排列组合)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/76271329</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/76271329</guid><author>Ants_2</author><pubDate>Fri, 28 Jul 2017 17:28:32 +0800</pubDate><description><![CDATA[排列组合常考题型：



传统排列组合题：高中数学知识卡特兰数应用：先详细了解卡特兰数原理




1.括号合法问题



//假设有n对左右括号，请求出合法的排列有多少个？合法是指每一个括号都可以找到与之配对的括号，比如n = 1时，()是合法的，但是)(为不合法。
//
//给定一个整数n，请返回所求的合法排列数。保证结果在int范围内。
//
//测试样例：]]></description><category></category></item><item><title><![CDATA[直通BAT--卡特兰数详解]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/76238883</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/76238883</guid><author>Ants_2</author><pubDate>Fri, 28 Jul 2017 11:18:07 +0800</pubDate><description><![CDATA[1.关于卡特兰数


     卡特兰数是一种经典的组合数，经常出现在各种计算中，其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法九(动态规划)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/76222244</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/76222244</guid><author>Ants_2</author><pubDate>Thu, 27 Jul 2017 21:47:20 +0800</pubDate><description><![CDATA[动态规划：
     利用申请的空间来记录每一个暴力搜索的计算结果，下次要用结果的时候直接使用，而不再进行重复的递归过程。且规定每一种递归状态的计算顺序，依次进行计算。


动态规划方法步骤：

暴力搜索方法：递归。记忆搜索方法：找到哪些参数代表递归过程，将重复计算的值存储下来，是某种形态的动态规划方法。不关心到达某一个递归过程的路径，单纯的对计算过的递归过程进行记录，避免重复的递归过]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法八(位运算)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/75453625</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/75453625</guid><author>Ants_2</author><pubDate>Thu, 20 Jul 2017 08:28:15 +0800</pubDate><description><![CDATA[1.不用任何额外变量交换两个整数的值



//请编写一个算法，不用任何额外变量交换两个整数的值。
//
//给定一个数组num，其中包含两个值，请不用任何额外变量交换这两个值，并将交换后的数组返回。
//
//测试样例：
//[1, 2]
//返回：[2, 1]


vector GetSwap::getSwap(vector num){


     //同时与]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法七(二叉树)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/75453622</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/75453622</guid><author>Ants_2</author><pubDate>Thu, 20 Jul 2017 08:26:52 +0800</pubDate><description><![CDATA[二叉树常考题型：



能够结合队列、栈、链表、字符串等很多数据结构；需要掌握图的基本遍历方式，比如BFS和DFS;掌握递归函数的使用，并自己设计出递归过程；与实际工作紧密结合。


二叉树类型：

满二叉树：除了最后一层节点无任何子节点外，剩下每一层节点都有两个子节点。层数为L，节点数为N，则N=2的L次方-1。完全二叉树：除了最后一层外，其他每一层的节点数都是满的。最后一层如]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法六(二分搜索)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/75236037</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/75236037</guid><author>Ants_2</author><pubDate>Mon, 17 Jul 2017 14:54:37 +0800</pubDate><description><![CDATA[二分法题解题技巧：



边界条件的考虑，中间划分点，循环终点的设定；一般mid=(left+right)/2,但是 left+right可能造成溢出，所以mid=left+(right-left)/2;演算判断终点条件是否有等于号；特殊情况要列举完全




 
1.arr中找到这个数出现的最左边的位置



//对于一个有序数组arr，再给定一个整数num，请在ar]]></description><category></category></item><item><title><![CDATA[直通BAT--数据结构与算法五(链表类)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/75210098</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/75210098</guid><author>Ants_2</author><pubDate>Sun, 16 Jul 2017 20:25:22 +0800</pubDate><description><![CDATA[链表题解题技巧：
 

链表调整函数的返回值类型，根据要求往往是节点类型；处理链表的过程中，先采用画图的方式理清逻辑；链表问题对于边界条件讨论要求严格；最好不要原链表的基础上改；链表赋值时，考虑链表头尾节点，当前节点的next指针是否要为NULL；善用stack栈结构；node->next ==NULL与node == NULL之间的区别；node = node->next循环前提不要忘记。]]></description><category></category></item><item><title><![CDATA[C++中vector, list, deque, set, map详解]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/75048487</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/75048487</guid><author>Ants_2</author><pubDate>Thu, 13 Jul 2017 11:32:30 +0800</pubDate><description><![CDATA[1. vector向量：相当于一个数组


     连续存储结构，每个元素在内存上是连续的；支持高效的随机访问和在尾端插入/删除操作，但其他位置的插入/删除操作效率低下；相当于一个数组，但是与数组的区别为：内存空间的扩展。vector支持不指定vector大小的存储，但是数组的扩展需要程序员自己写。
    
     优点：

不指定一块内存大小的数组的连续存储，即可以像数组一样]]></description><category></category></item><item><title><![CDATA[C++ STL函数详解]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/75048235</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/75048235</guid><author>Ants_2</author><pubDate>Thu, 13 Jul 2017 11:29:00 +0800</pubDate><description><![CDATA[STL函数详解：

查找函数：find()、find_if()、adjacent_find()、find_first_of()、find_end()；计数函数：count()、count_if()；匹配函数：mismatch()、equal()；查找函数：search()、search_n()；复制函数：copy()、copy_backward()；交换函数：swap()、iter_swap(]]></description><category></category></item><item><title><![CDATA[How To Learn Git (Git基础教程)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/62893745</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/62893745</guid><author>Ants_2</author><pubDate>Fri, 17 Mar 2017 18:28:09 +0800</pubDate><description><![CDATA[1.Git安装
msysgit是Windows版的Git，从https://git-for-windows.github.io下载（网速慢的同学请移步国内镜像），然后按默认选项安装即可。
安装完成后，在开始菜单里找到“Git”->“Git Bash”，蹦出一个类似命令行窗口的东西，就说明Git安装成功！
安装完成后，还需要最后一步设置，在命令行输入：

$ git config --gl]]></description><category></category></item><item><title><![CDATA[最简洁完整的Java高级教程之二（数据结构、集合、网络编程、多线程）]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/61652956</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/61652956</guid><author>Ants_2</author><pubDate>Sun, 12 Mar 2017 21:55:37 +0800</pubDate><description><![CDATA[最简洁完整的Java高级教程（数据结构、集合、序列化、网络编程、邮件，多线程，Applet基础）]]></description><category></category></item><item><title><![CDATA[最简洁完整的Java高级教程之一（数据结构、集合、网络编程、多线程）]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/61627573</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/61627573</guid><author>Ants_2</author><pubDate>Sun, 12 Mar 2017 19:26:25 +0800</pubDate><description><![CDATA[最简洁完整的Java高级教程（数据结构、集合、序列化、网络编程、邮件，多线程，Applet基础）]]></description><category></category></item><item><title><![CDATA[Java中集合Set、List、Map区别]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/61420428</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/61420428</guid><author>Ants_2</author><pubDate>Sat, 11 Mar 2017 16:37:21 +0800</pubDate><description><![CDATA[Java中集合Set、List、Map区别  
     集合是java基础中比较重要的一个知识点。
     什么是数组：数组是大小固定的，并且同一个数组只能存放类型一样的数据（基本类型/引用类型）。
     什么是集合：Java集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于java.util包中。 JAVA集合只能存放引用类型的数据，不能存放基本数据类型。

]]></description><category></category></item><item><title><![CDATA[Java引用类型]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/61420275</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/61420275</guid><author>Ants_2</author><pubDate>Sat, 11 Mar 2017 16:29:39 +0800</pubDate><description><![CDATA[Java引用类型
1、什么是引用类型
     引用类型（reference type）指向一个对象，不是原始值，指向对象的变量是引用变量。在java里面除去基本数据类型的其它类型都是引用数据类型，自己定义的class类都是引用类型，可以像基本类型一样使用。
     示例如下：

  public class MyDate {
      private int day = 8;
]]></description><category></category></item><item><title><![CDATA[最简洁完整的Java基础教程（基本语法、继承、接口、多态）]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/61210205</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/61210205</guid><author>Ants_2</author><pubDate>Fri, 10 Mar 2017 22:13:48 +0800</pubDate><description><![CDATA[1.Java基本语法
    对象、类 、方法、实例变量、Java修饰符、Java变量、Java枚举
2.Java类
    Java Number & Math 类、Java Character 类、Java String 类，Java StringBuffer 和 StringBuilder 类、Calendar类、Java Scanner 类
3.Java 流(Stream)、文件(File)和IO、Java中的目录
4.Java 异常处理
5.Java继承、Java 重写(Override)与重载]]></description><category></category></item><item><title><![CDATA[java web项目搭建（基于MyEclipse与Servlet)]]></title><link>https://blog.youkuaiyun.com/Ants_2/article/details/53994717</link><guid>https://blog.youkuaiyun.com/Ants_2/article/details/53994717</guid><author>Ants_2</author><pubDate>Tue, 03 Jan 2017 15:15:10 +0800</pubDate><description><![CDATA[java web项目搭建（基于MyEclipse与Spring MVC)
1.建立项目
File----java web Project


2.统一编码：UTF-8中一个汉字占3个字符
project右键----Properties----Resource----Text file encoding----Other----UTF-8
Window----Preferences--]]></description><category></category></item></channel></rss>