9月12号面试总结(weidun)
1.数据库的存储过程
什么是数据库的存储过程
SQL的调用可以分为函数和存储过程,个人理解,其实函数和存储过程是相似的,至少在引用的时候跟函数很是一样。或者干脆把存储过程理解为另一种函数,另一种经过优化的函数。它的优点在于,存储过程在被编译后会被直接保存在数据库中,成为数据库的一部分,以后就可以反复调用,运行速度快,效率高。。。这些是函数做不到的。
系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便的从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其他的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其他用户使用。
数据库存储过程的意义
创建了是拿来用的,至于为什么要用存储过程,要先了解存储过程存在的意义:
存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。
1)·存储过程是预编译过的,所以存储过程执行速度很快.
2)·存储过程和待处理的数据都放在同一台运行SQL Server的计算机上,使用存储过程查询当地的数据,效率自然很高
3)·存储过程一般多由Client端通过存储过程的名字进行调用,减少了网络传输量,加块系统速度.
4)·存储过程还有着如同C语言子函数那样的被调用和返回值的方便特性。
2.外部网络如果访问内部网络
3.nginx服务器是什么
1.Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端 tengine
2.反向代理服务器:客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
3.负载均衡 当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。于是将同一个应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。
Nginx可以通过反向代理来实现负载均衡。
4.代码如何同时兼容多种数据库
hibernate
5.文件如何上传tengine服务器
(1)使用Springmvc上传组件,从页面表单接收图片
(2)使用vsftpd组件,将图片上传到Linux服务器。
(a)、服务端:在Linux上安装ftp服务端vsftpd软件,并开启服务。
(b)、客户端:在java代码中使用FtpClient客户端建立与服务器的连接
6.sql语句如何将字符串转为date
cast convert
7.sql语句如何去重
distinct
8.异常exception分类,运行时异常,检查时异常
9.mybatis和hibernate区别
hibernate基于ORM 对象关系映射,
mybatis 半自动框架