1. 堆和栈的区别
数据结构的堆和栈 :
- 栈是一种可以实现“先进后出”(或者称为“后进先出”)的存储结构。
- 堆则是一种经过排序的树形数据结构,常用来实现优先队列等
内存分配中的堆和栈
1.栈空间的内存是由系统自动分配,一般存放局部变量,比如对象的地址等值,不需要程序员对这块内存进行管理
2. 堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存。
2. 请谈谈对正则表达式的看法?
正则表达式是一种字符规则。它是用来匹配字符串的。
编程的时候,我们要从一个字符串里找出特定的部分,就可以用这种规则来匹配。
3. UDP连接和TCP连接的异同
。都可以实现远程通信,主要区别在于TCP需要保持连接而UDP不需要,因此UDP具有更高的效率和更少的资源占用,而TCP传输数据更加可靠.
4. 什么叫做SQL注入,如何防止?
利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,这是SQL注入的标准释义。就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。防止SQL注入:
1、对输入内容进行过滤,去掉有可能的威胁
2、对于用来执行查询的数据库帐户,限制其权限。
3、在查询语句中使用参数。
4、用存储