校园招聘笔试面试题及部分答案ewd.docx
《校园招聘笔试面试题及部分答案ewd.docx》由会员分享,可在线阅读,更多相关《校园招聘笔试面试题及部分答案ewd.docx(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、笔试面试题汇总一、 笔试题1、 给你一个二叉树的前序序列和中序序列,求其后续序列?(淘宝)先看三个公公式:PreOrrderr(T)=T的的根节点点+PrreOrrderr(T的的左子树树)+PPreOOrdeer(TT的右子子树);InOrdder(T)= InnOrdder(TT的左子子树)+T的根根节点+ InnOrdder(TT的右子子树);PostOOrdeer(TT)= PosstOrrderr(T的的左子树树)+ PosstOrrderr(T的的右子树树)+TT的根节节点。根据以上的的三给公公式就可可以很容容易解决决一下两两个问题题:前序+中序序 后序序;中序+后序序 前序序。当
2、然也可把把树画出出来,再再求他的的各种序序列。2、 Cachee替换算算法命中中率最高高是?(淘淘宝)这个组成原原理就有有讲到了了,可以以找组成成原理的的书看下下,把各各种替换换算法在在理解下下,在书书上的PP98-P999讲得很很详细。3、 给一个顺序序表,然然后再给给你一个个码值,求求在二分分查找改改码值的的比较次次数?(淘淘宝)自己去做二二分的查查找的过过程,我我们知道道二分查查找是llog(n)的的,一次次比较次次数大于于logg(n)肯定是是错的。具具体可以以看下数数据结构构的书,PP17-P一八八讲的很很详细。4、 编译程序中中安排中中间代码码生成的的目的是是?(淘淘宝)把与机器相
3、相关的工工作集中中到目标标代码生生成阶段段,难度度和工作作量下降降。便于于移直和和维护。利利于优化化。5、 假设在n进进制下,117*4456=82006成立立,n是是多少?(淘宝宝)从上面的等等式中可可以看到到8,则则进制可可定大于于8,因因此可以以从9进进制开始始枚举,直直至满足足等式,就就可以了了。(建建议:先先都转换换成十进进制,在在实现乘乘法运算算)6、 要从一亿会会员中抽抽出1000万会会员,考考虑到公公平性、相相对分散散、相对对随机,不不能重复复,抽取取速度要要快。有有一个rranddom函函数,能能产生00-9的的随机数数。请写写出你能能想到的的抽取方方法?并并写明步步骤。(淘
4、淘宝)用randdom函函数产生生两个数数x1、xx2,那那么会员员号mood 1100 等于xx1x22的话,该该会与就就被选中中。这样样每个会会员的中中奖概率率是1/1000。7、 Mallooc和nnew的的区别?8、 +、-、siizeoof(字字符串、结结构体)(融融通)9、 字符串函数数的实现现(sttrleen、sstrccpy等等)(网网龙、亿亿联网络络)10、 字符串 以以单词逆逆序11、 CSTRIING类类的一些些基本函函数的实实现12、 DEBUGG 和RRELEESE 两种调调试的区区别13、 CONSTT的用法法我只要一听听到被面面试者说说:cconsst意味味着常
5、数数,我我就知道道我正在在和一个个业余者者打交道道。去年年Dann Saaks已已经在他他的文章章里完全全概括了了connst的的所有用用法,因因此ESSP(译译者:EEmbeeddeed SSysttemss Prrogrrammmingg)的每每一位读读者应该该非常熟熟悉coonstt能做什什么和不不能做什什么.如如果你从从没有读读到那篇篇文章,只只要能说说出coonstt意味着着只读读就可可以了。尽尽管这个个答案不不是完全全的答案案,但我我接受它它作为一一个正确确的答案案。(如如果你想想知道更更详细的的答案,仔仔细读一一下Saaks的的文章吧吧。)如果应试者者能正确确回答这这个问题题,我
6、将将问他一一个附加加的问题题:下面的声明明都是什什么意思思?constt innt aa;innt cconsst aa;coonstt innt *a;iint * cconsst aa;innt cconsst * a connst;前两个个的作用用是一样样,a是是一个常常整型数数。第三三个意味味着a是是一个指指向常整整型数的的指针(也也就是,整整型数是是不可修修改的,但但指针可可以)。第第四个意意思a是是一个指指向整型型数的常常指针(也也就是说说,指针针指向的的整型数数是可以以修改的的,但指指针是不不可修改改的)。最最后一个个意味着着a是一一个指向向常整型型数的常常指针(也也就是说说,指
7、针针指向的的整型数数是不可可修改的的,同时时指针也也是不可可修改的的)。如如果应试试者能正正确回答答这些问问题,那那么他就就给我留留下了一一个好印印象。顺顺带提一一句,也也许你可可能会问问,即使使不用关关键字 connst,也也还是能能很容易易写出功功能正确确的程序序,那么么我为什什么还要要如此看看重关键键字coonstt呢?我我也如下下的几下下理由:1) 关键键字coonstt的作用用是为给给读你代代码的人人传达非非常有用用的信息息,实际际上,声声明一个个参数为为常量是是为了告告诉了用用户这个个参数的的应用目目的。如如果你曾曾花很多多时间清清理其它它人留下下的垃圾圾,你就就会很快快学会感感谢
8、这点点多余的的信息。(当当然,懂懂得用cconsst的程程序员很很少会留留下的垃垃圾让别别人来清清理的。)2) 通过过给优化化器一些些附加的的信息,使使用关键键字coonstt也许能能产生更更紧凑的的代码。3) 合理理地使用用关键字字connst可可以使编编译器很很自然地地保护那那些不希希望被改改变的参参数,防防止其被被无意的的代码修修改。简简而言之之,这样样可以减减少buug的出出现。14、 虚基类 抽抽象基类类的用法法答:在派生生类继承承基类时时,加上上一个vvirttuall关键词词则为虚虚拟基类类继承,如如: claassdderiive:virrtuaal ppubllic bass
9、e ; 虚基类类主要解解决在多多重继承承时,基基类可能能被多次次继承,虚虚基类主主要提供供一个基基类给派派生类,如如: claassBB ; claassDD1:ppubllic B ; claassDD2:ppubllic B ; claassCC:puubliic DD1,ppubllic D2 ; 这里CC在D11,D22上继承承,但有有两个基基类,造造成混乱乱。因而而使用虚虚基类,即即: claassBB ; claassDD1:vvirttuall puubliic BB ; claassDD2:vvirttuallpubbliccB ; claassCC:puubliic DD1,
10、ppubllic D215、 Java线线程中的的sleeep,yeiild,nottifyy的作用用和区别别sleepp:让线线程睡眠眠yeildd:暂停当当前正在在执行的的线程对对象,并并执行其其他线程程notiffy:唤唤醒线程程16、 面向对象的的特征有有哪些方方面封装、继承承、多态态17、 ServlletCConffig对对象与SServvlettConntexxt对象象的作用用和区别别servllet connfigg对象可可以使用用一个或或多个标标签为sservvlett配置一一些初始始化参数数,seervllet配配置了初初始化参参数后,wweb容容器在创创建seervlle
11、t实实例对象象时,会会自动将将这些初初始化参参数封装装到SeervlletCConffig对对象中,并并在调用用serrvleet的iinitt方法时时,将SServvlettConnfigg对象传传递给sservvlett。进而而,程序序员通过过SerrvleetCoonfiig对象象就可以以得到当当前seervllet的的初始化化参数信信息。WEB容器器在启动动时,它它会为每每个WEEB应用用程序都都创建一一个对应应的SeervlletCConttextt对象,它它代表当当前weeb应用用。ServlletCConffig对对象中维维护了SServvlettConntexxt对象象的引用用
12、,开发发人员在在编写sservvlett时,可可以通过过SerrvleetCoonfiig.ggetSServvlettConntexxt方法法获得SServvlettConntexxt对象象。18、 编程:链表表的反转转、两个个排好序序链表结结合成一一个有序序链表19、 写一个程序序实现字字符串反反转。(新新大陆)20、 多态性意味味着一个个操作在在不同的的类中可可以有不不同的实实现方式式。(淘淘宝)21、 二分搜索算算法具体可以看看下数据据结构的的书,PP17-P一八八讲的很很详细。22、 树:节点个个数与树树高的计计算这个可以用用深搜和和广搜实实现,节节点个数数没遇到到一个还还没标记记的
13、节点点就加11并标记记该节点点。把根根节点记记为1,然然后对于于还没标标记的节节点就等等于他父父亲的值值+1,这这过程中中出现的的最大值值就是树树高。对对于树的的一些定定义数据据结构书书上有PP一三88-P一一三9。23、 操作系统:内存的的大小端端,生产产者、消消费者问问题1-2.生生产者消消费者问问题:生产者与消消费者问问题可以以被描述述为:一一个有限限缓冲区区和两类类线程,它它们是生生产者和和消费者者,生产产者把产产品放入入缓冲区区,相反反消费者者便是从从缓冲区区中拿走走产品。生产者在在缓冲区区满时必必须等待待,直到到缓冲区区有空间间才继续续生产。消消费者在在缓冲区区空时必必须等待待,直
14、到到缓冲区区中有产产品才能能继续读读取。P,V操作作来解决进进程同步步与进程程通信的的问题。信号量是最最早出现现的用来来解决进进程同步步与互斥斥问题的的机制,包包括一个个称为信信号量的的变量及及对它进进行的两两个原语语操作。信信号量为为一个整整数,我我们设这这个信号号量为:semm。很显显然,我我们规定定在seem大于于等于零零的时候候代表可可供并发发进程使使用的资资源实体体数,ssem小小于零的的时候,表表示正在在等待使使用临界界区的进进程的个个数。根根据这个个原则,在在给信号号量附初初值的时时候,我我们显然然就要设设初值大大于零。p操作和vv操作是是不可中中断的程程序段,称称为原语语。P,
15、V原语语中P是是荷兰语语的Paasseerenn,相当当于英文文的paass, V是是荷兰语语的Veerhooog,相当于于英文中中的inncreemneet。 P原语语操作的的动作是是:(1)seem减11;(2)若ssem减减1后仍仍大于或或等于零零,则进进程继续续执行;(3) 若若semm减1后后小于零零,则该该进程被被阻塞后后进入与与该信号号相对应应的队列列中,然然后转进进程调度度。V原语操作作的动作作是:(1)seem加11;(2)若相相加结果果大于零零,则进进程继续续执行;(3)若相相加结果果小于或或等于零零,则从从该信号号的等待待队列中中唤醒一一等待进进程,然然后再返返回原进进程
16、继续续执行或或转进程程调度。需要提醒大大家一点点就是PP,V操操作对于于每一个个进程来来说,都都只能进进行一次次。而且且必须成成对使用用。且在在P,VV愿语执执行期间间不允许许有中断断的发生生。24、 软件工程的的类图类图(Cllasss diiagrram)是最常常用的UUML图图,显示出出类、接接口以及及它们之之间的静静态结构构和关系系;它用用于描述述系统的的结构化化设计。类(Classs) 一一般包含含3个组组成部分分。第一一个是类类名;第第二个是是属性(aattrribuutess);第第三个是是该类提提供的方方法。类与类间关关系常见的关系系有:继继承(GGeneerallizaati
17、oon),关关联关系系(Asssocciattionn),聚聚合关系系(Agggreegattionn),组组合关系系(Coompoosittionn),依依赖关系系(Deepenndenncy)。 其其中,聚聚合关系系(Agggreegattionn),组组合关系系(Coompoosittionn)属于于关联关关系(AAssoociaatioon)。 详见软件工工程教材材。25、 C语言:cc语言的的关键字字、运算算符的优优先级与与结合性性、宏、指指针的理理解、ttypeedeff等3-1.cc语言的的关键字字关键字是由由C语言言规定的的具有特特定意义义的字符符串,通通常也称称为保留留字。用
18、用户定义义的标识识符不应应与关键键字相同同。c语语言关键键字共332个:1、 数据类型关关键字(112个):(1). ccharr :声声明字符符型变量量或函数数(2). ddoubble :声明明双精度度变量或或函数(3). ennum :声明明枚举类类型(44). flooat:声明浮浮点型变变量或函函数(55). intt: 声声明整型型变量或或函数(6). loong :声明明长整型型变量或或函数(7). shhortt :声声明短整整型变量量或函数数(8). ssignned:声明有有符号类类型变量量或函数数(9). sstruuct:声明结结构体变变量或函函数(110). unni
19、onn:声明明联合数数据类型型(111). unssignned:声明无无符号类类型变量量或函数数(122). voiid :声明函函数无返返回值或或无参数数,声明明无类型型指针(基基本上就就这三个个作用)2、 控制语句关关键字(112个):A.循循环语句句(1). ffor: 一种种循环语语句(可可意会不不可言传传)(22). do : 循循环语句句的循环环体(33). whiile :循环环语句的的循环条条件(44). breeak:跳出当当前循环环(5). cconttinuue:结结束当前前循环,开开始下一一轮循环环B.条条件语句句(1).iff: 条条件语句句(2).ellse :条
20、件件语句否否定分支支(与 if 连用)(3).goto:无条件跳转语句C.开关语句(1).switch :用于开关语句(2).case:开关语句分支(3).default:开关语句中的“其他”分支D.return :子程序返回语句(可以带参数,也看不带参数)3、 存储类型关关键字(44个):(1).auuto :声明明自动变变量 一一般不使使用(22).eexteern:声明变变量是在在其他文文件正声声明(也也可以看看做是引引用变量量)(33).rregiisteer:声声明积存存器变量量(4). sstattic :声明明静态变变量4、 其它关键字字(4个个):(1).connst :声明明
21、只读变变量(22).ssizeeof:计算数数据类型型长度(3).typpedeef:用用以给数数据类型型取别名名(当然然还有其其他作用用)(44).vvolaatille:说说明变量量在程序序执行中中可被隐隐含地改改变3-2.运运算符的的优先级级与结合合性、宏宏、指针针的理解解、tyypeddef等等注:谭浩强强那本书书附录很很详细。c语言运算算符1级优先级级 左结结合() 圆括号号 下标运运算符- 指向结结构体成成员运算算符. 结结构体成成员运算算符2级优先级级 右结结合! 逻逻辑非运运算符 按按位取反反运算符符+ 前缀增增量运算算符- 前缀增增量运算算符+ 正正号运算算符- 负负号运算算
22、符(类型型) 类类型转换换运算符符* 指指针运算算符& 地地址与运运算符sizzeoff 长度度运算符符3级优先级级 左结结合* 乘乘法运算算符/ 除除法运算算符% 取取余运算算符4级优先级级 左结结合+ 加加法运算算符- 减减法运算算符5级优先级级 左结结合 右移运运算符6级优先级级 左结结合、= 关系系运算符符7级优先级级 左结结合= 等于运运算符!= 不等于于运算符符8级优先级级 左结结合& 按按位与运运算符9级优先级级 左结结合 按位异异或运算算符10级优先先级 左左结合| 按按位或运运算符11级优先先级 左左结合& 逻辑与与运算符符12级优先先级 左左结合| 逻辑或或运算符符一三级优
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 招聘 笔试 试题 部分 答案 ewd
限制150内