摘要:
快速排序是笔试面试经常问到的一个排序。因此首先来复习快速排序。
时间复杂度:O(n*lgn)
最坏:O(n^2)
空间复杂度:O(lgn),最坏O(n)
不稳定。 阅读全文
摘要:
map函数:处理一组key/value对进而生成一组key/value对的中间结果
reduce函数:将具有相同Key的中间结果进行归并 阅读全文
摘要:
访问者模式使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作。 分离一个类结构中不变的部分和常变的操作。 阅读全文
摘要:
本文主要参考《Effective C++ 3rd》中的第六章部分章节的内容。
关注的问题集中在继承、派生、virtual函数等。如:
virtual? non-virtual? pure virtual?
缺省参数值与virtual函数有什么交互影响?
继承如何影响C++的名称查找规则?
什么情况下有比virtual更好的选择? 阅读全文
摘要:
Google文件系统是一个面向大规模分布式数据密集型应用的可扩展分布式文件系统. 阅读全文
摘要:
观察者模式定义一种交互,即发布-订阅:
一个对象当自身状态发生改变时,会发出通知,但是并不知道谁是他的接收者,但每个接收者都会接收到通知,这些接受者称为观察者。
作为对通知的响应,每个观察者都将查询目标状态,然后改变自身的状态以和目标状态进行同步。 阅读全文
摘要:
有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。 阅读全文
摘要:
给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 阅读全文
摘要:
主要探讨对象、继承、多态在内存中的表现形式。 阅读全文
摘要:
本文介绍在套接字的I/O操作上设置超时的三种方法。分别是调用alarm,使用select和设置套接字SO_RCVTIMEO选项,并分别带有实现的demo。 阅读全文