04 2013 档案

摘要:看侯捷老师的stl 源码剖析时,在allocator设计一个简单的空间适配器那一节看到这么个奇怪的语法: template<class T1,class T2>inline void _construct(T1 *p,const T2& value){ new(p) T1(value);}给出的注释是place new,invoke ctor of T1第一次知道有这么个语法,网上查了一下... 阅读全文
posted @ 2013-04-28 09:35 曾见绝美的阳光 阅读(793) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/obama/archive/2013/04/27/3048198.htmlDerivatives, Limits, Sums and IntegralsThe expressionsare obtained in LaTeX by typing \frac{du}{dt} and \frac{d^2 u}{dx^2} respectively. The mathematical symbol is produced using \partial. Thus the Heat Equationis obtained in LaTeX by t. 阅读全文
posted @ 2013-04-27 22:44 曾见绝美的阳光 阅读(943) 评论(0) 推荐(0)
摘要:引言:有高矮不同的12个人,现在要他们对应排成两列,保证两列分别有序,且对应位置总是第一列比第二列矮,请问有多少种排列方式? 这是蘑菇街笔试的时候一个题目,当时陷入了枚举分类的死循环中,殊不知如果知道Catalan数的概念,直接就计算出来了。catalan组合数学上的递归式定义如下,这个递归定义是欧拉在研究下面问题5时得出的一个式子,是Catalan数起源的一种说法。 h(n)= h(0... 阅读全文
posted @ 2013-04-27 22:40 曾见绝美的阳光 阅读(403) 评论(0) 推荐(0)
摘要:网易实习的时候被问到这个题目,虽然当时答了一些,感觉面试官也知道我的意思,但是没有个详尽的介绍,这次网上搜集一下,大概有如下几点: 1 . const有类型,define无类型(最重要的) define只是在预处理阶段做个简单的替换,而const在编译运行阶段是有严格的类型检查的 2 . const常量存储于程序的数据段,而#define常量是在代码段 3 . const比较节约存... 阅读全文
posted @ 2013-04-26 15:57 曾见绝美的阳光 阅读(398) 评论(0) 推荐(0)
摘要:今天看一篇博主的文章,提到了添加一行代码输出hello world的有趣题目,于是在网上搜,发现关于hello world的小伎俩还真不少,当然,问题的关键不在hello world上,而在这背后的原理之中。那么我们就来看一看这些小题目吧! 题目一:如下,在print()函数中填充代码,使之显示hello ,world,要求main() 不作改动 /* c/c++ code */... 阅读全文
posted @ 2013-04-26 14:50 曾见绝美的阳光 阅读(508) 评论(0) 推荐(0)
摘要:在C++中,析构函数最好定义为虚函数,在类成员中有需要程序员自己申请和释放的成员,比如说指针类型的成员时,当用父类指针指向子类,虚析构函数能够使父类的指针正确地调用属于子类的析构函数,下面是一个例子: #include <iostream>using namespace std; class A{public: A() { std::co... 阅读全文
posted @ 2013-04-23 21:30 曾见绝美的阳光 阅读(341) 评论(0) 推荐(0)
摘要:之前有很多题目说到要用位图来解决问题,比如, 1.找1到10W之间没有出现的两个数,其中这些数是乱序排放(可能数字比10W还大,比如说40亿) 2.一个最多包含n个正整数的文件,每个数都小于n,其中n=107。如果在输入文件中有任何正数重复出现就是致命错误。没有其他数据与该正数相关联。输出按升序排列的输入正数的列表 3.给出40亿个数,搜索某一个数是否存在于这些数之中 4.两个整数集合A和... 阅读全文
posted @ 2013-04-18 15:14 曾见绝美的阳光 阅读(483) 评论(0) 推荐(0)
摘要:我在前面总结过大端小端的基本概念,一句话说就是对于变量的二进制表示,如果低地址存放的是二进制位的高位,那么说明CPU是大端模式,反之则为小端模式。的确有了这句话的总结之后很容易记忆,我也自以为得其真谛,但是在接下来看题目,做笔试题的过程中发现对于大端小端的理解,还得结合其它的知识点来看。首先就是栈生长的方向问题,栈生长的方向是由高地址向低地址生长,也就是说栈底的地址高一些,而堆则相反,下面结合一个具体的例子来说明,请看如下代码:#include #include int main(int argc, char const *argv[]){ int a=0x9abc0e0d; int b=0x 阅读全文
posted @ 2013-04-18 01:13 曾见绝美的阳光 阅读(412) 评论(0) 推荐(0)
摘要:在网上搜了大概有四种办法:用下面的程序验证一下:void swap1(int &a,int &b){ a=a+b; b=a-b; a=a-b; return;}void swap2(int &a,int &b){ a=a-b; b=a+b; a=b-a;}/*swap3 很经典*/void swap3(int &a,int &b){ a^=b; b^=a; a^=b; /*等效的一句话操作是: a^=b^=a^=b; */}/*swap4 ,最精炼*/void swap4(int &a,int &b){ b=a^b^(a=b).. 阅读全文
posted @ 2013-04-17 21:59 曾见绝美的阳光 阅读(270) 评论(0) 推荐(0)
摘要:在腾讯春季实习生招聘笔试的时候遇到这么一个问题: 给定一个数组int a[10]; 下面哪些不可以表示a[1]的地址?A. a+sizeof(int)B. &a[0]+1C. (int*)&a+1 D.(int*)((char*)&a+sizeof(int))对于这个题目,我当时的分析是这样的,对于数组名a,它是一个int*指针常量,指向数组第一个元素的地址,既然是指针常量,a+sizeof(... 阅读全文
posted @ 2013-04-17 20:59 曾见绝美的阳光 阅读(637) 评论(0) 推荐(1)
摘要:问题描述:在国际象棋中,皇后的属性是在不能在同一行,也不能在同一列,也不能在统一斜线上,否则就要被拼掉,最经典的八皇后问题是给你一个8*8的棋盘和8个皇后,求出所有可能排列的方式,一般不考虑拓扑相似性。 解答方案:何海涛博客中给出的方案是先确定解空间(这么做是因为能够确定解空间的大小),然后对每一个可能的解进行检查,如果满足就输出,他的思路是既然皇后不能在一行,那么对于8皇后,每个皇后我们只需要... 阅读全文
posted @ 2013-04-17 15:54 曾见绝美的阳光 阅读(792) 评论(0) 推荐(0)
摘要:问题描述:对于给定的字符串,求出字符串中所包含的字符的所有组合,比如说“abc”中字符的所有组合是a,b,c,ab,ac,bc,abc 何海涛大神给出了他的解答,解答的思路如下: 对于长度为length的字符串,组合的种类分为分别含1,2,…,length字符的字符串。然后对每一种情况分别递归。 我的递归思路是,对于任意字符串,其组合只会有两类,包含第一个字符的组合和不包含第一个字符的组合,于... 阅读全文
posted @ 2013-04-16 23:55 曾见绝美的阳光 阅读(333) 评论(0) 推荐(0)
摘要:一直对反汇编分析代码有兴趣,但是一直没静下心来研究一下,昨天腾讯笔试,有一题就是考察大端小端模式(见下面C代码段),涉及到函数调用,大端小端模式前些时间复习过,但是即便如此,做的时候还是感觉思路不清,回头想想,一是对函数调用中栈的变化过程不甚了解,一是对long long结构不了解,而如果我知道如何反汇编的话,可以直接在调试过程中解开疑虑,这样就不用盲目地在网上搜集了。因此我决定这些天弄一弄反汇编。在VS2008中反汇编很容易,进入debug模式之后,在代码区域“右键->反汇编” 或者“调试->窗口->反汇编” 就可以看到程序对应的汇编代码,同样的方式“调试->窗口-& 阅读全文
posted @ 2013-04-14 15:58 曾见绝美的阳光 阅读(855) 评论(0) 推荐(0)
摘要:win7的远程桌面连接是个非常实用的功能,但是每次远程到别的机器时,屏幕上方的连接栏很烦人,虽然在连接选项中可以去掉连接栏,但是最初我去掉连接栏后就不知道怎么关闭远程连接了,这个时候我觉得知道一些win7 远程桌面的快捷键就很重要了,针对这个问题,可用的快捷键是alt+ctrl+break切换到非全屏远程状态,点关闭就好了。其他的快捷键分别有:快捷键描述Alt+Page Up从左向右在程序之间切换。Alt+Page Down从右向左在程序之间切换。Alt+Insert以程序打开的顺序循环切换程序。Alt+Home显示“开始”菜单。Ctrl+Alt+Break在窗口和全屏之间切换。Ctrl+Al 阅读全文
posted @ 2013-04-14 10:58 曾见绝美的阳光 阅读(1246) 评论(0) 推荐(0)
摘要:【转】白话算法经典系列之十四问题描述:现有一数组a[N-1],求另外一数组b[N-1]问题约束:1.不能用除法 2.不能用除了遍历a,b两数组需要的变量之外的变量 3.时间复杂度为O(N),空间复杂度为O(1)解法:// 腾讯2012年实习生笔试加分题//http://blog.csdn.net/morewindows/article/details/8742666//By MoreWindows( http://blog.csdn.net/MoreWindows )#include <stdio.h>void PrintfArray(int a[], int n) { for ( 阅读全文
posted @ 2013-04-12 17:13 曾见绝美的阳光 阅读(758) 评论(1) 推荐(0)
摘要:线程、进程和多线程是面试过程中很容易遇到的问题,去年百度三面的时候就遇到这个问题,当时百度hr问到:线程和进程的区别是什么?你写过多进程或者多线程的程序吗?在你看来多线程和多进程程序那种程序比较难写?第一个问题很常规,但是要完全答对却不是那么容易,现在想来,第二个问题和第三个问题实际是一个问题,因为第三个问题是验证第二个问题是否说实话的最好的方式。另外,在今年4月6号微软的笔试中,也考到了这第一个个问题,那么,这么方面到底会有哪些问题呢?如果要复习从哪些方面着手呢?首先,从面试问题的角度,经过网上搜集,我认为会被问到如下问题。1.进程和线程有什么区别?这个一个最常见,却最不好回答的问题,csd 阅读全文
posted @ 2013-04-12 13:41 曾见绝美的阳光 阅读(9652) 评论(5) 推荐(0)
摘要:今天上午,网易游戏的hr电面了我,电面之后感觉不错,觉得可能有戏进入下一轮的专业面试,于是乎在网上搜之前别人的网易面经,本来想搜专业面经的,结果搜到了志伟的一篇文章,没想到他之前几天已经被网易电面过,他的面试经验写得还不错,我觉得我也可以考虑记录一下自己的面试经验。大体跟他的一样,也被问到了自己最得意的项目是什么,收获最大的项目是啥,然后在项目中遇到了什么问题,和别人合作怎么样,感觉有些问题是考察人际关系的处理问题,让我想起了去年微软电面的一些问题,对了,的确也问到了一个问题,很特别,应该是网易的特别问题,那就是说一件事情或者项目经历证明自己对待事情精益求精。与好友不同的是,我比较关注接下来的 阅读全文
posted @ 2013-04-09 18:33 曾见绝美的阳光 阅读(2263) 评论(9) 推荐(1)