面试分三个部分
第一部分是基础的数据结构知识
第一个题目 两个顺序单链表的合并
第二个题目 在主字符串中查找子字符串
第三个题目 广度优先二叉树的遍历
第二部分是程序设计部分
问题是:关于BT和P2P的软件下载原理和设计思想
第三部分是难度比较高的算法题目
有两个题目
题目一 byte[]的压缩方法?
题目二 有一个排序过的数组,现使用抛物线公式(y=ax2+bx+c)计算出值然后重新进行数组的排序?
以下是今天的面试题:
第一位:
1,大数相乘问题,给定两个比较长的数字字符串,返回它们正确的乘积;
2,压缩,给定一字节数组,例如1,1,0,2,111,23,44,53,13,13,13,2,2,2,2,2,2,2,3,4,5
其中,连续的字符压缩成0,value,count的形式,比如中间连续的七个2压缩为0,2,7
设计程序实现.
第二位:
1,给定两个字符串,判断其中一个是不是另一个的子串(最好不另外开辟存储空间)
2,一个树,从顶点开始,依次输出各层结点值.例如下面树的输出为ABCDEFGH
A
B C
D E F
G H
第三位:
1,介绍你做过的项目中印象比较深刻,遇到过较大难题的,描述并展开讨论.
第一位:
英文答题:
英文介绍自己做过的项目
photoshop里的选择颜色相同的连通区域
int [][] select(int x,int y, BITMAP m)
第二位:
有一个排序过的数组,现使用抛物线公式(y=ax2+bx+c)计算出值然后重新进行数组的排序?
对OO(面向对象)的理解
第三位:
有关WINRAR文件压缩
C的四则运算式是如何计算的
两个单向链表,从某个节点开始到尾节点都是公用的,如何找到该节点
1.给出两棵树,写出程序验证两棵树是否相似。
2.给出一个点阵图像及其中某一点坐标,写出程序选中该点及其周围所有相同颜色的封闭区域,区域可以为任意不规则形状。
3.现有一个二次方程y=ax^2 + bx +c,一个给定的数组,数组中每一个元素充当方程中x自变量,按照y的值对数组进行排序。程序要求尽可能的简单,例如在不求出y的情况下等。
4.给出一个字符数组,每隔一定量字符元素后有一个空格元素,现要求每一个以空格分隔的元素序列逆序。(此题完成后如有bug请自行修正再提交直至通过,不使用现有类库)
第一位:
英文答题:
英文介绍自己做过的项目
photoshop里的选择颜色相同的连通区域
int [][] select(int x,int y, BITMAP m)
第二位:
有一个排序过的数组,现使用抛物线公式(y=ax2+bx+c)计算出值然后重新进行数组的排序?
对OO(面向对象)的理解
第三位:
有关WINRAR文件压缩
C的四则运算式是如何计算的
两个单向链表,从某个节点开始到尾节点都是公用的,如何找到该节点
以下是今天的面试题。
1、void fun (Node *s1, Node *s2)
s1 和s2都是有序链,要求把s2复制到S1里边,并且不破坏他们的顺序,不能用新链。
例如 S1: 1,2,3 .S2 1,3,6 得到的新链是。 S1 : 1,1,2,3,3,6
2 一辆 车上有 十个位置, 十个人上车,第一个人的车票丢了。他上去随意坐。问第十个人上车后坐到自己应该的位置的几率?
3 void fun(char *s1, char *s2) 如: s1: abcdds. s2 bc
实现把s1中的 和s2相同的部分去掉。新的s1 : adds
不能借助于新的字符数组。
6.14 MS面试题
1. Bool isprime(int n)。给定一个整数n,判断该数是否为质数。并作算法优化。
2. 给定两个降序链表,将它们合并成一个降序链表。
3.给定一个字符串str1和一个字符m。实现:
――找出m在str1中出现的次数;
――连续出现的算一次;
――只扫描str1一次。
如:str1=“anbdjaandad”m=’a’
返回的结果为3
4.在一个给定的自然数数组中找出一个自然数n出现的位置,并优化算法。
5.介绍你的项目经历。
1。 大数相乘(不需要考虑正负号与浮点数)
2。两颗二叉树判断是否存在共同的子节点,有的话还回该节点否则返回null
3。 写OO关系图模拟画图板:shape,circle,rectangle,triangle各自类如何设计(怎么处理move,drag,color,save,load)如果老版本打开新版本的新的图形对象如何处理?
4。数据库访问怎么提速?假设海关服务器只能提供500×10的访问流量,现有20台客户机要访问(每台都想访问500)怎么设计系统使得业务处理的更流畅。
5。两有序链表合并
6。在bitmap中,从某节点出发搜寻相同颜色的区域。
今天新的ATC面试题:
1.一个矩阵a[m][n]中,每个元素为1或0,计算含有1的行数和列数。
2.两个二叉数有一个公共子树,求其相交处的节点。
3.用户输入一个词条,在数据库中搜索出与之相关的项,但可能输出的项太多,一页显示不下,如何解决这个问题?
请编写代码,用类实现显示页面ListView和数据库DataAccess的功能,解决该问题。
一面:
1.UI设计中得界面设计与核心算法时间得关系,即如何设计这两者之间得关系,把两者之间类的关系设计出来,要求由必须的代码(c++);
二面:
1.判断一个是否为质数 bool IsPrimer(int x)
2.合并两个已排好序的链表 list* merge(list *list1, list *list2)
三面:
1.两个稀疏矩阵的乘法;
2.以单词为一个单位,逆序一个字符串, “how are you”---》“you are how”
1.问了一些数据库的动态权限设计的问题
2. 2层c/s结构和3层c/s的优缺点
一个指针delete完以后还可以再次delete么
写了一个类的构造和析构函数
一个char *p传递到子函数里面再执行p++,那么主函数里面p指针会变么
3 顺序列表的合并,验证是否为质数。
第一面:1.比如说你需要adobe公司提供一些功能函数,请设计一个接口类,在这个
类里面写出你需要adobe公司提供的一些函数接口。
2.一个类似于汉诺塔的游戏,把一个塔上大小不同环,移动到另外一个塔上,在另外一个塔上各个环的顺序和原来一样。主要考察一下栈的基本操作。
第二面:英文介绍一下项目经验
两个有序链表合并
第三面:1.说说虚函数和虚拟继承。
2.两个点之间的最短路径,在这两个点之间有许多凸多边形,你所选择的
路径不能穿过这些凸多边形,写出求解问题的基本思路和所用到的数据结构。
1.给出一个稀疏矩阵,要求打印稀疏矩阵
2.稀疏矩阵相乘
3.设计一个电梯调度算法,调度电梯的运行。
1。c++ reference,与pointer的区别
2。c++单继承与多继承
3。c++多态
4。c++虚函数实现机制
算法:
给2个无符号的整数,判断其和是否溢出,进一步,如果是2个有符号的整数。
设计模式
了解几种设计模式,就一个最了解的做介绍
软件测试
一个函数有3个参数,该参数判断这3个参数是否能够构成一个三角形,给出测试例。
数据库
sql server2000,连接数据库的几种方式,ado及ado.net连接数据库的主要步骤。
主要的题目就这些,还有一些其他方面的项目经验 。
第一个人像是一个manager, 他面试的流程是:
1.向我介绍了那边项目的内容和职责
2.要我用英文介绍一个我最近做的一个项目
3.要我作一下自我介绍,期间会问我一些相关的问题
4.问了我一个有关测试的问题,具体是怎么去测试一个判断给定三条边的三角形是不是等腰三角形的函数
5.让我写出一个C++的string类
第二个人是一个工程师, 他的流程是:
1. 问我有关c++中引用(reference)和指针(pointer)的区别
2. 让我写一个函数来实现这样的功能: 将输入的一个字符串中以元音字母开头的单词reverse一下.
3. 问我ODBC的使用过程,怎么建立连接?怎么查询?
面试分三个部分
第一部分是基础的数据结构知识
第一个题目 两个顺序单链表的合并
第二个题目 在主字符串中查找子字符串
第三个题目 广度优先二叉树的遍历
第二部分是程序设计部分
问题是:关于BT和P2P的软件下载原理和设计思想
第三部分是难度比较高的算法题目
有两个题目
题目一 byte[]的压缩方法?
题目二 有一个排序过的数组,现使用抛物线公式(y=ax2+bx+c)计算出值然后重新进行数组的排序?
以下是今天的面试题:
第一位:
1,大数相乘问题,给定两个比较长的数字字符串,返回它们正确的乘积;
2,压缩,给定一字节数组,例如1,1,0,2,111,23,44,53,13,13,13,2,2,2,2,2,2,2,3,4,5
其中,连续的字符压缩成0,value,count的形式,比如中间连续的七个2压缩为0,2,7
设计程序实现.
第二位:
1,给定两个字符串,判断其中一个是不是另一个的子串(最好不另外开辟存储空间)
2,一个树,从顶点开始,依次输出各层结点值.例如下面树的输出为ABCDEFGH
A
B C
D E F
G H
第三位:
1,介绍你做过的项目中印象比较深刻,遇到过较大难题的,描述并展开讨论.
第一位:
英文答题:
英文介绍自己做过的项目
photoshop里的选择颜色相同的连通区域
int [][] select(int x,int y, BITMAP m)
第二位:
有一个排序过的数组,现使用抛物线公式(y=ax2+bx+c)计算出值然后重新进行数组的排序?
对OO(面向对象)的理解
第三位:
有关WINRAR文件压缩
C的四则运算式是如何计算的
两个单向链表,从某个节点开始到尾节点都是公用的,如何找到该节点
第一位:
1. 简单的介绍自己,自己所在的项目
2. C++的一些基础知识(e.g. overload/override, assert()的作用)
3. 字符串倒序,并写出测试用例
4. 链表倒序 (A->B->C è C->B->A)
5. 链表排序
第二位:
1. 介绍自己,详细说说自己的项目(流程,框架,设计)
2. 介绍自己曾经做过的写过代码量较长的程序,说明怎么设计的
3. C/C++的特性比较
4. 找出字符串中所有数字的位置(abcd123b1d2, 找出其中数字所在的位子,保存在数组返回)
5. 给任意图形,找出图形中所有的三角形,要求自己定义数据结构,并写出算法
2个端点之间的线是直的,要求定义的数据结构能适用于任何图形
一个是做过什么项目。
二是倒转一个字符串,按单词倒转。但是他要求不要额外空间,然后要求以n时间复杂度解决。
三是给一个字符串"aabbccdabc",统计每个字母出现的次数。连续相同的字母只能算一次。比如上面的结果应该是
a:2
b:2
c:2
d:1
微软面试的流程为:(build)
面试官1:用dos下的命令行完成两项工作(给一张纸,上面写了该命令的详细参数)。
a. 如何能够实现一个dir命令,需要用到参数:找到文件而不包含目录
b. 好像是findstr命令,记不大清了。
面试官2: 英文的自我介绍
项目经验
觉得收获最大的项目是哪一个,为什么
用python 或者你会的任何一种语言,实现类似正则表达式的功能。即从文件中找到一个字符,并对其进行修改。
1. Self-introduce in english.
2. 设计、实现图像区域遍历算法:
上下左右为相邻点,给定区域中一点,找出所有相邻点构成的区域
3. 网络、安全领域知识:
列举大量名词:DA,CA,DNS,RSA,DHCP。