当前位置: 代码迷 >> Web前端 >> 绿盟2013年web见习生笔试题
  详细解决方案

绿盟2013年web见习生笔试题

热度:186   发布时间:2013-04-02 12:35:26.0
绿盟2013年web实习生笔试题

1、    打印liunx和windows下nsfocus进程信息

linux下:ps -l | grep nsfocus

windows下:tasklist | find“nsfocus

2、    TCP和UDP区别

TCP:传输控制协议,提供的是面向连接、可靠的字节流服务。当要交换数据时需要建立TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

UDP:用户数据报协议,简单的面向数据报的运输层协议。UDP不提供可靠性,不需要建立一个连接,且没有超时重发等机制,故而传输速度很快

UDP发送数据的时候是不管数据是否到达,所以传输速度比较快。但是同时也容易丢失数据。

TCP三次握手建立,四次握手释放,所以传输更准确,但速度可能会相对慢。

TCP要求在目标计算机成功收到数据时发回一个确认(即ACK)。

3、    QQ登录失败的五个原因

1、QQ文件损坏。2、网络连接可能断开。3、网卡驱动损坏。4、电脑中毒。5、QQ文件丢失

4、    HTTP与HTTPS的区别

https协议需要到ca申请证书,一般免费证书很少,需要交费。http不需要。

http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议

http和https连接方式用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的

https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

5、    用户向浏览器发出一个请求,浏览器和服务器如何响,请求html css js资源?

浏览器发出http请求,向服务器请求所需的资源。服务器根据浏览器的请求内容,去工程目录获取内容。解析成浏览器能够识别的语言。然后返回给浏览器。浏览器得到内容后,解析显示。

6、    XSS漏洞?如何避免

XSS:跨站脚本攻击,具体是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的.

如何避免?

1、对用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。

3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。

7、    抽象,多态,继承,面向接口编程的设计原则

封装:封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性;

抽象:抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的。

继承:一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;

多态:多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供更好的可扩展性,同样也可以代码重用。

8、    HTTP状态码:200,400,403

1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。

2xx成功)表示成功处理了请求的状态代码。

200 (成功)服务器已成功处理了请求。

3xx(重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。

304(未修改)自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

4xx(请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。

400(错误请求)服务器不理解请求的语法。

403(禁止)服务器拒绝请求。

404(未找到) 服务器找不到请求的网页。

5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。

500(服务器内部错误)服务器遇到错误,无法完成请求。

503(服务不可用)服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

505(HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。

9、    MVC中的M、V、C

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

1、模型(Model)

模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.

2、视图(View)

视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller)

控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

10、  SQL注入?如何发生的?如何抵御SQL注入

SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.

当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。现在许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。

防止SQL注入

1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。

2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装

11、  链表实现一下方法

clear()、push(value)、pop()、insert(key,value)、get(key)、delete(value)

禁止转载!