最新文档富士通笔试试题精选word文档 14页文档格式.docx
- 文档编号:21055051
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:12
- 大小:23.87KB
最新文档富士通笔试试题精选word文档 14页文档格式.docx
《最新文档富士通笔试试题精选word文档 14页文档格式.docx》由会员分享,可在线阅读,更多相关《最新文档富士通笔试试题精选word文档 14页文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
防止头文件被重复引用
(2)#include和#include"
filename.h"
有什么区别?
对于#include,编译器从标准库路径开始搜索filename.h
对于#include"
,编译器从用户的工作路径开始搜索filename.h
(3)在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”声明?
函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern"
C"
修饰的变量和函数是按照C语言方式编译和连接的。
由于编译后的名字不同,C++程序不能直接调用C函数。
C++提供了一个C连接交换指定符号extern“C”来解决这个问题。
3.回答下面的问题
(1)请问运行Test函数会有什么样的结果?
VoidGetMemory(char**p,intnum)
*p=(char*)malloc(num);
voidTest(void)
char*str=NULL;
GetMemory(&
str,100);
strcpy(str,"
hello"
);
printf(str);
输出“hello”
(2)请问运行Test函数会有什么样的结果?
char*str=(char*)malloc(100);
strcpy(str,“hello”);
free(str);
if(str!
=NULL)
strcpy(str,“world”);
输出“world”
(3)请问运行Test函数会有什么样的结果?
char*GetMemory(void)
charp[]="
helloworld"
returnp;
str=GetMemory();
无效的指针,输出不确定
4.编写strcat函数
已知strcat函数的原型是char*strcat(char*strDest,constchar*strSrc);
其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数strcat
VC源码:
char*__cdeclstrcat(char*dst,constchar*src)
char*cp=dst;
while(*cp)
cp++;
while(*cp++=*src++);
return(dst);
(2)strcat能把strSrc的内容连接到strDest,为什么还要char*类型的返回值?
方便赋值给其他变量
5.程序什么时候应该使用线程,什么时候单线程效率高
(1)耗时的操作使用线程,提高应用程序响应
(2)并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
(3)多CPU系统中,使用线程提高CPU利用率
(4)改善程序结构。
一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。
其他情况都使用单线程。
6.C++中什么数据分配在栈或堆中,New分配数据是在近堆还是远堆中?
栈:
存放局部变量,函数调用参数,函数返回值,函数返回地址。
由系统管理
堆:
程序运行时动态申请,new和malloc申请的内存就在堆上
7.关于内存对齐的问题以及sizof()的输出
编译器自动对齐的原因:
为了提高程序的性能,数据结构(尤其是栈)应该尽可能地在自然边界上对齐。
原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;
然而,对齐的内存访问仅需要一次访问。
8.inti=10,j=10,k=3;
k*=i+j;
k最后的值是?
60,此题考察优先级,实际写成:
k*=(i+j);
,赋值运算符优先级最低
9.动态连接库的两种方式?
调用一个DLL中的函数有两种方法:
1.载入时动态链接(load-timedynamiclinking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。
这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。
2.运行时动态链接(run-timedynamiclinking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。
DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。
如此即可避免导入库文件了
10.函数模板与类模板有什么区别?
函数模板的实例化是由编译程序在处理函数调用时自动完成的,而类模板的实例化必须由程序员在程序中显式地指定。
11.Windows是内核级线程么。
见下一题
12.Linux有内核级线程么。
线程通常被定义为一个进程中代码的不同执行路线。
从实现方式上划分,线程有两种类型:
“用户级线程”和“内核级线程”。
用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。
这种线程甚至在像DOS这样的操作系统中也可实现,但线程的调度需要用户程序完成,这有些类似Windows3.x的协作式多任务。
另外一种则需要内核的参与,由内核完成线程的调度。
其依赖于操作系统核心,由内核的内部需求进行创建和撤销,这两种模型各有其好处和缺点。
用户线程不需要额外的内核开支,并且用户态线程的实现方式可以被定制或修改以适应特殊应用的要求,但是当一个线程因I/O而处于等待状态时,整个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会;
而内核线程则没有各个限制,有利于发挥多处理器的并发优势,但却占用了更多的系统开支。
WindowsNT和OS/2支持内核线程。
Linux支持内核级的多线程
13.使用线程是如何防止出现大的波峰。
意思是如何防止同时产生大量的线程,方法是使用线程池,线程池具有可以同时提高调度效率和限制资源使用的好处,线程池中的线程达到最大数时,其他线程就会排队等候。
14.写出判断ABCD四个表达式是否正确,若正确,写出经过表达式中a的值
inta=4;
(A)a+=(a++);
(B)a+=(++a);
(C)(a++)+=a;
(D)(++a)+=(a++);
a=?
C错误,左侧不是一个有效变量,不能赋值,可改为(++a)+=a;
改后答案依次为9,10,10,11
15.MFC中CString是类型安全类么?
不是,其它数据类型转换到CString可以使用CString的成员函数Format来转换
16.C++中为什么用模板类。
(1)可用来创建动态增长和减小的数据结构
(2)它是类型无关的,因此具有很高的可复用性。
(3)它在编译时而不是运行时检查数据类型,保证了类型安全
(4)它是平台无关的,可移植性
(5)可用于基本数据类型
17.CSingleLock是干什么的。
同步多个线程对一个数据类的同时访问
18.局部变量能否和全局变量重名?
能,局部会屏蔽全局。
要用全局变量,需要使用"
:
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
19.如何引用一个已经定义过的全局变量?
extern
可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变量写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。
20.全局变量可不可以定义在可被多个.C文件包含的头文件中?
为什么?
可以,在不同的C文件中以static形式来声明同名全局变量。
可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。
21.语句for(;
1;
)有什么问题?
它是什么意思?
无限循环,和while
(1)相同。
22.do……while和while……do有什么区别?
前一个循环一遍再判断,后一个判断以后再循环。
23.请写出下列代码的输出内容
inta,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
b,c,d:
%d,%d,%d"
,b,c,d);
return0;
b,c,d:
10,12,120
【拓展阅读】
哈希表
散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。
也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
这个映射函数叫做散列函数,存放记录的数组叫做散列表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash)函数[1]
包含min,push,pop函数的栈,时间为O
(1)
usingnamespacestd;
templateclassStackWithMin
public:
StackWithMin(void);
~StackWithMin(void);
voidpush(constT&
node);
voidpop();
T&
minconst();
private:
stackm_data;
stackm_min;
};
templatevoidStackWithMin:
push(constT&
value)
m_data.push(value);
if(m_min.size()==0||value
m_min.push(value);
elsem_min.push(m_min.top());
pop()
assert(m_data.size()>
0&
&
m_min.size()>
0);
m_data.pop();
m_min.pop();
templateconstT&
StackWithMin:
min()const
returnm_min.top();
采用模板类得好处:
1)可以用来创建动态增长和减小的数据结构
2)它是类型无关的,具有高度的可复用性
3)它在编译时而不是运行时检查数据类型,保证了类型安全
4)与平台无关,可移植性
5)可用于基本数据类型
泛型的好处
Java语言中引入泛型是一个较大的功能增强。
不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了。
这带来了很多好处:
1,类型安全。
泛型的主要目标是提高Java程序的类型安全。
通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。
没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。
2,消除强制类型转换。
泛型的一个附带好处是,消除源代码中的许多强制类型转换。
这使得代码更加可读,并且减少了出错机会。
3,潜在的性能收益。
泛型为较大的优化带来可能。
在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。
但是更多类型信息可用于编译器这一事实,为未来版本的JVM的优化带来可能。
由于泛型的实现方式,支持泛型(几乎)不需要JVM或类文件更改。
所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的代码,只是更能确保类型安全而已。
TCP是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后数据传送,最后拆除连接三个过程
并且TCP在建立连接时又分三步走:
第一步是请求端(客户端)发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;
第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。
第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
然后才开始通信的第二步:
数据处理。
Memcpy原型
void*memcpy1(void*desc,constvoid*src,size_tsize)
if((desc==NULL)&
(src==NULL))
returnNULL;
unsignedchar*desc1=(unsignedchar*)desc;
unsignedchar*src1=(unsignedchar*)src;
while(size-->
0)
*desc1=*src1;
desc1++;
src1++;
returndesc;
cpu读取顺序
它是按堆栈的顺序顺序执行的,至于栈中的顺序是按优先级排
cache叫做高速缓冲存储器,是集成在CPU中的,存取速度最快,其次是内存,也就是你主板上插的那个条条,速度最慢的是外存,也就是硬盘
三种云服务模式
IaaS(InfrastructureasaService)基础设施即服务
SaaS(SoftwareasaService)软件即服务
PaaS(PlatformasaService)平台即服务
java是一种解释型语言,但它的源文件要编译成java字节码即.class文件,然后在java虚拟机里运行.
jsp是一种WEB开发技术,它在特定的WEB容器里运行,WEB容器先把jsp转化成Servlet文件(即.java文件),然后编译成.class文件然后在java虚拟机里运行。
JavaScript是一种浏览器脚本语言,它被浏览器解释执行.
这三种语言都采用java的语法。
构造函数,是一种特殊的方法。
主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。
大数据的特征关于大数据的特征,业内专业认识人士表示,可以用很多词语来表示。
比较有代表性的即为201X年DougLaney最先提出“3V”模型,包括数量(Volume)、速度(Velocity)和种类(Variety。
除此之外,在3V的基础上又提出了一些新的特征。
关于第四个V的说法不一,IDC认为大数据还应当具有价值性(Value),大数据的价值往往呈现出稀疏性的特点。
而IBM认为大数据必然具有真实性(Veracity)。
维基百科对大数据的定义则简单明了:
大数据是指利用常用软件工具捕获、管理和处理数据所耗时间超过可容忍时间的数据集。
如今,业内人士已经将其扩展到了11个V,包括有效性、可见性等。
下面就目前使用最多的“4V”模型进行分析。
“4V”特征主要体现在以下方面:
1.规模性(volume)Volume指的是数据巨大的数据量以及其规模的完整性。
数据的存储TB扩大到ZB。
这与数据存储和网络技术的发展密切相关。
数据的加工处理技术的提高,网络宽带的成倍增加,以及社交网络技术的迅速发展,使得数据产生量和存储量成倍增长。
实质上,在某种程度上来说,数据的数量级的大小并不重要,重要的是数据具有完整性。
数据规模性的应用有如下的体现,比如对每天12tb的tweets进行分析,了解人们的心理状态,可以用于情感性产品的研究和开发;
基于Facebook上成千上万条信息的分析,可以帮助人们处理现实中的朋友圈的利益关系。
2.高速性(Velocity)Velocity主要表现为数据流和大数据的移动性。
现实中则体现在对数据的实时性需求上。
随着移动网络的发展,人们对数据的实时应用需求更加普遍,比如通过手持终端设备关注天气、交通、物流等信息。
高速性要求具有时间敏感性和决策性的分析——能在第一时间抓住重要事件发生的信息。
比如,当有大量的数据输入时(需要排除一些无用的数据)或者需要马上做出决定的情况。
比如:
一天之内需要审查500万起潜在的贸易欺诈案件;
需要分析5亿条日实时呼叫的详细记录,以预测客户的流失率。
3.多样性(variety)Variety指有多种途径来源的关系型和非关系型数据。
这也意味着要在海量、种类繁多的数据间发现其内在关联。
互联网时代,各种设备通过网络连成了一个整体。
进入以互动为特征的Web2.0时代,个人计算机用户不仅可以通过网络获取信息,还成为了信息的制造者和传播者。
这个阶段,不仅是数据量开始了爆炸式增长,数据种类也开始变得繁多。
除了简单的文本分析外,还可以对传感器数据、音频、视频、日志文件、点击流以及其他任何可用的信息。
比如,在客户数据库中不仅要关注名称和地址,还包括客户所从事的职业、兴趣爱好、社会关系等。
利用大数据多样性的原理就是:
保留一切你需要的对你有用的信息,舍弃那些你不需要的;
发现那些有关联的数据,加以收集、分析、加工,使得其变为可用的信息。
4.价值性(value)Value体现出的是大数据运用的真实意义所在。
其价值具有稀缺性、不确定性和多样性。
“互联网女皇”MaryMeeker在201X年互联网发展趋势中,用一幅生动的图像来描述大数据。
一张是整整齐齐的稻草堆,另外一张是稻草中缝衣针的特写。
寓意通过大数据技术的帮助,可以在稻草堆中找到你所需要的东西,哪怕是一枚小小的缝衣针。
这两幅图揭示了大数据技术一个很重要的特点,价值的稀疏性。
Linux版本
centos与rhel类似。
fedora,这个版本每次发行都比较冒进,以至于很多驱动程序都不能很好的配置,但最新的fedora10还是很保守和稳定的。
yu软件源基于rpm包管理,安装软件很方便。
ubuntu,基于debian,桌面环境以gnome为主,是目前最流行的linux个人桌面,它的优点是配置起来非常简单,安装完系统之后,只要硬件不是太新,基本不用进行其他配置,硬件都可以识别并安装好驱动。
而且其apt更新源服务器中的软件非常丰富,只要打一条命令,就可以自动从网络下载安装所需软件。
ubuntu安装方便,甚至于可以使用wubi将linux安装在windows分区。
ubuntu还有很多衍生版本,包括Kubuntu(桌面采用KDE,较为华丽),xubuntu(采用xfce,要求配置较低),eubuntu(面向儿童和教育),用户可以根据需求,偏好,和硬件配置进行选择。
suse,被誉为最漂亮的linux发行版本,当然,其本质和其他版本都是一样的,只是在窗口美工上开发者下了一定功夫,而且获得华丽的同时当然也需要付出更高的系统资源占用。
其他的linux版本通过一些改造,完全是可以实现suse的效果的。
redflag,中科院开发的linux版本,主要面向政府用户,其个人桌面版免费,这个版本的美工上与windows非常接近,是使用者的入门难度降低,但实际上桌面也是基于KDE的,很平常。
以下文字仅用于测试排版效果,请使用时删除!
冬是清寒的。
站在有风的地方,悄然回首,看见来时的路。
一路有花的娇艳,有草的青葱,有树的挺拔,有鸟的鸣叫。
抬起头,天空蓝的清澈。
风起时,有笑颜。
冬,是寂寞的。
万物都归于沉静中,孕育着来年的昌盛。
隐忍才是最有力的,也因此,寂寞的冬天给人以太多的幻想与渴望。
会去渴望温暖的一炉壁火,也会想要一个温暖的怀抱。
围炉煮雪,相拥着取暖。
习惯了把心情种在寂寞里过冬,深耕一陇陌上的花开。
等待着,下一季的盛景。
不会忘记冬的情怀,圣诞节的钟声会敲响,冬有自己的辉煌。
静静的写下一首小诗,待到花开时,扦插在那枝头,为冬吟。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新文档富士通笔试试题精选word文档 14页 最新 文档 富士通 笔试 试题 精选 word 14