笔试面试题—软件测试工程师

时间:2024-06-15 13:35:00 资料大全 我要投稿
  • 相关推荐

笔试面试题—软件测试工程师

  导语:unjs小编整理了笔试面试题—软件测试工程师,欢迎阅读!

笔试面试题—软件测试工程师

  试题1.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素,需要从后往前依次后移几个元素?删除第i个元素时,需要从前向后前移几个元素?

  分析:考察线性表中顺序存储的特点,

笔试面试题—软件测试工程师

  答案:n-i+1,n-i

  试题2.已知链表的头结点head,写一个函数把这个链表逆序。

  分析:考察线性表中链式存储反转算法。

  答案:

  01. void List::reverse()

  02. {

  03. list_node * p = head;

  04. list_node * q = p->next;

  05. list_node * r = NULL;

  06. while(q){;

  07. r= q->next;

  08. q->next = p;

  09. p= q;

  10. q= r;

  11. }

  12. head->next = NULL;

  13. head = p;

  14. }

  试题3.找出单向链表中的中间结点。

  分析:两个指针,一个步长为1,另一个步长为2。步长为2的走到底后步长为1的正好到中间。

  答案:

  01. list_node * List::middleElement()

  02. {

  03. list_node * p = head;

  04. list_node * q =head->next;

  05. while(q){;

  06. p= p->next;

  07. if(q)q=q->next;

  08. if(q)q=q->next;

  09. }

  10. }

  试题4.如何检查一个单向链表上是否有环,

资料共享平台

笔试面试题—软件测试工程师》(https://www.unjs.com)。

  分析:同样两个指针,一个步长为1,另一个步长为2,如果两个指针能相遇则有环。

  答案:

  01. list_node * List::getJoinPointer()

  02. {

  03.

  04. if(head == NULL ||head->next == NULL)return NULL;

  05. list_node * one = head;

  06. list_node * two =head->next;

  07. while(one != two){

  08. one =one->next;

  09. if(two)two=two->next;

  10. elsebreak;

  11. if(two)two=two->next;

  12. elsebreak;

  13. };

  14. if(one == NULL || two ==NULL)return NULL;

  15. return one;

  16. }

【笔试面试题—软件测试工程师】相关文章:

软件测试面试题完全版09-06

鲁班软件销售笔试题03-13

软件测试面试经验03-13

阿里巴巴实习生测试开发工程师笔试题目09-29

渣打银行性格测试笔试经验05-25

测试工程师岗位职责(精选15篇)07-22

海尔笔试03-13

软件开发工程师岗位职责(精选13篇)03-11

高级软件工程师岗位职责(精选13篇)08-04

如何准备笔试04-21