面试集锦
文章平均质量分 56
无敌的成长日记
这个作者很懒,什么都没留下…
展开
-
天地融2014校园招聘笔试题
注:凭记忆写的,题型可能有变化。1、int a;#define M(x,y) (x/y)a = M(4+2, 3)a=?这是考察宏定义的知识,宏定义就是简单的替换。M(4+2, 3)的展开式为4+2/3。所以a=4。下面的这两个例子可能有助于更好的理解:#define m(x) x*x*(x+1) int a=2,b=3; m(a+b)的结果是26m(原创 2013-11-14 00:13:50 · 2491 阅读 · 0 评论 -
单链表之插入结点
题:编写程序实现单链表的插入。【美国某著名计算机嵌入式公司2005年面试题】答案:完整代买如下:// P167_example1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include typedef原创 2013-07-30 16:06:44 · 1728 阅读 · 2 评论 -
单链表之逆置
题:编程实现单链表的逆置。【美国某著名分析软件公司2005年面试题】解析:单链表模型如下图所示。进行单链表逆置,首先要让P2的next指向P1,如下图所示。原创 2013-07-30 19:10:47 · 902 阅读 · 0 评论 -
位运算与嵌入式编程之位制转换之一
题:下面哪个进制能表述13*16=244是正确的?【中国台湾某计算机硬件公司V2010年5月面试题】A. 5 B. 7 C. 9 D. 11解析:13如果是一个十进制的话,它可以用13=1*10^1+3*10^0来表示。现在我们不知道13是几进制,那我们姑且称其X进制。X进制下的13转化为X进制可以用13=1*X^1+3*X^0表示;X进制下16转化为X进制可以用16=1*X^1+原创 2013-07-24 10:32:37 · 1082 阅读 · 0 评论 -
模版——容器,迭代器
题:试用多态实现线性表(队列、串、堆栈),要求具备线性表的基本操作:插入、删除、测长等。【美国著名软件企业GS公司2007年11月面试题】解析:队列、串、堆栈都可以实现push、pop、测长等操作。现在要求用多态去实现,就要建立一个线性表的共性模版,来实现以上的功能。答案:程序源代码与解释如下// P101_example2.cpp : Defines the entry po原创 2013-07-04 14:55:09 · 1192 阅读 · 0 评论 -
继承与接口之默认继承方式
题:找出下面程序的错误,并解释它为什么是错的。【中国台湾某著名杀毒软件公司2005年面试题】// P138_example2.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include class Base{public: int val; Base()原创 2013-07-19 09:58:01 · 1330 阅读 · 0 评论 -
泛型编程之3
题:Below is usual way we find one element in an array: In this case we have to bear the knowledge of value type "int", the size of array, even the existence of an array. Would you re-write it using t原创 2013-07-02 14:51:01 · 999 阅读 · 0 评论 -
泛型编程之2
题:解释一下什么是泛型编程,泛型编程和C++及STL的关系是什么?并且,你是怎么在C++环境里进行泛型编程的?【美国某著名CPU生产公司面试题】答案:泛型编程是一种基于发现高效率算法的最抽象表示的编程方法。也就是说,以算法为起点并寻找能使其工作且有效率工作的最一般的必要条件集。令人惊讶的是,很多不同的算法都需要相同的必要条件集,并且这些必要条件有多种不同的实现方式。类似的事实在数学里面原创 2013-07-02 10:59:31 · 884 阅读 · 0 评论 -
泛型编程
题:何为泛型编程?【美国某著名CPU生产公司面试题】答案:STL代表用一致的方式编程是可能的。实际上,它完全不同于我们过去看到的C++编程,也完全不同于大多数教科书里所描述的方式。STL并不是试图用C++编程,只是试图找到一种正确的方式来处理软件,寻找一种可以表达我的想法的语言而已。换句话说,我知道我想说什么。我能用C++说,我能用Ada说,我能用Scheme说。我可以让自己去适应语言,但原创 2013-07-02 10:45:21 · 682 阅读 · 0 评论 -
向量容器2
题3:以下代码有什么问题?如何修改?【中国某著名综合软件公司2005年面试题】// P96_example3.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include void print(std::vector);int _tmain原创 2013-07-02 10:37:10 · 925 阅读 · 0 评论 -
向量容器
题:介绍一下STL和包容器,如何实现?举例实现vector。【美国某著名移动通信企业面试题】答案:C++的一个新特性就是采用了标准模版库(STL)。所有主要编译器销售商现在都把标准模板库作为编译器的一部分进行提供。标准模板库是一个基于模版的容器类,包括链表、列表、队列和堆栈。标准模版库还包含许多常用的算法,包括排序和查找。标准模板库的目的是提供对常用需求重新开发的一种替代方法。标准原创 2013-07-01 09:57:08 · 1726 阅读 · 0 评论 -
继承与接口之覆盖之一
题:以下代码的输出结果是什么?【中国著名门户网站W公司2007年9月校园招聘面试题】// P123_example1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include class A{protected: int m_data;public: A(原创 2013-07-16 10:11:32 · 986 阅读 · 0 评论 -
概率题
题:Please write out the program output.(写出下面程序的运行结果。)【德国某著名软件咨询企业2005年10月面试题】// P92_example1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #define原创 2013-06-28 11:32:14 · 1313 阅读 · 1 评论 -
面向对象之拷贝构造函数和赋值函数之二
题:哪个子类的虚函数重新声明是正确的?【中国台湾某著名杀毒软件公司2004年面试题】A. Base* Base::copy(Base*); B. Base* Base::copy(Base*); Base* Derived::copy(Derived*); Derived* Derived::copy(Base*);C. ostream& Base::print(i原创 2013-07-12 20:14:34 · 1108 阅读 · 0 评论 -
单链表之排序
题:编程实现单链表的排序。答案:完整代码如下:// P167_example1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include typedef struct student{ int da原创 2013-07-30 16:40:15 · 3428 阅读 · 0 评论 -
单链表之插入删除结点
题:编程实现单链表删除结点。【美国某著名分析软件公司面试题】解析:如果删除的是头结点,如下图所示。则把head指针指向头结点的下一个结点,同时free P1结点,如下图所示。。如果删除的是中间结点,如下图所示。则用P2的next指向P1的next同时,free P1,如下图所示。。答案:完整代码如下:// P167_example1.cpp原创 2013-07-30 15:02:57 · 2630 阅读 · 0 评论 -
单链表之建立/测长/打印
题:编程实现一个单链表的建立/测长/打印。【日本某著名家电/通信/IT企业面试题】答案:完整代码如下:// P167_example1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include type原创 2013-07-30 10:52:51 · 2424 阅读 · 2 评论 -
高效合并两个有序数组
问题:两个有序数组,合并成一个有序数组,假设第一个数组空间足够容纳两个数组。分析:考虑到a数组很大,可以直接在a数组上进行合并,但是要讲究效率。如果单纯从前往后合并,那么效率会非常低,因为a数组后面的数字需要不停的移动。换一种思路,我们采用从后往前合并,首先计算出总长度,设置一个指针从a数组最后往前移动。算法代码:#include #include #include转载 2013-10-18 00:03:52 · 1470 阅读 · 0 评论 -
判定一棵二叉树是否是二叉搜索树
问题给定一棵二叉树,判定该二叉树是否是二叉搜索树(Binary Search Tree)?解法1:暴力搜索首先说明一下二叉树和二叉搜索树的区别。二叉树指这样的树结构,它的每个结点的孩子数目最多为2个;二叉搜索树是一种二叉树,但是它有附加的一些约束条件,这些约束条件必须对每个结点都成立:结点node的左子树所有结点的值都小于node的值。 结点node的右子树所有结点转载 2013-10-17 23:47:52 · 1031 阅读 · 0 评论 -
百度2014校园招聘-研发工程师笔试题(济南站)
一,简答题(30分)1,当前计算机系统一般会采用层次结构存储数据,请介绍下典型计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10分) 所谓存储系统的层次结构,就是把各种不同存储容量、存取速度和价格的存储器按层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各种存储器中。目前,在计算机系统中通转载 2013-10-14 22:03:42 · 1355 阅读 · 0 评论 -
广联达软件开发笔试题
1.[编程]给定一个整数,获得它的逆序数,如整数87231,逆序后为13278// nixushu.cpp : Defines the entry point for the console application.////思路是先转成字符串再操作#include "stdafx.h"#include #include //返回值为计算出的逆序数int fun(int nu原创 2013-09-20 18:41:44 · 7198 阅读 · 2 评论 -
阿里巴巴笔试题
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/69029171、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?A、7 B、8转载 2013-09-15 15:40:03 · 1978 阅读 · 0 评论 -
字符串中相同且长度最长的字符串
题目出自:《程序员面试宝典》(第三版) P226页 面试例题2 输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及首字符的位置。例如“yyabcdabjcabceg”,输出结果应该为abc和3。 这个题目存在一个歧义,例如如果测试字符串为aaaaaa,我一开始以为结果是长度为3的aaa,原来正确答案是长度为5的aaaaa。即2个等长的子串可以有转载 2013-08-21 21:57:40 · 4599 阅读 · 0 评论 -
写一个方法,输入任意一个整数,返回它的阶乘
// jiecheng.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include //递归实现long fac(int n){ long f; if(n == 0) f = 1; else f = n*fac(n-1); return f;}//非原创 2013-08-08 21:12:07 · 4067 阅读 · 0 评论 -
二分查找算法
二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为: 1.第一步查找中间元素,即5,由于5 2.寻找{6, 7, 8,转载 2013-08-08 16:07:27 · 822 阅读 · 0 评论 -
马云:写给在工厂上班,月薪2~3k的同学们
或许你现在背井离乡,生活过的马马虎虎,拿着2-3千的工资,有电视看有电脑玩,这就够了,但是未来在哪里?下面的话请耐心看完,也许会对你有一些的帮助!! 每年,制造业都会吸纳很大一部分大学毕业生,在这些职场新人庆幸找到工作,对未来充满憧憬的时候,他们的前辈——已在制造业内打拼了几年的师兄师姐们——却怀着深深的忧虑,他们不知道未来会怎样?他们不知道何时会被抛弃?一、职业生涯的O形路口转载 2013-08-02 19:59:41 · 2572 阅读 · 0 评论 -
迄今见过的最好的职业规划文章
一、选择职业 职业的选择,总的来说,无非就是销售、市场、客服、物流、行政、人事、财务、技术、管理几个大类,有个有趣的现象就是,500强的CEO当中最多的是销售出身,第二多的人是财务出身,这两者加起来大概超过95%。现代IT行业也有技术出身成为老板的,但实际上,后来他们还是从事了很多销售和市场的工作,并且表现出色,公司才获得了成功,完全靠技术能力成为公司老板的,几乎没有。这是有原因的,因为销售转载 2013-07-31 17:11:37 · 924 阅读 · 0 评论 -
位域的用法
首先看一个例子:struct a{ int x:1; int y:2; int z:33;};位域的概念位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划原创 2013-07-23 16:02:49 · 3974 阅读 · 0 评论 -
C++类型转换 static_cast, dynamic_cast, reinterpret_cast, const_cast
-- static_cast用于类层次结构中基类和子类之间转换。(基类和子类之间的转换通常建议用dynamic_cast) 进行上行转换(把子类的指针转换成基类)是安全的; 进行下行转换(把基类的指针转换成子类)时,由于没有动态类型检查,所以是不安全的。用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。转载 2013-07-24 16:12:35 · 789 阅读 · 0 评论 -
面向对象之拷贝构造函数和赋值函数之三
题:以下程序存在问题吗?该如何修改?【中国著名杀毒软件企业J公司2008年4月面试题】// P115_example5.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include class NameStr{private: char *原创 2013-07-12 21:29:48 · 710 阅读 · 0 评论 -
不可掉以轻心!当心面试的最后5分钟
据调查,超过97%的面试官都会在面试的最后时刻抛出一个看似漫不经心的问题:“你还有什么问题要问我们的吗?”面对这个问题,你万不可掉以轻心!很多人都倒在了这面试最后5分钟里。太高估自己让猎头印象深刻的是一个叫阿K的求职者。阿K工作了5年,经过5年的磨练,他觉得自己各方面的工作技能都有了显著提高,尤其是英语水平突飞猛进。当 他在报纸上看到一家500强外企在招聘部门经理秘书时,信心十足地认为以自转载 2013-07-12 19:28:28 · 761 阅读 · 0 评论 -
螺旋队列问题2
题:如矩阵1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9 找出规律,并打印出一个NxN的矩阵,规律就是从首坐标开始顺时针一次增大。解析:依次:按左-->右,上-->下,右-->左,下-->上的原创 2013-06-27 15:23:34 · 1657 阅读 · 2 评论 -
zigzag数组
ZigZag数组就是形如下图的,依次沿对角线增加和减小交替变换的数组,犹如一条蛇形线,又说是“之”字形数组对于N*N的zigzag数组,可以分两部分输出:左上三角+对角线, 右下三角1. 对于左上三角+对角线,我们可以按每一条递增的斜线填充,假如填充到第cross条斜线(从0开始计数),每一个待填充的a[i][j],都有i+j = cross。且j, j的取值原创 2013-06-08 10:19:16 · 1779 阅读 · 0 评论 -
典型递归问题1
题1:输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序。即输出125,146,145,146。【美国著名数据分析软件企业SA公司2008年面试题】解析:本题算法是先找到第二个字符串中各个字符分别出现的位置,利用其位置构造多叉树(构造规则为子节点必须比父节点大)。遍历构造完成的多叉树即相应的组合。例子中搜索到a、b、c在源字符串中出现的位置序列分别为{1}原创 2013-05-31 10:44:09 · 917 阅读 · 0 评论 -
数组与循环问题1
题1、以下代码的输出结果是什么?【中国著名金融企业J银行2008年面试题】#include #include using namespace std;int main(){ int x = 10; int y = 10, i; for(i = 0; x > 8; y = i++) { printf("%d,%d,", x--, y); } return 0;}A原创 2013-06-05 10:56:11 · 846 阅读 · 0 评论 -
典型递归问题3
题3:设计递归算法x(x(8))需要调用几次函数x(int n)。【美国著名数据分析软件企业SA公司2009年11月面试题】class Program{ static void Main(string[] args) { int i; i = x(x(8)); } static int x(int n) { if(n <= 3) return 1; e原创 2013-06-04 15:37:04 · 1753 阅读 · 0 评论 -
典型递归问题2
题2、请给出此题的非递归算法:【中国著名门户网站企业S公司2008年6月面试题】解析:本题类似于杨辉三角形,其实就是计算一个对角线值,用list保存一个对角线元素即可。除了横边和纵边按顺序递增外,其余每一个数是它左边和上边数字之和。1, 2, 3, 4, 52, 4, 7, 11, 163, 7, 14, 25, 415, 16原创 2013-06-04 11:18:34 · 891 阅读 · 0 评论 -
程序员面试100题之六:最长公共子串
题目:如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。请编写一个函数,输入两个字符串,求它们的最长公共子串,并打印出最长公共子串。 例如:输入两个字符串BDCABA和ABCBDAB,字符串BCBA和BDAB都是是它们的最长公共子串,则输出它们的长度4,并打印任意一个子串。转载 2013-05-07 16:00:18 · 655 阅读 · 0 评论 -
经典排序算法——冒泡排序Bubble sort
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子例子为从小到大排序,原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |第一趟排序(外循环)第一次两两比较6 > 2交换(内循环)转载 2013-04-25 17:19:22 · 583 阅读 · 0 评论 -
经典排序算法——快速排序
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮转载 2013-05-02 16:56:50 · 519 阅读 · 0 评论