阿里笔试题:技术能力分析与Java/C++/数据库/Web开发者比较

需积分: 32 3 下载量 77 浏览量 更新于2024-09-11 收藏 19KB DOCX 举报
1. 题目涉及的是阿里巴巴2016年的研发工程师笔试题,其中包含了一些编程和逻辑推理题目。在第一个问题中,考察的是应聘者的技能匹配度。根据给出的信息,A和B都熟悉Java,B和C会Web开发,C和D懂数据库,D有C++经验。结合这些条件,我们可以推断出,D满足了三个要求(Java、数据库和C++),而B只满足两个(Java和Web开发)。因此,被雇用的是D。 2. 第二题是关于二叉树的性质。已知二叉树有45个叶节点(度为0的节点)和25个度为1的节点。二叉树的总结点数可以通过公式计算,对于任何二叉树,总结点数等于叶节点数+1(根节点)+度为2的节点数。由题意,没有提供度为2的节点数量,但因为度为1的节点有25个,所以至少还有45-25=20个节点是叶节点或者度为2。由于二叉树中度为2的节点数量总是叶节点数量减1(形成树形结构),则度为2的节点有20-1=19个。总结点数 = 45(叶节点)+ 1(根节点)+ 19(度为2的节点)= 115,答案是D。 3. 第三题考查单向链表操作。题目要求将指针r插入到指针p之后。正确的做法是先将r的next指向p的下一个节点,然后将p的next指向r,这样就实现了插入操作,答案是C。 4. 第四个问题是Java程序的运行结果。程序首先创建了一个字符串"hello"和字符数组ch,然后调用change方法改变str和ch。change方法中,str被修改为"testok",ch的第一个元素被改为'c'。最后打印str和ch,由于数组ch是引用类型,改变数组元素不影响原对象,所以str还是"testok",ch变为'c'。因此,输出结果是B。 5. 最后一个问题涉及概率和逻辑推理。在团队中,100人对两种颜色的裙子有不同的看法。第一轮45人看到蓝黑色,第二轮40人看到白金色。既然有些人从未举手,意味着他们既没看到蓝黑色也没看到白金色,总数是100-45-40=15人。如果两次举手的人数构成等差数列,设首项为a,公差为d,那么有关系式:a + (a+d) + (a+2d) + (a+3d) = 45 + 40 - 15。解这个方程得d=5,所以首项a=20。因此,第一次举手的人数为20,第二次举手的人数为25。两类人加起来一共45人,剩下的100-45=55人既未举手。所以既能看出蓝黑色又能看出白金色的人数是55-15=40人。 本资源包含了五个与IT相关的面试题目,主要考察了编程基础、数据结构、链表操作以及逻辑推理能力。答题者需要具备扎实的编程技能和一定的问题分析能力才能解答正确。