C语言和python、js的不同
前者编译型语言,后者解释型语言,前者强类型语语言,后者弱类型语言,前者面向过程,后者面向对象,前者有指针,后者没有但是复杂数据类型是隐形传递了指针的
编译型语言、解释型语言的异同
前者一次性将高级语言全部翻译成机器语言,后者翻译一句执行一句
都是高级语言,需要通过高级语言——汇编语言——
计算机网络:IP、TCP、UDP区别
IP网络层,TCP、UDP传输层,TCP保证交付,建立连接,UDP不保证可靠交付,无连接
使用TCP、UDP的协议有哪些应用场景
以面试系统为例,页面TCP,视频UDP,常见基于TCP协议的:HTTP、FTP、SMTP、POP3,常见基于UDP:DNS、HTTP3
网络为什么要分层:
分层制定标准,方便工程师开发
数据结构:
栈、队列是什么
给一个字符串,字符串中含有[]{}()类型括号,写一个算法,判断字符串中的括号是否合法。(手写)
采用栈,为了方便用了大量switch,case,说优化思路,3种可以合并
分层遍历一个普通二叉树(广度优先)(手写)
使用队列
怎么优化,时间、空间复杂度
懵了,广度优先只会队列,时间、空间复杂度都是O(N)
完全二叉树、满二叉树
一开始说反了,满才是完全填满了
二叉搜索树是什么,时间空间复杂度
提到了中序遍历是从小到大顺序的,空间复杂度为O(N),讲了平均时间复杂度为O(log(N)),最坏情况,简单提了为O(N),红黑树等平衡二叉树
JS数组是怎么一回事
可以实现队列,栈的功能,用哈希表+链表优化的,简单数组可以和C语言数组一样是连续的内存空间
CSS预编译语言
讲了less用@,scss用$,可以计算,可以嵌套
操作系统了解吗
了解不太多,只知道一些基本概念
进程和线程区别
进程是系统进行资源分配基本单位,线程 是操作在进程之中有多个,是运作的基本单位
进程之间的通信方式
匿名管道、有名管道、套接字、共享内存,提到计网种应用层本质上就是进程之间的通信,端口就是一个进程
网络安全
XSS攻击及解决方式
跨站脚本攻击,注入脚本,采用转义字符(富文本编辑器不行),白名单(CSP忘了,就踢了概念)
SYN flood攻击
利用TCP3次握手,发送大量请求攻击服务器。将IP加入黑名单,超时断开
路由器、交换机区别
分别工作在网络层和数据链路层,路由器有DHCP分配IP,进行NAT转换
反问
全部评论
(3) 回帖