网易技术类笔试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网易技术类笔试题
发布时间:2010-03-17 来源:应届毕业生求职网
.写出对“知之者不如好之者,好之者不如乐之者”的理解。
对于学习,了解怎么学习的人,不如爱好学习的人;爱好学习的人,又不如以学习为乐的人。比喻学习知识或本领,知道它的人不如爱好它的接受得快,爱好它的不如以此为乐的接受得快
2.用中文写出尽可能多的中文语句,要求包含有“都”的意思(all、both之意),但不能有“都”字
3.new/delete和malloc/free的区别,并说说你在什么情况下会自另行建立自己的内存分配机制。
new/delete
∙Allocate/release memory
1. Memory allocated from 'Free Store'
2. Returns a fully typed pointer.
3. new (standard version) never returns a NULL (will throw on failure)
4. Are called with Type-ID (compiler calculates the size)
5. Has a version explicitly to handle arrays.
6. Reallocating (to get more space) not handled intuitively (because of copy
constructor).
7. If they call malloc/free is implementation defined.
8. Can add a new memory allocator to deal with low memory
(set_new_handler)
9. operator new/delete can be overridden legally
10. constructor/destructor used to initialize/destroy the object
malloc/free
∙Allocates/release memory
1. Memory allocated from 'Heap'
2. Returns a void*
3. Returns NULL on failure
4. Must specify the size required in bytes.
5. Allocating array requires manual calculation of space.
6. Reallocating larger chunk of memory simple (No copy constructor to worry
about)
7. They will NOT call new/delete
8. No way to splice user code into the allocation sequence to help with low
memory.
9. malloc/free can NOT be overridden legally
Technically memory allocated by new comes from the 'Free Store' while memory allocated by malloc comes from the 'Heap'. Whether these two areas are the same is an implementation details, which is another reason that malloc and new can not be mixed.
3:malloc/free:只要给出想要的内存的长度就分配,并返加(void*)
new/delete:分配内存同时进行类型检测,内置了sizeof运算,如果分配类的话,自动调用类的构造函数,delete也是,释放内存时调类的析构
如果用free释放“new创建的动态对象”,那么该对象因无法执行析构函数而可能导致程序出错。如果用delete释放“malloc申请的动态内存”,理论上讲程序不会出错,但是该程序的可读性很差。所以new/delete必须配对使用,malloc/free也一样在一个大的应用程序中,内存要不断的分配和释放,那样的话随着时间的推进,程序会越来越慢,碎片也越来越多,这时易用自己的内存分配机制.
用GloalAlloc(在DOS下用malloc)开一个或几个大内存。然后写自己的new或malloc 函数。最后写一些函数管理你的内存.
4.求极限lim(x-[x]),x趋于-3。
从左和从右不一样
从左是:1
从右是:-1
5.比较两个电路的可靠性。
6.编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
7.有两个字符串 str1和str2,写一个函数实现在str1中查找str2的初始位置。要求不区分大小写。
8.在字符串S中寻找最长的字符串x,条件是x存在于S中。即是如:abcabcdcd中的abc。
9.求Fibonacci数列中第k个与前面所有数互质的数(除前面两个数 1,1 )。
10.有100个真币和一个假币,只知道真币与假币不等重,要求只称两次,得出是真币重还是假币重。
等分两部分
称一下
随便去一部分再称
1,如果取重的一部分
1。1 相等则轻
1。2 不等则重
2。如果取轻的一部分
2。1 相等则重
2。1 不等则轻
11.证明题:给出n个互不相同的分数数列a1/b1, a2/b2… an/bn ,证明(a1 + a2 + …+ an) / (b1 + b2 + … + bn) 的值在数列a1/b1, a2/b2… an/bn 数列的最大值和最小值之间。
12. 证明题:在三角形中,假设等角对等边,证明大角对大边。
13. 文学题:在以下的空白中填入相应的词(蔼、断、淡、泰)并解释其含义。
自处超然,处事然,无事澄言,处事言,得意然,失意然。
14. 问答题:为什么现在的计算机采用二进制?而不是八进制或十六进制?你认为以后的计算机会采用几进制?
因为二进制最简单,只有0和1,计算的速度也是最快的,和计算机追求的速度不谋而合,而十六进制,十进制还是八进制都没有二进制快
二进位制在计算机内部使用是再自然不过的。但在人机交流上,二进位制有致命的弱点——数字的书写特别冗长。例如,十进位制的100000写成二进位制成为11000011010100000。为了解决这个问题,在计算机的理论和应用中还使用两种辅助的进位制——八进位制和十六进位制。二进位制的三个数位正好记为八进位制的一个数位,这样,数字长度就只有二进位制的三分之一,与十进位制记的数长度相差不多。例如,十进位制的100000写成八进位制就是303240。十六进位制的一个数位可以代表二进位制的四个数位,这样,一个字节正好是十六进位制的两个数位。十六进位制要求使用十六个不同的符号,除了0—9十个符号外,常用A、B、C、D、E、F六个符号分别代表(十进位制的)10、11、12、13、14、15。这样,十进位制的100000写成十六进位制就是186A0。二进位制和八进位制、二进位制和十六进位制之间的换算都十分简便,而采用八进位制和十六进位制又避免了数字冗长带来的不便,所以八进位制、十六进位制已成为人机交流中常用的记数法。
展望未来的计算机要采用几进制?
如果未来开发出可以表示三种状态的硬件(晶体管。。。)的话可以采用八进制,开发出表示四位状态的来的话可以采用十六进制,,,,,反正是2的正数次幂,,,,