计算机网络
-
TCP/IP四层模型分别是哪四层,请按从底层到上层的顺序写
答案:物理接入层 -> 网络层 -> 传输层 -> 应用层 -
UDP 与 TCP在原理和使用场景等方面的区别有哪些,至少写出三点
答案:
a. UDP是无连接的,TCP是面向连接的
b. UDP是不可靠的,TCP是可靠的
c. UDP是面向报文的,TCP面向字节流 -
常见的Http状态码及其含义,比如404
答案:
1xx:表示通知信息,例如表示收到或者是正在处理
2xx:表示成功,例如表示接受或知道了
3xx:表示重定向,例如表示完成请求还需要采取进一步的行动
4xx:表示客户端的差错,例如表示请求中有语法错误或不能完成
5xx:表示服务器端的差错:例如表示服务器失效无法完成请求
数据结构
-
栈和队列的区别,数组和链表的区别
答案:
a. 队列先进先出, 栈先进后出
b. 数组可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素。同样的道理,如果想删除一个元素,同样需要移动大量元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。
链表恰好相反,链表中的元素是通过指针联系到一起。如果要访问链表中一个元素,需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素只要修改元素中的指针就可以了。如果应用需要经常插入和删除元素你就需要用链表数据结构。 -
哈希表能够快速存取元素的原理
答案:
a. 采用 Hash 算法决定集合元素的存储位置
b. 数组+链表的结构,利用数组的查找效率为O(1) ,快速找到key所对应的索引
c.动态扩容,提高存取效率
算法
-
有一座高度是N级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。求一共有多少种走法?
答案:
考察:动态规划 -
写一个函数,不使用库函数,计算数值的整数次方,同时考虑运行效率
答案:
考察:减少重复计算,比如2的8次可以通过两个2的4次相乘
- 快速排序的时间复杂度是多少?二分查找的时间复杂度是多少
答案:
快速Ο(nlogn)
二分O(logn)
网友评论