美文网首页
给实习生准备的面试题

给实习生准备的面试题

作者: hjm1fb | 来源:发表于2017-12-04 17:14 被阅读17次

    计算机网络

    1. TCP/IP四层模型分别是哪四层,请按从底层到上层的顺序写
      答案:物理接入层 -> 网络层 -> 传输层 -> 应用层

    2. UDP 与 TCP在原理和使用场景等方面的区别有哪些,至少写出三点
      答案:
      a. UDP是无连接的,TCP是面向连接的
      b. UDP是不可靠的,TCP是可靠的
      c. UDP是面向报文的,TCP面向字节流

    3. 常见的Http状态码及其含义,比如404
      答案:
      1xx:表示通知信息,例如表示收到或者是正在处理
      2xx:表示成功,例如表示接受或知道了
      3xx:表示重定向,例如表示完成请求还需要采取进一步的行动
      4xx:表示客户端的差错,例如表示请求中有语法错误或不能完成
      5xx:表示服务器端的差错:例如表示服务器失效无法完成请求

    数据结构

    1. 栈和队列的区别,数组和链表的区别
      答案:
      a. 队列先进先出, 栈先进后出
      b. 数组可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素。同样的道理,如果想删除一个元素,同样需要移动大量元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。
      链表恰好相反,链表中的元素是通过指针联系到一起。如果要访问链表中一个元素,需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素只要修改元素中的指针就可以了。如果应用需要经常插入和删除元素你就需要用链表数据结构。

    2. 哈希表能够快速存取元素的原理
      答案:
      a. 采用 Hash 算法决定集合元素的存储位置
      b. 数组+链表的结构,利用数组的查找效率为O(1) ,快速找到key所对应的索引
      c.动态扩容,提高存取效率

    算法

    1. 有一座高度是N级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。求一共有多少种走法?
      答案:
      考察:动态规划

    2. 写一个函数,不使用库函数,计算数值的整数次方,同时考虑运行效率
      答案:
      考察:减少重复计算,比如2的8次可以通过两个2的4次相乘

    1. 快速排序的时间复杂度是多少?二分查找的时间复杂度是多少
      答案:
      快速Ο(nlogn)
      二分O(logn)

    相关文章

      网友评论

          本文标题:给实习生准备的面试题

          本文链接:https://www.haomeiwen.com/subject/psuxixtx.html