- 收藏
- 点赞
- 分享
- 举报
汉略笔试面试题目
请填写BOOL,float,指针变量与“零值”比较的if语句。
请写出BOOL flag与“零值”比较的if语句。
标准答案:if(flag)
If(!flag)
请写出float x与“零值比较的if语句。
标准答案:const float EPSINON=0.00001;
If((x>=-EPSINON)&&(x<=EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
请写出char *p与“零值”比较的if语句。
标准答案:if(p==NULL)
If(p!=NULL)
二、以下为Windows NT下的32位C++程序,请计算sizeof的值。
1、char str[]=”hello”;
Char *p=str;
Int n=10;
请计算 sizeof(str)=6
Sizeof(p)=4
Sizeof(n)=4
2、void Func(char str[100])
{
请计算
Sizeof(str)=4
}
3、void *p=malloc(100);
请计算 sizeof(p)=4
三、简答题
1、头文件中的ifndef/define/endif干什么用?
答:防止该头文件被重复引用。
2、#include
答:对于#include
对于#include “filename.h”,编译器从用户的工作路径开始搜索filename.h
3、const有什么用途?(请至少说明两种)
答:(1)可以定义const常量
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
4、在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”?
答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为:void foo(int x, int y);
该函数被C编译器编译后在库中的名字为_foo,而C++则会产生像_foo_int_int之类的名字。
C++提供了C连接交换指定符号extern “C”来解决名字匹配问题。
5、请简述以下for循环的优缺点
For(i=0;i<N;i++)
{
If(condition)
DoSomething();
Else
DoOtherthing();
}
优点:程序简洁
缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。
If(condition)
{
For(i=0;i<N;i++)
DoSomething();
}
Else
{
For(i=0;i<N;i++)
DoOtherthing();
}
优点:循环的效率高
缺点:程序不简洁
四、有关内存的思考题
1、
Void GetMemory(char *p)
{
P=(char *)malloc(100);
}
Void Test(void)
{
Char *str=NULL;
GetMemor(str);
Strcpy(str,”hello world”);
Printf(str);
}
请问运行Test函数会有什么样的结果?
答:程序崩溃。因为GetMemory并不能传递动态内存,Test函数中的str一直都是NULL。Strcpy(str,”hello world”);将使程序崩溃。
更多:
一、 请填写BOOL,float,指针变量与“零值”比较的if语句。
请写出BOOL flag与“零值”比较的if语句。
标准答案:if(flag)
If(!flag)
请写出float x与“零值比较的if语句。
标准答案:const float EPSINON=0.00001;
If((x>=-EPSINON)&&(x<=EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
请写出char *p与“零值”比较的if语句。
标准答案:if(p==NULL)
If(p!=NULL)
二、以下为Windows NT下的32位C++程序,请计算sizeof的值。
1、char str[]=”hello”;
Char *p=str;
Int n=10;
请计算 sizeof(str)=6
Sizeof(p)=4
Sizeof(n)=4
2、void Func(char str[100])
{
请计算
Sizeof(str)=4
}
3、void *p=malloc(100);
请计算 sizeof(p)=4
三、简答题
1、头文件中的ifndef/define/endif干什么用?
答:防止该头文件被重复引用。
2、#include
答:对于#include
对于#include “filename.h”,编译器从用户的工作路径开始搜索filename.h
3、const有什么用途?(请至少说明两种)
答:(1)可以定义const常量
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
4、在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”?
答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为:void foo(int x, int y);
该函数被C编译器编译后在库中的名字为_foo,而C++则会产生像_foo_int_int之类的名字。
C++提供了C连接交换指定符号extern “C”来解决名字匹配问题。
5、请简述以下for循环的优缺点
For(i=0;i<N;i++)
{
If(condition)
DoSomething();
Else
DoOtherthing();
}
优点:程序简洁
缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。
If(condition)
{
For(i=0;i<N;i++)
DoSomething();
}
Else
{
For(i=0;i<N;i++)
DoOtherthing();
}
优点:循环的效率高
缺点:程序不简洁
四、有关内存的思考题
1、
Void GetMemory(char *p)
{
P=(char *)malloc(100);
}
Void Test(void)
{
Char *str=NULL;
GetMemor(str);
Strcpy(str,”hello world”);
Printf(str);
}
请问运行Test函数会有什么样的结果?
答:程序崩溃。因为GetMemory并不能传递动态内存,Test函数中的str一直都是NULL。Strcpy(str,”hello world”);将使程序崩溃。
2、 char *GetMemory(void)
{
Char p[]=”hello world”;
Return p;
}
Void Test(void)
{
Char *str=NULL;
Str=GetMemory();
Printf(str);
}
请问运行Test函数会有什么样的结果?
答:可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是NULL,但其原先的内容已经被清除,新内容不可知。
3、 Void GetMemory2(char **p,int num)
{
p=(char )malloc(num);
}
Void Test(void)
{
char *str=NULL;
GetMemory(&str,100);
Strcpy(str,”hello”);
Printf(str);
}
请问运行Test函数会有什么样的结果?
答:(1)能够输出hello(2)内存泄露
4、 Void Test(void)
{
Char str=(char )malloc(100);
Strcpy(str,”hello”);
Free(str);
If(str!=NULL)
{
Strcpy(str,”world);
Printf(str);
}
} 请问运行Test函数会有什么样的结果?
答:篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,str成为野指针,if(str!=NULL)语句不起作用。
public class Base { public void print(){
System.out.println("Bast print\n");
}
}
public class Inherit extends Base{
public void print(){
System.out.println("Inherit print\n");
}
public static void main(String args[]){
Inherit in = new Inherit();
Base base = new Base();
base.print();
in.print();
base = in;
base.print();
in.print();
}
}
打印结果:
Bast print
Inherit print
Inherit print //注意
Inherit print
10.字符串的==与equals: 11.
public class Test2 {
public static void main(String args[]) {
Test2 test = new Test2();
String a, b;
StringBuffer c, d;
a = "abcd";
b = "abcd";
System.out.println("when both = 'abcd': " + test.print(a, b));
a = new String("abcd");
b = new String("abcd");
System.out.println("when both new String('abcd'): " + test.print(a, b));
a = new String("abcd");
b = "abcd";
System.out.println("when one new String('abcd'), another 'abcd': " + test.print(a , b));
c = new StringBuffer("abcd");
d = new StringBuffer("abcd");
System.out.println("when both StringBuffer('abcd'): " + test.print(c ,d));
}
/**
*/
private String print(Object oa, Object ob) {
String result = " ";
if (oa == ob) {
result = " ==";
}
if (oa.equals(ob)) {
result += " equals()";
}
return result;
}
}
输出为:
when both = 'abcd': == equals()
when both new String('abcd'): equals()
when one new String('abcd'), another 'abcd': equals()
when both StringBuffer('abcd'):
11.ArrayList与Vector,HashTable与HashMap
就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
第五部分:QA知识(直接在卷子上作答,全英文题目)
大部分是QA的概念性知识,要求全英文做答。
Q:When speaking of software products, how do you define the term“quality”.
问:当说到软件产品的时候,你如何定义术语“质量”
Q:What is the role of software debelopers and quality assuranle engineers in ensuring the quality of the product? How are other functional areas important to developing a quality product?
问:在确定产品的质量方面,什么是软件开发工程师和质量保证工程师要做的?其他的功能对如何发展产品质量有什么重要?
Q:What is cyclomatic complexity?
问:(这是一个复杂度模型吧)
Q:What are black-box texing and white-box texting?
问:什么是黑盒测试和白盒测试?
Q:The following function divides a by b and out put to c,returns -1 as error.
Int divide (int a,int b,int c)
List you test cases in a black-box testing.
问:对 Int divide (int a,int b,int c)函数写出黑盒测试用例
Q:Int a ctivity(int nage,bool bmale)
{if (nage<60)
return zoo;
else if(bmale)
return golf;
else return movie;
}
Q:The following function tests whether the three numbers can be the lengths of the three sides of a triangle.
Bool triangle(float a,float b,float c)
List you test cases in a black-box testing.
问:也是让写黑盒测试用例,是一个三个数是否是三角形的三条边的测试
第六部分:中英文简历
两份简历,中文一份,英文一份,按照自己的实际情况填写就OK了。
一面试题:
-
成长过程中你觉得最有成就感的一件事
-
2.同事跟你发生矛盾或者同事跟同事之间有矛盾你该如何处理 俺举实际例子来说明这个问题,强调自己有丰富的团队合作经验。强调TEAM WORK的重要性。强调处理人际的主动性
-
3.在路边走的时候有人向你派传单你会不会接 从题目这是个考察好奇心的问题。对问题做了两面性的回答。具体问题具体分析。 说明有时候传单是一个很好的向导,会有一些有利于自己的信息。后来顺便把之前新闻讲到有通过在传单上下药迷惑抢劫的事来说明接传单不要盲目。HR JJ对这个比较关心,问了我几次是真的吗?在广州吗?^_^
-
4.宁愿做大鱼塘中的小鱼还是小鱼塘中的大鱼 回答的时候说明水涨船高,好的竞争环境对自己能力提高有帮助。宁愿选择大鱼塘中的小鱼,因为大鱼塘激烈的环境有利于自己成长,而自己的成长的空间也比较广。 而小鱼塘中的大鱼有很大的极限性,你变大了,其他鱼的空间就小了。
5.同学,同事,老师对你的评价如何?你自己认为自己有哪些优缺点。 回答这类问题不应该模菱两可`具体各人有各人的实际
6.成长过程中对你影响最深刻的人或者事~
俺说俺老爸华工那说他老妈
妓大那也说他老爸`不过说着说着就哭了。因为他老爸在他高考报考的时候去了。。这是一位又高大有健壮很有男子气概的有体育特长的男生。。虽然很同情他。但是。。。觉得这是种缺乏面试经验跟技巧的行为。
最后叫我们问她问题。俺就问进公司前需要做些什么样的准备。公司内交流的主要语言是什么?(因为是外资公司,俺怕要说英语)华工那个竟然问薪水多少。。。 想笑却不敢笑这不应该是一面HR所要问的问题。HR也顺便问我们是否愿意到上海公司
因为我们三个都是广东人。当时就假假的说,只好公司有发展空间,。 地域不是问题^_^
1 。请简单描述下你自己。 (回答什么没太大关系)
2。请说下人生中谁对你的影响最大 (多数是父母)
3。如果上司当众训斥你,你会如何反应。 (要选择忍气吞声,我当时选的是据理力争tmd)
4。你的职业规划时怎样的? (无关紧要)
二面试题::
冒泡排序,
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2008-08-02 00:45:28
-
122008-09-05 20:15:43
-
12008-08-02 00:51:41
-
2008-07-31 02:03:07
-
2008-07-12 19:10:50
-
2008-09-20 15:00:55
-
2008-07-19 13:45:06
-
02008-08-08 14:38:05
-
2008-09-20 14:59:37
-
2008-08-02 00:56:25
-
2008-09-20 15:03:27
-
2008-08-18 21:38:09
-
2008-08-18 21:40:43
-
2013-12-01 22:54:44
-
12008-09-05 20:19:46
-
02008-09-05 20:23:06
-
02008-11-09 10:01:46
-
2013-11-20 18:55:19
-
2008-08-08 14:40:02
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
-
5有偿求HI3516DV500 + OV5647驱动
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明