趋势科技的笔试题目(共12篇)由网友“是小猴子阿”投稿提供,以下是小编为大家准备的趋势科技的笔试题目,仅供参考,欢迎大家阅读。
篇1:趋势科技的笔试题目
趋势科技的笔试题目
大学网笔试频道为大家提供趋势科技的笔试题目,希望能为大家提供有价值的参考,
1、写代码实现遍历目录和子目录并写入文件
2、用shell写命令重命名目录文件
3、关于try,catch,finaliy使用,
java
4、关于内存指针传递,c
5、如果需要存4G的.数据到hash表,如何存到只有1G的内存里
6、关于临时变量传递问题
7、写一个server,client的客户编程
篇2:趋势科技笔试面试
趋势科技笔试面试
可以说,趋势科技是今年校园招聘开始的最早的公司之一了,10月15号,就收到了趋势的笔试通知。怀着激动的心情,参加了人生第一次笔试。试题是全英文的,分两部分,第一部分是45分钟的IQ和EQ题,这部分对我来说比较容易,平时看的多,做的很顺利。第二部分是技术题,120分钟,涵盖了c,c++,数据结构,数据库,网络(特别是tcp/ip)等知识,还有几道科技短文阅读。
由于好久没碰过英语,很多关键的英语单词忘了意思,严重影响了我的发挥。考官说两周以内等面试通知。我也没放在心上。
一个星期后,收到了趋势的面试电话,通知我去地铁大厦参加面试。当然很高兴啦。后来发现,同去笔试的几个兄弟都没收到面试通知,嘿嘿,看来我发挥的还不错嘛。当天下午,我就买了一件比较象样的衣服,毕竟是人生的处女面啊。晚上上网了解了下趋势科技,网络安全方面做的比较好的一个公司,新浪,hotmail用的都是趋势的产品。我们校园网的杀毒软件用的也是趋势的。趋势的待遇很好,听说有8000左右一个月,流口水ing。
上午10:30的面试,我提前半小时就到了,遇到了很多其他高校的帅哥,在和他们的聊谈过程中,我知道,他们竟都是硕士生,参加这次面试的有100位,最后只招二三十个。顿感压力巨大啊。
很准时,10:30,我被叫进去开始面试了.面试官是个四十出头的很和蔼先生,穿的.也很随便,也许这就是趋势的企业文化?整个面试过程感觉还不错,技术问题基本都答上来了,一些开放性的问题答的也还可以,只是我有点紧张,感觉得出我地声音有点颤抖.下面我简单罗列下我碰到的问题:
1。简单介绍一下你做的项目
2。sturct和class的区别
STRUCT中的所有成员都是PUBLIC的,类中可以有PUBLIC,PRIVATE,PROTECTED。
STRUCT中不能包含成员函数但是CLASS中可以包括成员函数.
class和struct的最基本的区别就是:在class中,在默认的情况下,它的成员是私有的,而在struct中,默认的情况下,它的成员是公有的!
但是在一般编程的习惯中,在struct中一般只定义数据部分,而在class中一般都定义了数据部分和对这些数据操作的方法!
3,
虚函数和纯虚函数的区别,作用
纯虚函数就是没有函数体的,必须在派生类中重载德函数。虚汗数可以有函数体,如果派生类中没有重载函数,则调用父类的函数
classa
{
virtualb=0;//纯虚函数
virtualc(){...}//虚函数
};
虚函数主要实现多态机制
避免二义性问题
至于纯虚函数是抽象累机制基类提供接口
派生类提供实现
抽象类不能定义对象
? 最大区别:有纯虚函数的类不能定义对象。
基本来说纯虚函数是必须被重载的,因此在被用来做基类的抽象类中肯定有一个或多个纯虚函数。
而虚函数可以在继承类中被重载,也可以不。
二者都是体现了c++的多态性
---------------------------------------------------------------
纯虚函数:
1.表明该纯虚函数所属的类仅做为接口使用,不能实例化(即不能生成一个该类的对象).
2.接口类的子类(derivedclass)必须overriden每个纯虚函数,使之成为非纯虚函数后,该类才能产充许产生实例;
3.纯虚函数可以有该函数的定义,有可以没有.但纯虚析构函数必须要有定义.
如果一个接口类只有它的析构函数的纯虚的,那么,该接口类的子类可以不必显式overriden接口类的析构函数,编译器自动产生的析构函数就可以overriden接口类的析构函数,使子类自动成为一个可实例化的普通类.
4。有没有碰到过内存泄漏,怎么解决
就是使用内存资源后没有被回收。
在java中,用new在堆上分配的内存资源都会被java的garbagecollector自动回收
当一个类的实例不再被其它的任何变量引用的时候,它就有资格被回收,但是并不是一定会被回收,如果没有被回收,则酒会产生内存泄露
对,单元测试,一个一个得试,看是哪个模块出了问题。有点费时间,但这个最保险了
代码的规范性很重要
5。老师对你的评价
6。你认为哪个老师比较牛,为什么?
7。同学们怎么评价你的,你同学认为你哪方面比较牛?
8。平时有什么兴趣和爱好
8。简单谈谈你对趋势的看法
走出地铁大厦,我还是很自信的.回到宿舍后突然我发现我那装简历的档案袋没拿,我顿时后悔起来,这是一个很严重的错误,从这个小小的疏忽,可以看出我的紧张,大意。这在工作中是万万要不得的.我想,就凭这一点,我是无望进入二面了.结果如我所料,没有收到下一轮的面试通知.这次失败的面试给了我惨痛的教训,以后无论做什么事,都要小心谨慎。
篇3:趋势科技笔试经历
今天的重头戏是下午的趋势科技笔试,一共3个小时。
还是先上IQ&EQ题。其中IQ题竟与我两年前应聘趋势的实习生的时候考的题一模一样。
当时对于那些很多图形按顺序排列的题一筹莫展。而如今我已经悟到其实每个图形都包含三个特性:形状(圆形、方形、三角形)、大小、黑白。把这三个特性的规律找到,图形就确定下来了。所以我提前10分钟就做完了。怀疑其中第八小题没有正确答案。
逻辑题怀疑是在考英语阅读,搞出那种很长的句子,问是什么意思。接下来的就是技术题了。趋势题考的还是很基础的,没有强调什么编程技巧。第三题让写代码实现节点反转。
回忆起当初做时没有什么思路,而现在可以很从容地做出来。虽然可能很难看,也不是什么最优解法,毕竟还是实现了要求的功能。
剩下的题都是很Open的了,问个人的优点、缺点,认为理想的工作环境是什么样的,Tom手机无法接通Jack的手机,问可能是那里出问题了。虽然写出来的句子很丑,可是还要坚持写英文,赚个印象分吧。居然还问Microsoft最新的操作系统Vista的新的安全特性,根本没接触过啊。想起在成都听黄乐说她参加Cisco的ASR考试也遇到不会的题,就写“虽然我现在不知道,如果给我一些时间,我一定会把它搞懂的”。按照这个思路填上去了。
[趋势科技笔试经历]
篇4:趋势科技笔试经验
趋势科技笔试经验
今天的重头戏是下午的趋势科技笔试,一共3个小时,
还是先上IQEQ题。其中IQ题竟与我两年前应聘趋势的实习生的时候考的题一模一样。当时对于那些很多图形按顺序排列的题一筹莫展。而如今我已经悟到其实每个图形都包含三个特性:形状(圆形、方形、三角形)、大小、黑白。把这三个特性的规律找到,图形就确定下来了。所以我提前10分钟就做完了。怀疑其中第八小题没有正确答案。
逻辑题怀疑是在考英语阅读,搞出那种很长的句子,问是什么意思。接下来的就是技术题了。趋势题考的还是很基础的,没有强调什么编程技巧,
第三题让写代码实现节点反转。回忆起当初做时没有什么思路,而现在可以很从容地做出来。虽然可能很难看,也不是什么最优解法,毕竟还是实现了要求的功能。
剩下的.题都是很Open的了,问个人的优点、缺点,认为理想的工作环境是什么样的,Tom手机无法接通Jack的手机,问可能是那里出问题了。虽然写出来的句子很丑,可是还要坚持写英文,赚个印象分吧。居然还问Microsoft最新的操作系统Vista的新的安全特性,根本没接触过啊。想起在成都听黄乐说她参加Cisco的ASR考试也遇到不会的题,就写“虽然我现在不知道,如果给我一些时间,我一定会把它搞懂的”。按照这个思路填上去了。
篇5:润信科技笔试题目
润信科技笔试题目
笔试:
1.x=1,y=2,z=3;计算:y+=z–/++x
答:y=3
2.int array = new int[10];以下哪种引用是正确的:
A. array B. arrar[] C. array[0] D. array[1]
答:题错,int array = new int[10]改为 int[] array = new int[10];
3.输入3个1-99的整数,显示当中的最大数
4.解释和编译的区别:
答:解释:程序运行时,取一条指令,将其换化为机器指令, 再执行这条机器指令,
编译:程序运行时之前,将程序的把有代码编译为机器代码,再运行这个程序。
面试:
1.Collection和Collections的区别
答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
2.Struts框架中,MVC的体现,Action是什么
在Struts框架中,M模型由实现业务逻辑的JavaBean或EJB组件构成,C控制器由ActionServlet和Action实现,视图由一组JSP文件构成。
3.Hibernate中的单向关系和双向关系映射的区别,什么时候使用单向,什么时候使用双向?
一对多关系分为单向一对多关系和双向一对多关系。
单向一对多关系只能通过主控方对被动方进行级联更新。
双向一对多关系实际上是“一对多”与“多对一”关联的组合,也就是说我们必须在主控方配置单向一对多关系的基础上,在被控方配置与其对应的多对一关系。
双向一对多的关系除了避免约束违例和提高性能的好处之外,还带来另外一个优点,由于建立了双向关联,我们可以在关联双方中任意一方,访问关联的另一方。
4.什么时候使用EJB,什么时候使用JavaBean
在架构J2EE企业级应用的时候,要根据项目的大小及业务的复杂情况来决定到底使用还是不使用EJB技术。在以下情况下考虑使用EJB:
(1)程序需要具有可伸缩性
为了适应用户的需要,要在不同的服务器间部署组件,多个组件协同作业,来完成分布式的计算,以及在资源紧张的时候进行负载平衡,
EJB组件不但可以实现这些功能,而且还能兼容不同系统不同平台,从而真正做到一次编写,到处运行。
具体见:J2EE教材P147
5.Aector和ArrayList的区别
6.什么时候使用无状态会话Bean,什么时候使用有状态会话Bean
答:教程P161
7.什么是会话,什么是请求
HTTP协议是无状态的不持续连接,会话是用于在连接之间不同页面之间的数据信息传递。
请求是用户向服务器发出的一个动作,动作完成则请求结束,它不会持续一段时间。
8.Servlet的生命周期是什么
J2EE教程:P75
9.请求转发和重定向的区别
精通Struts书的:P8
10.多线程的`实现方式
11.什么时候使用Thread,什么时候使用Runable
12.Hibernate的缺点是什么
13.HashMap实现什么接口,继承什么类
实现Map、Serializable接口,继承java.util.AbstractMap类
14.LinkList和ArrayList的区别,如果是在集合的开头插入一个对象,
使用哪种效率高些,在集合的末尾插入一个对象,使用哪种效率高些,为什么
ArrayList随机访问的效率要比LinkList快,但是LinkList顺序访问的效率则高过ArrayList,另外LinkList在对元素进行插入和删除操作时要比ArrayList的效率高,二者的最佳选择方法是:首先选用ArrayList当发现“向元素中插入和删除操作太多时”引发性能问题时,换用LinkList,当然处理固定元素还是选用数组.
LinkedList基于链表实现,插入元素的性能会比ArrayList高.
ArrayList基于数组实现,遍历的性能高于LinkedList.
15.门面模式在项目中的具体实现,为什么该设计模式,为什么不用一个接口,其它类
实现该接口来代替门面模式。
16.你在项目中充当什么角色。
17.怎样建立CVS服务器
18.什么是远程方法调用
远程方法调用是通过网络调其它服务器上的组件就像调用本地组件一样.详见J2EE教程P6
19.怎样理解分布式开发
20.Struts框架中的titles框架的描述,为什么不用include
精通Struts书的P383
篇6:大唐和亚信科技笔试题目
以下就是面试题: 大家看看或许找工作有所裨益
1. interface 和 abstract 的区别?
abstract 可不可以继承 interface, interface 可不可以继承 interface?
2. HashMap 和 Hashtable 的区别?
3. 线程常用的方法是什末?
4. GC是什末?常用的两种方法是什末?
5. Sleep和wait()的区别?
6. Servlet中forward()和redirct()的区别?
7. EJB和JavaBean都是什末?
8. EJB都有哪些构成?
9. Servlet的生命周期,比CGI有什末优点?
10. Override 和 Overload的区别?
11. JSP的组成部分?
12. 写一个JDBC的程序
13. MVC架构的构成和各部分的'作用?
14. 存储过程和函数的区别?
要求能经常出差,主要做JSP和HTML,
应试者回答问题的技巧
一、把握重点,简捷明了,条理清楚,有理有据。
一般情况下回答问题要结论在先,议论在后,先将自己的中心意思表达清晰,然后再做叙述和论证。否则,长篇大论,会让人不得要领。面试时间有限,神经有些紧张,多余的话太多,容易走题,反倒会将主题冲淡或漏掉。
二、讲清原委,避免抽象。
用人单位提问总是想了解一些应试者的具体情况,切不可简单地仅以“是”和“否”作答。应针对所提问题的不同,有的需要解释原因,有的需要说明程度。不讲原委,过于抽象的回答,往往不会给主试者留下具体的印象。
三、确认提问内容,切忌答非所问。
面试中,如果对用人单位提出的问题,一时摸不到边际,以致不知从何答起或难以理解对方问题的含义时,可将问题复述一遍,并先谈自己对这一问题的理解,请教对方以确认内容。对不太明确的问题,一定要搞清楚,这样才会有的放矢,不致答非所问。
四、有个人见解,有个人特色。
用人单位有时接待应试者若干名,相同的问题问若干遍,类似的回答也要听若干遍。因此,用人单位会有乏味、枯燥之感。只有具有独到的个人见解和个人特色的回答,才会引起对方的兴趣和注意。
五、知之为知之,不知为不知。
面试遇到自己不知、不懂、不会的问题时,回避闪烁,默不作声,牵强附会,不懂装懂的做法均不足取,诚恳坦率地承认自己的不足之处,反倒会赢得主试者的信任和好感。
注意事项:
应试者消除紧张的技巧由于面试成功与否关系到求职者的前途,所以大学生面试时往往容易产生紧张情绪。有些大学生可能由于过度紧张而导致面试失败。因此必须设法消除过度的紧张。
篇7:扬智科技软件笔试题目
扬智(科技)软件笔试题目
1. Queue is a useful structure
(a): What is a queue?
(b): Write 5 operations or functions, without details, that can be done
on a queue.
2. Insert a sequence fo keys(24,49,13,20,59,23,90,35) into a data
structure, which has no keys initially. Depict the data structure
after these insertions , if it is:
(a): a heap tree
(b): an AVL tree
3. (a) What is a synchronous I/O bus?
(b) What is an asnchronous I/O bus?
(c) Compare the advantages and disadvantages of synchronous and a
synchronous I/O bus.
4. Explain the following terminology:
(a): Baud rate
(b): Handshaking
(c): Memory mapped I/O
5. Explain the key issues in supporting a real-time operation system
for embedded system.
6. Explain the mapping of visual addresses to real addresses under paging
by
(a) direct mapping
(b) associative mapping
(c) combined direct/associated mapping
7. Please explain what is “write-back” and “write-through” ,and discuss the
advantage and disadvantage about these two methods.
8. Explain the concept and benefit of threads
9. What is hardware interrupt? What is software interrupt? What is
exception? Please tell me all you know about interrupt.
10.Write a recursive function that tests wether a string is a palindrome.
A palindrome is s string such as “abcba” or “otto” that reads the same in
both directions.If you can write this function recursively,you can write
an iterative version of this function instead.
相关主题阅读:
雅虎公司C#笔试题
腾讯技术类笔试
intel技术类笔试题
四大事务所笔试题目选摘
篇8:蓝盟科技面试笔试题目
蓝盟科技面试笔试题目
子网掩码的作用
如何加入域 基本步骤
无线网络的几个标准 带宽
Windows下创建一个账户,然后删除掉,再重建一个同名帐户,问有什么不同
上海的DNS是多少 (不知道就算了)
域已经建好,如何更改域名?
Windows下 打SP4补丁能否成功,不成功的`话会怎样?
在windows下fat32分区最大能分多大
常用的代理服务器
常用的代理服务器软件?
怎么将fat32转换成ntfs? 怎么将ntfs装换成fat32?
通过带宽路由器使用ADSL做上网共享,wan口连接方式应设置成什么?如果使用有线通,wan口连接方式应设置成什么?
如果一台pc机连好电源后,机器可以通电,但是显示器没有信号显示,可能是什么问题?
如果一台pc机反复重启可能是什么原因?
直通线和交叉线的制作方法?
outlook、oe、foxmail邮件的备份?
网络版防病毒软件和单机版软件相比优点有那些?
还有一些性格测评 主观意识的题 注意不要丢分
篇9:it笔试题目
1、有一个名人和很多平民在一块,平民都认识这个名人,但是这个名人不认识任何一个平民,任意两个平民之间是否认识是未知的,请设计一个算法,快速找个这个人中的那个名人。 已知已经实现了一个函数 bool know(int a,int b) 这个函数返回true的时候,表明a认识b,返回false的时候表明a不认识b。
思路:首先将n个人分为n/2组,每一组有2个人,然后每个组的两个人调用这个know函数,假设为know(a,b),返回true的时候说明a认识b,则a肯定不是名人,a可以排除掉了,依次类推,每个组都调用这个函数依次,那么n个人中就有n/2个人被排除掉了,数据规模将为n/2。同理在剩下的n/2个人中在使用这个方法,那么规模就会将为n/4,这样所有的遍历次数为n/2+n/4+n/8+........ 这个一个等比数列,时间复杂度为o(n)。
2、进程切换需要注意哪些问题?
保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;
保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器各寄存器的值;
自待运行进程的私有堆栈中弹出PSW值并送入处理器的PSW; 自待运行进程的私有堆栈中弹出PC值并送入处理器的PC。
3、输入一个升序数组,然后在数组中快速寻找两个数字,其和等于一个给定的值。
这个编程之美上面有这个题目的,很简单的,用两个指针一个指向数组前面,一个指向数组的后面,遍历一遍就可以了。
4、判断一个自然数是否是某个数的平方。当然不能使用开方运算。
方法1:
遍历从1到N的数字,求取平方并和N进行比较。
如果平方小于N,则继续遍历;如果等于N,则成功退出;如果大于N,则失败退出。
复杂度为O(n^0.5)。
方法2:
使用二分查找法,对1到N之间的数字进行判断。
复杂度为O(log n)。
方法3:
由于
(n+1)^2
=n^2 + 2n + 1,
= ...
= 1 + (2*1 + 1) + (2*2 + 1) + ... + (2*n + 1)
注意到这些项构成了等差数列(每项之间相差2)。
所以我们可以比较 N-1, N - 1 - 3, N - 1 - 3 - 5 ... 和0的关系。
如果大于0,则继续减;如果等于0,则成功退出;如果小于 0,则失败退出。
复杂度为O(n^0.5)。不过方法3中利用加减法替换掉了方法1中的乘法,所以速度会更快些。
例如:3^2 = 9 = 1 + 2*1+1 + 2*2+1 = 1 + 3 + 5
4^2 = 16 = 1 + 2*1 + 1 + 2*2+1 + 2*3+1
int square(int n)
{
int i = 1;
n = n - i;
while( n > 0 )
{
i += 2;
n -= i;
}
if( n == 0 ) //是某个数的平方
return 1;
else //不是某个数的平方
return 0;
}
篇10:it笔试题目
一、算法设计
1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。
思路:这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1),然后在调用[s2,t2]随机产生一个数a,归一化后得到角度:360*(a-s2)/(t2-s2)
2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。
思路:如果用户查询的数量小于m,那么直接就存起来。如果用户查询的数量大于m,假设为m+i,那么在1-----m+i之间随机产生一个数,如果选择的是前面m条查询进行存取,那么概率为m/(m+i),如果选择的是后面i条记录中的查询,那么用这个记录来替换前面m条查询记录的概率为m/(m+i)*(1-1/m)=(m-1)/(m+i),当查询记录量很大的时候,m/(m+i)== (m-1)/(m+i),所以每个query被抽中的概率是相等的。
3、C++ STL中vector的相关问题:
(1)、调用push_back时,其内部的内存分配是如何进行的?
(2)、调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作?
vector的工作原理是系统预先分配一块CAPACITY大小的空间,当插入的数据超过这个空间的时候,这块空间会让某种方式扩展,但是你删除数据的时候,它却不会缩小。
vector为了防止大量分配连续内存的开销,保持一块默认的尺寸的内存,clear只是清数据了,未清内存,因为vector的capacity容量未变化,系统维护一个的默认值。
有什么方法可以释放掉vector中占用的全部内存呢?
标准的解决方法如下
template < class T >
void ClearVector( vector< T >& vt )
{
vector< T > vtTemp;
veTemp.swap( vt );
}
事实上,vector根本就不管内存,它只是负责向内存管理框架acquire/release内存,内存管理框架如果发现内存不够了,就malloc,但是当vector释放资源的时候(比如destruct), stl根本就不调用free以减少内存,因为内存分配在stl的底层:stl假定如果你需要更多的资源就代表你以后也可能需要这么多资源(你的list, hashmap也是用这些内存),所以就没必要不停地malloc/free。如果是这个逻辑的话这可能是个trade-off
一般的STL内存管理器allocator都是用内存池来管理内存的,所以某个容器申请内存或释放内存都只是影响到内存池的剩余内存量,而不是真的把内存归还给系统。这样做一是为了避免内存碎片,二是提高了内存申请和释放的效率――不用每次都在系统内存里寻找一番。
二、系统设计
正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。
三、求一个全排列函数:
如p([1,2,3])输出:
[123]、[132]、[213]、[231]、[321]、[323]
求一个组合函数
如p([1,2,3])输出:
[1]、[2]、[3]、[1,2]、[2,3]、[1,3]、[1,2,3]
这两问可以用伪代码。
篇11:it笔试题目
1、对于如下程序:
#include
using namespace std;
class A
{
public:
A
{
cout<<“A”<
}
};
int main(void)
{
A a[4], b,*p;
}
会输出多少个A?( C )
A、2 B、3 C、5 D、6
p只是一个对象指针,并没有指向一个对象的内存空间,所以没有调用构造函数。
2、头文件中的 ifndef/define/endif 有什么作用?
答:防止该头文件被重复引用,避免变量、类型等被重新定义。
3、const 有什么用途?(请至少说明两种)
答:(1)可以定义 const 常量。
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
4、如下的字符串函数,用于生存一个字符串 ”连接号码异常” ,并返回它的指针
char* strfun()
{
char str[20];
strcpy(str, “连接号码异常”);
printf(“%s n”, str); //printf语句1
return str;
}
void main()
{
char *pstr = strfun();
printf(“%s n”, pstr); //printf语句2
}
问题1 : printf语句1和printf语句2哪个能在屏幕上正在打印出来?
问题2 : 如果不能正常在屏幕上打印出字符串,请说明原因。
问题3 : 如果不修改strfun的声明,请问该如何修改上述程序的错误。
答:
问题1:语句1可以正常打印,语句2不能正常打印;
问题2:语句2使用的指针所指向的内存空间str[20],在函数strfun返回时已经被释放了;
问题3:可以将函数strfun中的语句char str[20];改为char *str = new char[20];
5、下面是交换两个double型数据的函数,
void swap( double* p1, double* p2 )
{
double *p;
*p = *p1;
*p1 = *p2;
*p2 = *p;
}
void main()
{
double a = 0.1;
double b = 0.2;
swap( &a, &b );
}
请找出上述代码的错误,指出错误的原因,并改正。
答:函数swap中混淆了double型指针与double型变量的差别,对于一个未初始化的指针访问其内存空间是非常危险的。对swap函数修改如下:
void swap( double* p1, double* p2 )
{
double p;
p = *p1;
*p1 = *p2;
*p2 =p;
}
6、在电信业务的后台处理程序中,经常会涉及到处理字符串,除了用char *处理字符串之外,C++还为我们提供了封装了的字符串类string,其本质也是用一个动态数组来保存字符串,类String的原型为:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other); // 拷贝构造函数
~String(void); // 析构函数
String & operate =(const String &other); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
请编写String的上述4个函数普通构造函数、拷贝构造函数、析构函数和赋值函数。
代码如下:
class String
{
private:
char *m_data;
public:
String();
String(const char *str = NULL);
String(const String &other);
~String(void);
String & operator =(const String &other);
};
String::String()
{
m_data = NULL;
}
String::String(const char *str = NULL) //带一个指针的普通构造函数
{
if(str == NULL)
{
m_data = new char[1];
assert(m_data != NULL);
*m_data = ' ';
}
else
{
int length=strlen(str);
m_data = new char[length+1];
assert(m_data != NULL);
strcpy(m_data,str);
}
}
String::String(const String &other) //拷贝构造函数
{
m_data = new char[other.length+1];
assert(m_data != NULL);
strcpy((*this).m_data,other.m_data);
}
String::~String(void) //析构函数
{
if(m_data != NULL)
{
delete m_data;
m_data = NULL;
}
}
String & String::operator=(const String &other) //赋值函数
{
if(&other != this)
{
delete [](*this).m_data;
(*this).m_data = new char[other.length+1];
assert((*this).m_data != NULL);
strcpy((*this).m_data,other.m_data);
}
}
篇12:it笔试题目
1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少。
2、如果X大于0并小于65536,用移位法计算X乘以255的值为: (X<<8)-X
X<<8-X是不对的,因为移位运算符的优先级没有减号的优先级高,首先计算8-X为0,X左移0位还是8。
3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有 3n+1 个空指针。
4、以下两个语句的区别是:第一个动态申请的空间里面的值是随机值,第二个进行了初始化,里面的值为0
int *p1 = new int[10];
int *p2 = new int[10]();
5、计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式:0X12 小端模式:0X56 X86结构的计算机使用 小端 模式。
一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。
6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,请声明一个参数为int *,返回值为int的函数指针:
int (*fun)(int *)
7、下面程序运行后的结果为:to test something
char str[] = “glad to test something”;
char *p = str;
p++;
int *p1 = static_cast(p);
p1++;
p = static_cast(p1);
printf(“result is %sn”,p);
8、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:
(1)恰好第K次(1=
(2)平均需要尝试多少次。
这个就是求期望值 由于每次打开宝箱的概率都是1/n,则期望值为: 1*(1/n)+2*(1/n)+3*(1/n)+......+n*(1/n) = (n+1)/2
★ 蓝盟科技笔试题目
★ 趋势科技笔试经历
★ 宝洁笔试经验
★ 联想笔试笔试经验
★ 奥美笔试
★ 五矿笔经小结
★ 南京顺丰笔试题目
【趋势科技的笔试题目(共12篇)】相关文章:
应届生面试笔试总结2023-05-15
摩托罗拉销售人员笔试题目2022-05-07
全国职称计算机笔试准备2022-09-11
报社招聘笔试分析2023-06-14
部分高校考研复试增英语笔试 考生叫苦不迭2023-08-23
辅导员面试和笔试会考到题目2022-05-25
外企面试经典的笔试题目及答案2023-04-16
高科技骨干企业招聘应届毕业生的笔试试题2022-08-17
西门子笔试经验实习2023-01-26
MBA数学笔试经验2023-03-26