04 2016 档案

摘要:问题描述: 1. 第一道题目:在多线程和大量并发环境下,如果有一个平均运行一百万次出现一次的bug, 你如何调试这个bug。 题主对于这种比较大的工程没有接触过所以没有这方面的经验,我回答的是:首先要试图重现这个bug,在重现bug时,需要保留当时的一些状态信息,然后进行调试,依次确定与这个bug有 阅读全文
posted @ 2016-04-28 09:44 雪之灵 阅读(474) 评论(0) 推荐(0) 编辑
摘要:请说出C++中引用和指针的区别。(华为、腾讯、阿里等) 参考答案: (1)当引用被创建时,它必须被初始化。而指针则可以在任何时候被初始化。 (2)一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用。而指针则可以在任何时候指向另一个对象。 (3)不可能有NULL引用。必须确保引用是 阅读全文
posted @ 2016-04-27 18:57 雪之灵 阅读(12148) 评论(1) 推荐(1) 编辑
摘要:动态规划( D ynamic P rogramming ,所以我们简称动态规划为 DP )是 运筹学 的一个分支,是求解决策过程(decision process) 最优化的数学方法。 20 世纪 50 年代初 美国 数学家R.E.Bellman 等人在研究多阶段决策过程 (multistep de 阅读全文
posted @ 2016-04-27 15:31 雪之灵 阅读(1618) 评论(0) 推荐(0) 编辑
摘要:用户访问万维网文档,万维网文档之间的链接以及万维网文档中数据传送到用户计算机,这些功能的实现都是由超文本传输协议 HTTP(HyperTextTransfer Protocol) 负责完成的。 HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送,能够在万维网上进行文本、声音、图像、视频等 阅读全文
posted @ 2016-04-27 10:52 雪之灵 阅读(366) 评论(0) 推荐(0) 编辑
摘要:针对 app测试 的过程和重点关注内容,做以下梳理和总结: 1 、 首先是测试资源确认及准备 ( 1 ) 产品需求文档、产品原型图、接口说明文档以及设计说明文档等应齐全; ( 2 ) 测试设备及工具的准备: IOS 和 andriod 不同版本的真机,以及相关测试工具的准备。 2 、 测试用例的设计 阅读全文
posted @ 2016-04-27 10:49 雪之灵 阅读(307) 评论(0) 推荐(0) 编辑
摘要:C++ STL中的标准规定: map, 有序 unordered_map,无序,这个就是用散列表实现 谈谈hashmap和map的区别,我们知道hashmap是平均O(1),map是平均O(lnN)的,实践上是不是hashmap一定优于map呢?这里面有几个因素要考虑: hashmap的内存效率比m 阅读全文
posted @ 2016-04-27 10:47 雪之灵 阅读(3632) 评论(0) 推荐(0) 编辑
摘要:红黑树属于平衡二叉树。它不严格是因为它不是严格控制左、右子树高度或节点数之差小于等于1,但红黑树高度依然是平均log(n),且最坏情况高度不会超过2log(n)。 红黑树(red-black tree) 是一棵满足下述性质的二叉查找树: 1. 每一个结点要么是红色,要么是黑色。 2. 根结点是黑色的 阅读全文
posted @ 2016-04-27 10:44 雪之灵 阅读(29870) 评论(5) 推荐(1) 编辑
摘要:目录 一、安装、编译与运行 二、变量、运算与表达式 三、数据类型 1、数字 2、字符串 3、元组 4、列表 5、字典 四、流程控制 1、if-else 2、for 3、while 4、switch 五、函数 1、自定义函数 2、Lambda函数 3、Python内置函数 六、包与模块 1、模块mod 阅读全文
posted @ 2016-04-25 10:00 雪之灵 阅读(277) 评论(0) 推荐(0) 编辑
摘要:同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 异步的概念和同步相对 阅读全文
posted @ 2016-04-22 16:50 雪之灵 阅读(327) 评论(0) 推荐(0) 编辑
摘要:1、HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理 HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。 阅读全文
posted @ 2016-04-22 16:41 雪之灵 阅读(48715) 评论(2) 推荐(13) 编辑
摘要:http协议中有和keep alive特性,这个在http1.1中有, 可以保持浏览器和服务器之间保持着长连接,http本身是无连接的协议, 通过tcp实现数据的传输,处理长连接要注意什么时候数据服务器发送完毕,这是要注意的。 服务器端知道浏览器的请求页面中图片的大小,可以通过将大小填充到http数 阅读全文
posted @ 2016-04-22 11:26 雪之灵 阅读(1075) 评论(0) 推荐(0) 编辑
摘要:1 红黑树的性质以及插入和删除2 解析XML文件3 千万级的用户,提供一个服务,该服务有很多模块,现在有一个底层模块需要优化,问怎么实现,在不影响其他服务模块以及用户体验的情况下。(面IEG)4 卡特兰数以及公式推导(应多很多)5 未知大小的文件,翻转整个文件6 如果内存中有个cache存储qq号和 阅读全文
posted @ 2016-04-21 21:15 雪之灵 阅读(229) 评论(0) 推荐(0) 编辑
摘要:O(n^2)的复杂度确实太大了,那么,只能另寻他径了。 降低复杂度的方式:以空间换时间,这里我们可以用到一个数组来记录字符出现过没有。 用一个数组last[256]记录该字符上一次出现的位置,如last['a'] = 1,代表a上次出现在1的位置, 然后依次遍历整个字符串,如果再次出现该字符就减去上 阅读全文
posted @ 2016-04-21 20:15 雪之灵 阅读(215) 评论(0) 推荐(0) 编辑
摘要:当派生类中不含对象成员时 在创建派生类对象时,构造函数的执行顺序是:基类的构造函数→派生类的构造函数; 在撤消派生类对象时,析构函数的执行顺序是:派生类的析构函数→基类的析构函数。 当派生类中含有对象成员时 在定义派生类对象时,构造函数的执行顺序:基类的构造函数→对象成员的构造函数→派生类的构造函数 阅读全文
posted @ 2016-04-20 16:03 雪之灵 阅读(211) 评论(0) 推荐(0) 编辑
摘要:IP地址分类 A类网络的IP地址范围为1.0.0.1-127.255.255.254; B类网络的IP地址范围为:128.1.0.1-191.255.255.254; C类网络的IP地址范围为:192.0.1.1-223.255.255.254。 子网划分: 阅读全文
posted @ 2016-04-20 15:56 雪之灵 阅读(296) 评论(0) 推荐(0) 编辑
摘要:第一种算法:转化为LCS问题求解 设序列X=<b1,b2,…,bn>是对序列L=<a1,a2,…,an>按递增排好序的序列。那么显然X与L的最长公共子序列即为L的最长递增子序列。这样就把求最长递增子序列的问题转化为求最长公共子序列问题LCS了。 最长公共子序列问题用动态规划的算法可解。设Li=< a 阅读全文
posted @ 2016-04-20 15:48 雪之灵 阅读(279) 评论(0) 推荐(0) 编辑
摘要:epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT). 在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知. LT模式的优点 阅读全文
posted @ 2016-04-20 15:42 雪之灵 阅读(609) 评论(0) 推荐(0) 编辑
摘要:什么样的结构决定其什么样的性质,因为set/map/multiset/multimap都是基于RB-tree之上,所以有自动排序功能, 而hash_set/hash_map/hash_multiset/hash_multimap都是基于hashtable之上,所以不含有自动排序功能,至于加个前缀mu 阅读全文
posted @ 2016-04-20 11:19 雪之灵 阅读(1375) 评论(0) 推荐(0) 编辑
摘要:当空类Empty_one定义一个对象时Empty_one pt;sizeof(pt)仍是为1,但编译器会生成6个成员函数:一个缺省的构造函数、一个拷贝构造函数、一个析构函数、一个赋值运算符、两个取址运算符。 class Empty { public: Empty(); //缺省构造函数 Empty( 阅读全文
posted @ 2016-04-20 11:09 雪之灵 阅读(1178) 评论(0) 推荐(0) 编辑
摘要:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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 52 53 阅读全文
posted @ 2016-04-20 11:06 雪之灵 阅读(228) 评论(0) 推荐(0) 编辑
摘要:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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 /** * Def 阅读全文
posted @ 2016-04-20 11:05 雪之灵 阅读(146) 评论(0) 推荐(0) 编辑
摘要:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r 阅读全文
posted @ 2016-04-20 11:04 雪之灵 阅读(170) 评论(0) 推荐(0) 编辑
摘要:为什么需要线程池 目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出 阅读全文
posted @ 2016-04-20 11:03 雪之灵 阅读(191) 评论(0) 推荐(0) 编辑
摘要:慢启动? 最初的TCP在连接建立成功后会向网络中发送大量的数据包,这样很容易导致网络中路由器缓存空间耗尽,从而发生拥塞。因此新建立的连接不能够一开始就大量发送数据包,而只能根据网络情况逐步增加每次发送的数据量,以避免上述现象的发生。具体来说,当新建连接时,cwnd初始化为1个最大报文段(MSS)大小 阅读全文
posted @ 2016-04-20 10:57 雪之灵 阅读(1746) 评论(0) 推荐(1) 编辑
摘要:TCP利用滑动窗口实现流量控制基本的数据单位不是数据段,而是字节 滑动窗口本质上是描述接受方(本地)的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据。如果发送方收到接受方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接受方发送窗口大小不为0的数据报的到来 阅读全文
posted @ 2016-04-20 10:54 雪之灵 阅读(820) 评论(0) 推荐(0) 编辑
摘要:1 大整数加、减、乘、除、求模运算实现2 红黑树的插入和删除3 TCP三次握手、四次握手4 TCP滑动窗口机制5 TCP拥塞控制机制6 很多整数,找其中出现次数最多的那个数7 解析XML文件8 new和malloc的区别,能否malloc(1.2G)9 内存池实现10 单链表翻转、查找、删除、插入以 阅读全文
posted @ 2016-04-20 10:53 雪之灵 阅读(464) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示