设为首页 加入收藏

TOP

2012年11月18日 下午4:00中科院中关村教学楼S302新浪笔试
2014-11-24 02:01:59 来源: 作者: 【 】 浏览:30
Tags:2012年 11月 18日 下午 4:00 中科院 中关村 教学楼 S302 新浪 笔试

一、简答题(共20分)
1.到现在为止做过的最自豪或者最想要做的事情是什么,说明事件、内容和结果(5分)
2.你理想的工作内容和环境是什么,若现实与理想有差距,你如何处理,请详细说明。(5分)
3谈谈你对互联网的认识,请详细说明(5分)
4.你的工作期望和目标是什么,请详细说明(5分)。
二选择题(每题2分,共40分)
印象深刻的有:
1.mkdir命令创建父目录的参数(-p)
-p -f -m -l
解答:mkdir [-m] [-p] 目录名
选项介绍:
-m: 对新建目录设置存取权限,也可以用chmod命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
2.
-a -o -l
3.java script中 str = “welcome to sina”下列操作哪个正确(B)
Astr.substring(1,5)的返回值是“elcom”//开始处的索引包括,结尾处的索引不包括,因此应该是elco
Bstr.length()的返回值是16
Cstr.(“come”)的返回值是4.
Dstr.toUpCase()的返回值是”Welcom To Sina”
4.下列哪个操作最耗时(D)
A 差 B投影 C笛卡尔积 D除


三、填空题(一空一分,共15分)
1.视图是虚表,它只存储 视图的定义(脚本) ,不存储 数据(内容) 。
2.数据库的完整性是指数据的 正确性 和 相容性 。
3.过程存储的优点
答:优点:
(1).由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。
(2). 执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。)缓存改善性能。 但sql server新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们是否在存储过程中,所以没比较优势了。
(3).存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql语句的代码流量。
(4).使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。RPC 封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。
(5).可维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。
(6).代码精简一致,一个存储过程可以用于应用程序代码的不同位置。
(7).更好的版本控制,通过使用 Microsoft Visual SourceSafe 或某个其他源代码控制工具,您可以轻松地恢复到或引用旧版本的存储过程。
(8).增强安全性:
a、通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;
b、提高代码安全,防止 SQL注入(但未彻底解决,例如,将数据操作语言--DML,附加到输入参数);
c、SqlParameter 类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据库前得到附加验证)。


缺点:
(1).如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。
(2).可移植性差
由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则将业务逻辑封装在不特定于 RDBMS 的中间层中可能是一个更佳的选择。
(3). 大量采用存储过程进行业务逻辑的开发致命的缺点是很多存储过程不支持面向对象的设计,无法采用面向对象的方式将业务逻辑进行封装,从而无法形成通用的可支持复用的业务逻辑框架。
(4).代码可读性差,相当难维护.
4.约束有主键约束、外键约束、 用户自定义完整性约束 。
答: 实体完整性约束就是主键约束;参照完整性约束就是外键约束;用户自定义完整性约束 一般认为是 NULL和NOT NULL ,CHECK
5.php数组函数三个 sort() 、 array_push() 、 sizeof() 。
四、问答题 (共25分)
1(共4分).三个表:Student :姓名, 学号,组织部门
Course: 课程编号、课程名称
Sc:学号,课程编号,成绩
(1)查询选修了“数据库”课程的学生姓名和学号
(2)查询“小明”选修的课程名称
(3)查询选修了3门课程的学生姓名。
2(4分) sql注入是什么?如何防范?请详细说明
答:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双”-”进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等,
3(5分)编写类实现只获取唯一编码链接数据库。
4(5分)找出字符串中第一个只出现一次的字符。
5.(7分)找出已排序数组中和为给定值的两个数,若有多个只需一对即可。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇新浪笔试题总结 下一篇新浪uc部门面试软件测试员的一道..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: