自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 收藏
  • 关注

转载 操作系统面试

1.页式存储管理地址转换问题http://www.isenyo.com/?p=9若在一分页存储管理系 统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转 化为相应的物理地址。页号 块号0          21         32         13         6页式存储管理的地址结构是

2012-10-07 11:48:48 861

转载 【就业】签offer和签三方协议的不同

一般来讲,签约分为两种:签offer和签三方协议。其中,前者对个人及企业的约束效力远不及后者。下面分别来介绍。1、签offeroffer一般是单位提供给你的一个录用意向,以合同的形式提供给你,要求你在上面签字,表明你接受对方的录用意向,愿意到单位工作。所以,这实际上相当于个人和企业签署的一个合同。一般这种形式在外企中比较常见,另外就是那些不给解决户口的单位,通常也会跟你签署一个这样

2012-09-27 20:19:15 12023 2

转载 操作系统各大公司笔试题汇总

1、在段页式存储管理中,其虚拟地址空间是()A、一维                               B、二维                                C、三维                            D、层次答案:B2、采用( )不会产生内部碎片(“内零头”)A、分页式存储管理

2012-09-24 13:19:09 921

转载 对象创建问题:heapOnly,stackOnly代码(C++代码)

class   HeapOnly { public:  HeapOnly() {     cout }  void destroy() {     delete this;    } private:  ~HeapOnly(){}   }; int main() {  HeapOnly   *p = new HeapOnl

2012-09-09 12:03:51 593

转载 程序员:下一次面试前你需要准备的五个基本步骤

一、开门见山一般来说,你(求职者)在面试中会花很多时间谈论以前的经历。如果你还没有想出你的最具代表性的经历/案例,那么你现在是时候该做了。下面有张问题 表,虽然很多问题看似比较低级,但相信我,看完这些问题后,你应当反思自己。即便面试时没有碰到类似这张列表上的问题,你在面试也可以用上已准备好的答 案。1. 说说你自己吧2. 你的短期目标是什么?你2到5年内的目标是什么?3. 你的愿景

2012-09-09 11:57:50 790

转载 程序员:提高编程效率的技巧

俗话说,磨刀不误砍柴工,拿出一部分时间提升自己的技能,可以提高工作效率。你可以参考以下几条建议:1. 编写单元测试,提高效率(如果你还没有这样做)这是一个十分基础的工作,但是许多程序员并没这么做。但你应该这么做。这样做不仅能够提高代码质量,还能提高工作效率。你不但能够在发布和修改你的程序时更加自信,而且还节省了相当多的时间。试想一下,如果你正编写一个大型网络应用程序,其中一

2012-09-09 11:55:27 571

转载 缓冲还是不缓冲?这是个问题

Linux,unix在内核中设有 缓冲区高速缓冲或页面高速缓冲,大多数磁盘I/O都通过缓冲进行,采用延迟写技术。sync:将所有修改过的快缓存区排入写队列,然后返回,并不等待实际写磁盘操作结束fsync:只对有文件描述符制定的单一文件起作用,并且等待些磁盘操作结束,然后返回。fdatasync:类似fsync,但它只影响文件的数据部分。fsync还会同步更新文件的属性。fflush

2012-09-09 11:51:09 607

转载 一道表达式的经典试题

写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)int a = 4;(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);a = ?答:C 错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;改后答案依次为9,10,10,11。----------

2012-09-09 11:47:12 901

转载 求递归算法时间复杂度:递归树

递归算法时间复杂度的计算方程式一个递归方程:    在引入递归树之前可以考虑一个例子:  T(n) = 2T(n/2) + n2  迭代2次可以得:  T(n) = n2 + 2(2T(n/4) + (n/2) 2)  还可以继续迭代,将其完全展开可得:  T(n) = n2 + 2((n/2) 2 + 2((n/22)2 + 2((n/23

2012-08-24 14:25:12 767

转载 跳台阶问题 Fibonacci数列

主要是递归函数的定义,递归函数都有一个初始的状态,然后求出他的通项公式就OK了。【题 目】一个台阶一共有n阶,一次起跳可以跳一阶,也可以跳二阶。问总共有多少中跳法,并对时间复杂度进行分析。【思 路】由特殊到一般的思路吧,如果只有一阶,那么只有一种跳法;如果有2阶,那么有2中跳法(跳1阶再跳1阶,一次跳2阶);那么如果有n阶呢?假设对于n阶的阶梯,我们有f(n)中跳法;那么n阶时,我

2012-08-24 13:52:19 885

转载 把数组排成最小的数

排序的另一种phase,不是按照大小或者是字典序的顺序进行排序,而是根据题目实际的要求进行cmp函数的设计,达到题目的要求该问题就是把(字符)数组进行排序,结果是:所有的字符连接起来形成一个最小的数字。既然是字符的连接,那么相邻的两个数组元素就是进行连接然后进行题目要求的比较(这里是连接后,所形成的字符串转换成书之后的大小比较)。【题  目】输入一个正整数数组,将他们连接起来排

2012-08-24 13:39:46 572

转载 不用+,-,×,/做加法

【题 目】写一个函数,求两个整数的和。要求在函数体内不用+,-,×,/。  【思 路】学过数电的人都知道,+,-,×,/在计算机处理中的基本都是使用的全加器,而全加器在进行计算的时候用到了很多的逻辑门电路(具体的这些门电路我现在也想不起来了,呵呵),所以运算的基础其实就是二进制的逻辑运算的组合。既然题目不要求我们使用+,-,×,/,那么我们可以直接从最底层的逻辑运算开始。  为了方便讨论,

2012-08-24 13:12:16 581

转载 对称子字符串的最大长度

【题   目】输入一个字符串,输出该字符串中最大对称子串的长度。例如输入字符串:“google”,该字符串中最长的子字符串是“goog”,长度为4,因而输出为4。  【思 路1】一看这题就是遍历!没错,我们最直观的往往也是最容易实现的,这里我们暂且不考虑效率的问题。我们的基本思路是:我们如果有一个判断一个字符串是不是对称的函数的话,我们就可以用这个子函数逐一检查原字符串中所有的字符串,然后输出

2012-08-24 13:03:39 766

转载 根据二叉树的前序和中序序列来重建二叉树

根据二叉树的前序和中序序列来重建二叉树,输出其后序序列这是面试笔试中经常遇到的问题关键要理解在前序和中序序列中找左右子树的前序和中序序列的方法,利用递归实现另外字符串的标准库函数要活用[cpp] view plaincopy#include   #include   using namespace std;

2012-08-24 12:24:43 634

转载 二叉树的建立删除及三种遍历实现

二叉树的建立、删除及三种遍历的C++实现教材上的Tree类写法太累赘,不实用,将树节点直接写成结构体即可要理解结点的含义以及根结点的重要意义[cpp] view plaincopy#include   #include   //用CPP文件编写,否则编译出错,需要加struct且delete不识别  struct

2012-08-24 12:06:45 570

转载 FSM

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】    在面试环节中,有一道题目也是考官们中意的一道题目:如果统计一段由字符和和空格组成的字符串中有多少个单词?    其实,之所以问这个题目,考官的目的就是想了解一下你对状态机了解多少。    (1) 题目分析    从题目上看,如果对一个字符串进行处理,那么可

2012-08-23 12:47:00 559

转载 希尔排序(ShellSort)

希尔排序(ShellSort)[cpp] view plaincopy#include "ShellSort.h"  #include "Print.h"    // 希尔排序,分组进行插入排序,最后一步仍然是插入排序,但是因为之前的操作使逆序数减少,所以相对单纯的插入排序效率高。  void ShellSort(int A[], i

2012-08-18 16:56:13 433

转载 动态规划 求解 Minimum Edit Distance

自然语言处理(NLP)中,有一个基本问题就是求两个字符串的minimal Edit Distance, 也称Levenshtein distance。受到一篇Edit Distance介绍文章的启发,本文用动态规划求取了两个字符串之间的minimal Edit Distance. 动态规划方程将在下文进行讲解。 1. what is minimal edit distanc

2012-08-18 16:33:13 650

转载 printf(&unix["\021%siz\012\0"].....

快点来看printf(&unix["\021%siz\012\0"].....                                      看这行代码:printf(&unix["\021%siz\012\0"], (unix)["have"] + "fun" - 0x60);看下面解释:首先看一段代码: 代码:

2012-08-14 15:53:20 678

原创 递归做1元钱换零钱

给定足够的 5角,2角,1角,5分,2分,1分这六种零钱,将1元(100)换成零钱,一共有多少种换法?int kind[5] = {50,25,10,5,1};int f(int n,int k){    if(n==0){        //printf("ok\t");        return 1;    }        if(n

2012-08-14 15:48:33 2594

原创 Hash函数

常用的字符串函数有:ELFHash、HfIp 等hash函数他们都是十分有效的hash函数,其中,ELFHash是源于Unix System V的字符串hash函数,HfIp是处理URL熊爱国很好的hash函数,一直是用于天王搜索引擎中。int ELFHash(char *str){ unsigned long hash = 0; while(*str!='\0')

2012-06-16 17:45:14 1024

转载 C++优秀书籍清单

多读一些优秀的书籍,对于开发者稳固编程基础、提高编程技能有很大帮助。但是,大多时候,初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶。 本文总结了一个C++优秀书籍清单,希望能够为你带来一定的帮助。这些书大多数都有中文版,并且可以很容易在网上找到。 阶段 1 《Essential C++》 这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C

2012-06-10 12:25:27 615

原创 简单的数组类 Array

#include#includeusing namespace std;templateclass Array{ public: Array():data(0),sz(0) { } Array(unsigned int size):sz(size),data(new T[size])

2012-06-09 14:39:42 543

转载 深度解析前置++i和后置i++的效率

i++(后置)和++i(前置)。二者的语义是有区别的,前者先将其值返回,然后其值增1;后者则是先将值增1,再返回其值。i++; //后置++i; //前置注意这里的前置和后置是说的运算符。二者的语义则是一样的,都是将原值增1。但是对于一个非内建类型,在重载这两个操作符后,单独使用在性能方面是否有差别?来考察它们的实现先看下面这个返回对象的分析:class C{pub

2012-06-09 00:19:46 736

转载 面试时的那点事

面试时的那点事      算来毕业也将近两年了,从刚回写程序开始,面试过的公司是屈指可数,难说算坏算好啊。主席老人家说过要在战斗中壮大自己,看来我历练的还远远不够,不过在有限的斗争中,也总结了些许,与大家共勉之。      说来有些问题太过于tricky,如果过分沉浸在这些奇巧淫技里,反倒害了自己,不如把精力投入到更有效的地方。偏偏还能碰到有些人就喜欢追究这类问题,就像孔乙己一样因为知

2012-06-09 00:16:16 638

转载 设计只能在堆或者栈上创建的类

看到了CSDN一篇帖子在讨论这个问题,某牛给出了回答,于是加以整理了一下设计只能在堆上分配的类方法:将类的构造函数或者析构函数设置为私有,迫使类对象在栈的构造时编译出错[cpp] view plaincopy#include   using namespace std;  class OnlyHeap  {  public

2012-06-08 22:17:54 587

原创 swap函数的低级错误写法

#includeusing namespace std;void swap(int &a,int &b){ // cout<<"citation"<<endl; int t=a; a=b; b=t;}/*void swap(int *a,int *b){ cout<<a<<"\t"<<b<<endl<<endl; co

2012-06-08 19:52:43 1195

转载 每天工作4小时的程序员

每个人都熟悉这种作息规律:早上9点去上班,坐在电脑前面,编一天的程序,下午5点下班回家。如今,非常感谢蒂莫西·费里斯 (Timothy Ferriss)的《每周工作4小时》,我开始重新思考应该如何工作,如何让自己变成更有效率的程序员。最近,我把我的从周一到周五的作息规律做了一次较大的调整。很长时间以来,我一直像所有其他程序员那样工作、休息。但就在2011年的下半年,我开 始了一项试验,想看

2012-06-08 17:44:28 637

转载 类内部存储的东西:太简洁了----小话c++(5)

http://blog.csdn.net/cxsjabcabc/article/details/7623630想知道一个类内部是什么,没有比知道它存储的数据还更直接的了。Q: 为什么一个不包含任何成员变量的类的大小不是0?如下代码:[cpp] view plaincopy#include   using namespa

2012-06-08 17:42:48 1786

转载 Google研究院公布最新F1数据库 将NoSQL与RDBMS有机融合

导读:大数据时代的来临也促使NoSQL数据库迅速崛起,但这并不意味着传统关系数据库即将消亡。近日Google研究院就推出被称为F1的新型数据库,F1作为一种混合型数据库融合了BigTable的高扩展性和SQL数据库的可用性和功能性。F1数据库作者共有12人,清单如下:Jeff Shute、Mircea Oancea、Stephan Ellner、Ben Handy、Eric Rollins、Bar

2012-06-08 17:38:21 1232

转载 Sleep(0)及其使用场景

Sleep(n)的作用是让当前线程睡眠n毫秒,以便执行其他线程,如果没有其他线程,那睡眠n毫秒后,继续执行。    而如果n=0,Sleep(0)是指CPU交出当前线程的执行权,让CPU去执行其他线程。也就是放弃当前线程的时间片,转而执行其他线程。    那么,Sleep(0)应该在那种情况下使用? 一般来说,如果当前线程比较耗时比较占CPU资源,可以在结尾处加上Sleep(0), 这样效

2012-06-08 17:37:07 663

原创 Handle的实现

Handle的实现在这里主要是残开淘宝的源代码和c++沉思录在淘宝的代码里面,定义了一个HandleBase类,他是handle的基类,里面主要的操作是:1、定义一个Handle准备控制的对象的指针2、get函数获得这个指针3、operator*解引用和->操作符4、bool函数,指针是否为NULL5、各种关系操作符,在这里定义成非类的成员函数接着是正式的Handle类

2012-06-08 14:10:07 778

转载 数据结构_Hash通过liner的方法解决冲突

题目链接:http://acm.fzu.edu.cn/problem.php?pid=1353 题目大意:给定100万个木头名称,相同的为一个种类,种类不超过1万,问每个种类出现的概率 解题思路:这题不复杂,简单排序同类的就扎堆了,然后直接判断也能卡时间卡过。正解是用Hash求解,由于每个名称最长是30,所以直接用个数组记录出现次数也不合适,会MLE.那就随机用

2012-06-07 19:50:48 582

原创 C++设计:代理类

#include#include#includeusing namespace std;class Base{public: virtual int get()const = 0; virtual void set() = 0; virtual Base* copy()=0;};class A:public Base{public: A(){} int get()c

2012-06-07 19:05:19 547

原创 代理模式

简介  即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。  代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。  代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象

2012-06-07 18:20:47 458

原创 类设计者的核查表

设计一个类的时候需要考虑的问题:1、你的类是否需要一个构造函数2、你的数据成员是否私有化使用函数返回私有数据成员的值,并且函数要使用const,说明私有数据成员不能被修改。3、你的类是否需要一个无参的构造函数能否定义成数组的形式4、是不是每个构造函数初始化所有的数据成员初始化时构造函数的主要任务5、类是否需要析构函数看类是够使用了

2012-06-07 18:09:58 591

转载 Linux 内核网络优化

http://blog.csdn.net/ysdaniel/article/details/7307091核心的网络功能,所以相关的设定数据都是放置在 /proc/sys/net/ipv4/ 这个目录当中。 至于该目录下各个档案的详细资料,建议大家可以参考核心的说明文件: /usr/src/linux-{version}/networking/ip-sysctl.txt

2012-06-07 12:41:36 1147

原创 装饰模式

概述  JAVA23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。编辑本段装饰模式的特点  (1) 装饰对象和真实对象有相同的接口。这样客户端对象就可以以和真实对象相同的方式和装饰对象交互。  (2) 装饰对

2012-06-07 12:38:28 446

转载 并发编程学习总结

http://blog.csdn.net/chgaowei/article/details/7237673我看书有个特点,不写笔记,就感觉好像没有看过书,印象不深刻(虽然写了也未必深刻),所以我看书会比较慢,笔记会很多。这里总结一下并发。最近学习《深入理解计算机系统》,最后一章中讲到了并发。之前一直以为并发是为了提高性能,书中将并发理解为逻辑控制流在时间上的重叠。简单的说,就是

2012-06-06 13:02:21 400

转载 开源软件

(1) libeventhttp://libevent.org/(2) libevhttp://software.schmorp.de/pkg/libev.html(3) folly - C++11, cloud service, hosted by FB.https://github.com/facebook/folly(4) Casa

2012-06-06 12:59:49 381

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除