问执行结果
2.char*str="hello,world!
"
strcpy(str,"hi");
大概是这样,问执行结果
3.RET和RETI两个汇编返回的区别
4.VC中程序编译成汇编后,开头结尾都有固定的两个语句,问是什么。
威盛的logic考试
1.用英文写你最近完成了什么样的问题?
3.Z=S?
A:
B,用cmos电路搭建
4.两位的全加法器的真值表和逻辑电路设计。
5.Verilog的非阻塞赋值问题。
clk,a=4h'0,b=4h'8,
always@(posedgeclk)a=b+1;
always@(posedgeclk)a=b+1;
画出a,b得时序图
6.自动售货机。
只卖0.35美元的东东,可投0.25,0.1,0.05美元,
自设变量,画出状态机图。
还有一些名词解释,一道智力题。
威盛的考题(转自水木)
Software的题
第一题
把x86的数据流图画出来,包括cpu,mem,chipset(southbridgeandnorth..)
iosub-system,AGP,iobus,etc
第二题
(1)说明writeback/writethrough的区别,这个好像是关于cache的两种策略吧
我只有关于os的延迟写回等概念,所以这个我不知道
(2)内存读取时间1000ns、cache读取时间100ns,读命中的概率0.9
对cache修改的可能性20%,只读的可能性80%,大致是这么个意思
要你求平均的读时间
第三题
c语言的题
最关键的地方是这样一句话
sprintf(s,"%%.%is\n",5);
printf(s,"hello,world!
");
我不知道%i是不是和%d用法一样
如果是的话,%.5s在字符串里面不知道表示什么意思,有%2.3f之类的,没有听说过%.5
s
第四题
汇编的题
需要掌握的就是x86下面的各个寄存器做什么用处的
题目要求吧这个汇编转成c语言描述
中间有个call语句,之前push,之后pop,此外用到mul运算
第五题
第六题
都是arm的题
第五是选择题,说arm有哪些特点
中间的题,我都没有仔细看了
应该还有两到三道
最后一道题
是说明什么是奈奎斯特定理。
由于是英语的题,而且我对信号处理不熟悉
感觉是奈奎斯特,不知道错没有错,如果没有错的话,别的书上翻译做香农定理吧
开始我选的是logic,看了两眼后,发现有一半不会
就想还是做software吧,毕竟是搞算法的,做的程序也不少了
于是就换了software的题,结果更惨,就会2、3道题
题如下:
最后一道题是逻辑判断,有点gre的味道
中间有个题是设计个全加器,要求用与或非等门,要求写出全过程
我旁边的一个哥们偷偷的问我,卡诺图怎么弄来着,我郁闷的说大概是00,01,11,10
这么个顺序吧
对了,还有个verilog的题,语言很简单,像我这样只会vhdl的也能看懂:
-)
东信笔试题目
笔试:
30分钟。
1压控振荡器的英文缩写
2动态随机存储器的英文缩写
3选择电阻时要考虑什么
4单片机上电后没有运转,首先要检查什么
5计算机的基本组成部分及其各自的作用
6用D触发器、与或非门组成二分频电路
专业英语题:
1、一篇关于Hacker的文章阅读理解,选择题
(另外的卷子是讲mobile的辐射的)
2、智能网业务的中译英
还有一道问答题:
通信行业是否与其他行业大不相同?
是否需要特殊的管理方式?
我的是中文回答,还有别的卷子是英文回答。
记得的就这些了。
大家补充。
反正我是歇菜了。
1、自我介绍
2、你做过什么,遇到什么问题,怎么解决
3、你的工作兴趣是什么
4、你对东信有什么看法,有什么需要了解的?
5、如果没问题,你可以走了。
via的8道题
1,三组程序,找出错误,如果有的话.
1>a.clongtemp[255];
b.cextern*temp;
2>a.clongtemp[255];
b.cexterntemp[256];
3>a.clongtemp[255];
b.cexterntemp[];
2,在第一个声明处编译出了奇怪的错误,为什么?
#include
#include"myfun1.h"
#include"myfun2.h"
intmyInt1;
intmyInt2;
3,printf("0x%x",(&0)[-1]);请问打印了什么?
4,#defineoffset(s,c)同intel的题.
5,汇编,用ax,bx,cx,dx,求1000*1000/30(四舍五入),结果放在ax中.
6,编最优化Bubble(int*pIntArray,intL),要求:
交换元素不能用临时变量,如果有序,需
要最优.
7,1,2,3,4,5,6,7,8,9从栈里出来的可能性.(略)
8,求一个struct的sizeof.(略)
这两题没太大难度.
招聘考题
(一)
TC2.0环境下的如下程序,执行结果为
pleaseinput:
scanf:
floatingpointformatsnotlinked
Abnormalprogramtermination
试解决!
#include"stdio.h"
#include"stdlib.h"
main()
{
float*a;
a=(float*)malloc(10*sizeof(float));
printf("
Pleaseinput:
");
scanf("%f",&a[0]);/*&a[0]也不行*/
printf("
Whatyouhaveinputis%f
",*a);
getch();
free(a);
}
re:
招聘考题一道
tc2.0中用scanf输入数组的值不能使用浮点型。
只要一用就会出现题目中的错误。
据说这是一个没有解决的BUG。
要解决这个问题可以使用一个变量充当“中间人”传送数据。
其实方法很多的。
微软试题
微软,软件业的巨人,是每个的特别是年轻软件开发人的梦想之地,微软的面试是非常严格的,录取比例大约是60有中选一人,相信可爱的梦想家们肯定急切的想知道怎么样才能幸运的成为1/60!
微软面试试题可分为
(1)迷语,
(2)算法,(3)应用程序,(4)智力等等,
本文为迷语篇
现取部分试题内容:
1.为什么下水道的盖子是圆的?
2.美国有多少辆汽车?
3.你让工人为你工作七天,回报是一根金条。
这个金一平分成相连的7段,你必须在每天结束的时候给他们一段金条如果只许你两次把金条弄断,你如果给你的工人付费?
4.有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以第小时20公里的速度从纽约开往洛杉矶。
如果有一只鸟,以外30公里每小时的速度和两辆火车现时启动,比洛杉叽出发,碰到另辆车后返回,依次在两辆火车来回的飞行,只到两面辆火车相遇,请问,这只小鸟习行了多长距离?
5.你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?
在你的计划中,得到红球的准确几率是多少?
6.想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒上下?
7.你有四人装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了?
8.如果你有无穷多的水,一个3夸脱的和一个5夸脱的提桶,你如何准确称出4夸脱的水?
9.你有一桶果冻,其中有黄色,绿色,红色三种,,闭上眼睛选出同样颜色的两个,抓取同种颜色的两个。
抓取多少个就可以确定你肯定有两个同一颜色的果冻?
10.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
11.如果要你能去掉50个州的任何一个,那你去掉哪一个,为什么?
Riddles
*Whyisamanholecoverround?
*HowmanycarsarethereintheUSA?
参考链接:
数据结构C/C++笔试题整理
笔试经验积累2008-10-2311:
31:
07阅读825评论0 字号:
大中小 订阅
嗯,这是我从学校bbs精华区整理的c/c++及数据结构的笔试以及部分面试题集锦,觉得只要搞懂了这些题目,大部分的笔试都不惧了。
希望能给需要的人带来帮助。
顺便攒rp^_^
不过大部分题目没有答案,欢迎补充哦~~~~
一:
已知类String的原型为:
classString
{
public:
String(constchar*str=NULL);//普通构造函数
String(constString);//拷贝构造函数
~String(void);//析构函数
String&operator=(constString);//赋值构造函数
private:
char*m_data;//用于保存字符串
};
请编写String的上述4个函数。
答案:
版本1
//String的析构函数
String:
:
~String(void)//3分
{
delete[]m_data;
//由于m_data是内部数据类型,也可以写成deletem_data;
}
String:
:
String(constchar*str)
{
if(str==NULL)
{
m_data=newchar[1];//若能加NULL判断则更好
*m_data=‘{post.content}’;
}
else
{
intlength=strlen(str);
m_data=newchar[length+1];//若能加NULL判断则更好
strcpy(m_data,str);
}
}
//拷贝构造函数
String:
:
String(constString&other)
{
intlength=strlen(other.m_data);
m_data=newchar[length+1];//若能加NULL判断则更好
strcpy(m_data,other.m_data);
}
//赋值函数
String&String:
operate=(constString&other)
{
//
(1)检查自赋值
if(this==&other)
return*this;
//
(2)释放原有的内存资源
delete[]m_data;
//(3)分配新的内存资源,并复制内容
intlength=strlen(other.m_data);
m_data=newchar[length+1];//若能加NULL判断则更好
strcpy(m_data,other.m_data);
//(4)返回本对象的引用
return*this;
}
版本2
String:
:
String(constchar*str)
{
if(str){
memset(m_data,0,strlen(m_data));
strcpy(m_data,str);
}
else*m_data=0;
}
String:
:
String(constString)
{
strcpy(m_data,copy.m_data);
}
String&String:
operator=(constString)
{
if(this==)retrun*this;
strcpy(m_data,copy.m_data);
return*this;
}
版本3
String:
:
String(constchar*str)
{
if(m_data)
delete[]m_data;
if(str){
m_data=newchar[strlen(str)];
memset(m_data,0,strlen(m_data));
strcpy(m_data,str);
}
else*m_data=0;
}
String:
:
String(constString)
{
if(m_data)
delete[]m_data;
m_data=newchar[strlen(copy.m_data+1)]
strcpy(m_data,copy.m_data);
}
String&String:
operator=(constString)
{
if(this==)retrun*this;
if(m_data)
delete[]m_data;
m_data=newchar[strlen(copy.m_data+1)]
strcpy(m_data,copy.m_data);
return*this;
}
~String:
:
String(void)
{
if(m_data)
delete[]m_data;
}
二:
改错题,只能在原来的基础上增加代码,不能删除代码
#include
#include
voidfoo(intage,char*b)
{
b=(char*)malloc(64);
sprintf(b,"YourAgeis%d",age);
}
intmain()
{
char*f;
foo(23,f);
printf("%s\n",f);
}
答案
版本1
#include
#include
voidfoo(intage,char**b)
{
*b=(char*)malloc(64);
sprintf(*b,"YourAgeis%d",ag