康希诺生物股份公司7月招聘面试题197道2020713

● 调用递归过程或函数时,处理参数及返回地址需要用一种称为(39)的数据结构。

(39)

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B


调用递归过程或函数时,处理参数及返回地址需要用一种称为什么的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B


数组名作为参数时,以下叙述错误的是()

A.函数调用时是将实参数组的所有元素传给形参

B.函数调用时是将实参数组的首地址传给形参

C.函数调用时是将实参数组的第一个元素传给形参

D.函数调用时是将实参数组的所有元素地址传给形参


正确答案:ACD


当调用函数时,实参是一个数组名,则向函数传送的是______。

A.数组的长度

B.数组的首地址

C.数组中每一个元素的地址

D.数组每个元素中的值


正确答案:B


调用递归过程或函数时,处理参数及返回地址需要用一种称为(11)的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B
解析:本题考查数据结构基础知识。
  在函数调用过程中形成嵌套时,则应使最后被调用的函数最先返回,递归函数执行时也是如此。例如,用递归方式求4的阶乘(以factorial(n)表示求n的阶乘)的过程如下所示:
  factorial(4)=4*factorial(3)
        =4*(3*factorial(2))
        =4*(3*(2*factorial(1)))
        =4*(3*(2*1)
        =4*(3*2)
        =4*6
        =24
  显然,要求4的阶乘,需要通过递归调用求出3的阶乘,要求出3的阶乘,必须先求出2的阶乘,依此类推,求出1的阶乘后才能得到2的阶乘,然后才能得到3和4的阶乘。该求解过程中的函数调用和返回需要满足后调用先返回的特点,因此需要使用栈结构。


康希诺生物股份公司7月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:TCP和UDP的区别?可用的回答 : TCP与UDP基本区别 1. 基于连接与无连接 2. TCP要求系统资源较多,UDP较少 3. UDP程序结构较简单 4. 字节流模式(TCP)与数据报模式(UDP); 5. TCP保证数据正确性,UDP可能丢包 6. TCP保证数据顺序,UDP不保证 具体编程时的区别 1.socket()的参数不同 2.UDP Server不需要调用listen和accept 3.UDP收发数据用sendto/recvfrom函数 4.TCP:地址信息在connect/accept时确定 5.UDP:在sendto/recvfrom函数中每次均 需指定地址信息 6.UDP:shutdown函数无效 问题 Q2:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q3:如何在python中使用三元运算符?可用的回答 :三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:on_true if expression else on_false问题 Q4:如何删除python数组的值?可用的回答 :可以使用pop()或remove()方法删除数组元素。这两个函数之间的区别在于前者返回已删除的值,而后者则不返回。问题 Q5:什么是Python?使用Python有什么好处?可用的回答 :Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理。Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个开源的。问题 Q6:cookie 和session 的区别?可用的回答 : 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。 4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 5、建议: 将登陆信息等重要信息存放为SESSION 其他信息如果需要保留,可以放在COOKIE中 问题 Q7:如何在python中使用三元运算符?可用的回答 :三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:on_true if expression else on_false问题 Q8:谈谈你对面向对象的理解?可用的回答 : 在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。 在现实生活中的任何 物体都可以归为一类事物,而每一个个体都是一类事物的实例。 面向对象的编程是以对象为中心,以消息为驱 动,所以程序=对象+消息。 面向对象有三大特性,封装、继承和多态。 封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化, 提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。 继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类-有父类的行为和属性,也有自己特有的行为和属性。 这样做扩展了已存在的代码块,进一步提高了代码的复用性。 如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。 多态的一大作用就是为了解耦-为了解除父子类继承的耦合度。 如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式 HAS-A。 简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。 总结一下,如果说封装和继承是面向对象的基础,那么多态则是面向对象最精髓的理论。掌握多态必先了解接口,只有充分理解接口才能更好的应用多态。 问题 Q9:什么是arp协议?可用的回答 : ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。 问题 Q10:什么是猴子补丁?可用的回答 :在运行时动态修改类和模块算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:寻找极值题目描述如下:A peak element is an element that is greater than its neighbors.Given an input array nums, where numsi numsi+1, find a peak element and return its index.The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.You may imagine that nums-1 = numsn = -.Example 1:Input: nums = 1,2,3,1Output: 2Explanation: 3 is a peak element and your function should return the index number 2.Example 2:Input: nums = 1,2,1,3,5,6,4Output: 1 or 5 Explanation: Your function can return either index number 1 where the peak element is 2, or index number 5 where the peak element is 6.Note:Your solution should b

当调用函数时,实参是一个数组名,则向函数传送的是______。

A.数组的长度

B.数组的首地址

C.数组每一个元素的地址

D.数组每个元素中的值


正确答案:B
解析:数组名作函数实参时,所传递的是数组第一个元素的地址。


调用递归过程或函数时,处理参数及返回地址需要用一种称为( )的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B
解析:在递归函数执行时函数调用过程中形成嵌套时,最后被调用的函数最先返回。例如,用递归方法求3的阶乘(以factorial(n)表示n的阶乘)的过程如下:factorial(3)=3*factorial(2)=3*(2*factorial(1))=3*(2*1)=3:1:2=6。显然,要求3的阶乘,需要递归调用2的阶乘,要求2的阶乘,需要先求出l的阶乘,依此类推,求出1的阶乘后才得到2和3的阶乘。求解的过程满足后调用先返回的特点,因此需要使用到栈。


当调用函数时,实参是一个数组名,则向函数传送的是______。

A.数组的长度

B.数组的首地址

C.数组每个元素的地址

D.数组每个元素中的值


正确答案:B
解析:在函数中,可以通过指针变量来引用调用函数中对应的数组元素。此操作是通过传递数组的地址来实现的。


实现函数调用需要()进行信息管理。

  • A、队列
  • B、堆栈
  • C、数组
  • D、参数

正确答案:B


有关数组名作为函数参数说法错误的是()。

  • A、用数组名作为函数参数时,要求形参和实参类型相同
  • B、用数组名作为函数参数时,实参传给形参的是数组的首地址
  • C、用数组名作为函数参数时,实参将数组各元素的值传给形参
  • D、用数组名作为函数参数时,实参和形参共享同一数组

正确答案:C

更多 “康希诺生物股份公司7月招聘面试题197道2020713” 相关考题
考题 单选题数据结构中,struct pro { int id; char name[20]; }; void fun(struct pro p[]) { ......;//函数体省略 }关于本程序段描述不正确的是()。A fun函数是按照值传递进行的B fun函数是结构体数组作为参数C 结构体数组做参数,属于地址传递D 数组p做参数传递是数组的首地址正确答案:C解析:暂无解析

考题 数据结构里,函数参数为()时,参数传递属于地址传递。A、数组B、指针C、字符数组D、int型正确答案:A,B,C

考题 若使用一维数组名作函数实参,则以下正确的说法是()A、须在主调函数中说明此数组的大小B、参数组类型与形参数组类型可以不匹配C、在被调用函数中,不需要考虑形参数组的大小D、实参数组名与形参数组名必须一致正确答案:A

考题 多选题数据结构中,以下说法正确的是()。A数组做参数属于地址传递,传递的是数组的首地址,或数组第一个元素的地址。B数组名表示数组的首地址(因此调用时候只写数组名)。C函数的地址传递是指参数是:数组或指针类型时,传递的是地址,而不是值。D值传递时,函数的实参和形参分别占有存储单元。正确答案:A,D解析:暂无解析

考题 数据结构中,struct pro { int id; char name[20]; }; void fun(struct pro p[]) { ......;//函数体省略 }关于本程序段描述不正确的是()。A、fun函数是按照值传递进行的B、fun函数是结构体数组作为参数C、结构体数组做参数,属于地址传递D、数组p做参数传递是数组的首地址正确答案:A

考题 多选题数据结构里,函数参数为()时,参数传递属于地址传递。A数组B指针C字符数组Dint型正确答案:C,B解析:暂无解析

考题 以下关于过程及过程参数的描述中,正确的是()A、变量作为过程的参数时,只能使用"传地址"方式进行B、数组作为过程的参数时,只能使用"传地址"方式进行C、在VB中,允许用户对子过程或函数过程进行嵌套定义D、只有函数过程能够将过程中处理的信息传回到调用的程序中正确答案:B

考题 单选题若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。A 函数参数array,ptr都是指针变量B 函数参数array不是指针变量,ptr是指针变量C 调用函数时,实参数组的值将一一复制给array数组D 调用函数时,array是按值传送,ptr是按地址传送正确答案:D解析:数组名为数组的首地址,也是指向数组的指针,所以array和ptr都是指针,A项正确,B项错误。调用函数时,将实参数组首地址赋给指针array,而不是传递整个数组元素,C项错误。调用函数时,array与ptr都是按地址传送的,D项错误。答案选择A选项。

考题 单选题对数组名作函数的参数,下面描述正确的是(  )。A 数组名作函数的参数,调用时将实参数组复制给形参数组B 数组名作函数的参数,主调函数和被调函数共用一段存储单元C 数组名作参数时,形参定义的数组长度不能省略D 数组名作参数,不能改变主调函数中的数据正确答案:B解析:数组名作为函数参数,传递的是数组的首地址,主调函数和被调函数共用一段存储单元,如果被调函数中对数组进行操作,会改变主调函数中的数据。

考题 单选题实现函数调用需要()进行信息管理。A 队列B 堆栈C 数组D 参数正确答案:C解析:暂无解析