牛客刷题(1)

1.下列关于操作系统进程与线程的区别正确的是:

  • 进程是资源分配的基本单位
  • 线程是资源调度的基本单位

附:操作系统中资源分配,调度和管理的最小单位都是进程。而cpu调度的最小单位是线程。

2.flash和js通过什么类如何交互?

  • ExternalInterface

附:Flash提供了ExternalInterface接口与JavaScript通信,ExternalInterface有两个方法,call和addCallback

  • ExternalInterface.addCallback("在js里可调用的flash方法名",flash内方法) //在flash中通过这个方法公开 在js中可调用的flash内的方法;
  • ExternalInterface.call("js方法",传给js的参数) //在flash里调用js里的方法

3.关于bootstrap3的说法,错误的是:

  • 在IOS上支持Opera

附:

4.下列哪些功能可以通过Cookie来实现?( )

  • 记录访问者的信息
  • 在页面之间传递信息
  • 自动识别用户

附:访问者的信息一般都可以处理成 kv 键值对的形式,故可以保存在 Cookie 中。

通过设置 Cookie 的 path 等属性,可以在特定域名或 URI 下共享 Cookie 信息。

通过在 Cookie 中保存用户uid、服务器会话sid等方法,可以记录用户登录状态。

Cookie 是保存在用户浏览器上的小文本文件,不是数据库,也没有提供操作数据库的 API,故不能对数据库进行操作。

cookies一般是用于自动登录呀(如淘宝,京东一些可以勾选自动登录),这就相当于进行从登录页到主页的跳转了,页面之间传递着用户的信息,以键值对的方式存储着用户的信息,当然登录跳转也用到了其他以键值对存储的信息,如session(服务端保持,一些需要登录以后才可以访问的就需要session校验,如果是大项目开发的话会用到过滤器) cookies主要用于客户端保持,当然了,cookies怎么可能对数据库进行操作呢,cookies是保存在客户端的.

5.给定下面的 HTML 代码:

<div id=”wrapper”>

<div class=”wText”>…</div>…<!—more wText items here -->

<div class=”wImg”>…</div>…<!—more wImg items here -->

<div class=”wVideo”>…</div>…<!—more wVideo items here -->

</div>

怎么能够取得 ”wrapper” 中全部项的集合?

  • $(‘#wrapper’).contents();

附:$(‘#wrapper’).children();  //(只沿着 DOM 树向下遍历单一层级)查询直接的子元素。而不管子元素的子元素。

$(‘#wrapper’).html();  //返回的是dom结构。而不是集合

$(‘#wrapper’).contents();

$(‘#wrapper’).find(“all”);   //并没有all这个元素

6.DHTML 的动态样式的作用是  ()

  • 使网页作者改变内容的外部特征而不强制用户再次下载全部内容

附:DHTML 将 HTML、JavaScript、DOM 以及 CSS 组合在一起,用于创造动态性更强的网页。

DHTML实现了网页从Web服务器下载后无需再经过服务的处理,而在浏览器中直接动态地更新网页的内容、排版样式和动画的功能。例如,当鼠标指针移到文章段落中时,段落能够变成蓝色,或者当鼠标指针移到一个超级链接上时,会自动生成一个下拉式子链接目录等。

包括:

    ①动态内容(Dynamic Content):动态地更新网页内容,可“动态”地插入、修改或删除网页的元件,如文字、图像、标记等。

    ②动态排版样式(Dynamic Style Sheets):W3C的CSS样式表提供了设定HTML标记的字体大小、字形、样式、粗细、文字颜色、行高度、加底线或加中间横线、缩排、与边缘距离、靠左右或置中、背景图片或颜色等排版功能,而“动态排版样式”即可以“动态”地改变排版样式。

7.关于web表单登录中用到的图形验证码的实现,以下做法不正确的有:

  • 返回给浏览器的html代码中包含图形验证码和文本字符串,登录前客户端判断输入内容和页面中保存的内容是否一致
  • 服务器端在返回的图片和cookie中同时包含图形验证码,登录前客户端判断输入内容和cookie保存的内容是否一致
  • 服务器端生成验证码后一方面通过图片将验证码返回给客户端,同时在服务器端保存文本的验证码,由服务器端验证输入内容是否正确(这是正确的)
  • 浏览器通过识别图形验证码中的内容和用户输入的内容判断是否一致

 附:A B选项都把正确的验证码文本放在了客户端,这是违背了验证码的初衷的。爬虫或者是恶意程序依旧可以通过各种手段获取你嵌入在html文本或者保存在cookie中的正确验证码文本,模拟表单提交来达到攻击的目的。

D选项更是无稽之谈。

C选项才是正确的实现方式,发送到客户端的只有图片形式的验证码,服务器端保存cookie对应的图形验证码的正确文本。客户端表单提交时到服务器端验证。

关键是  客户端出于安全考虑,不能直接在客户端进行验证

8.下面有关CSS sprites说法错误的是?

  • 允许你将一个页面涉及到的所有零星图片都包含到一张大图中去
  • 利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位
  • CSS Sprites虽然增加了总的图片的字节,但是很好地减少网页的http请求,从而大大的提高页面的性能(这是错误的)
  • CSS Sprites整理起来更为方便,同一个按钮不同状态的图片也不需要一个个切割出来并个别命名

附:CSS Sprites

1.简介

CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许将一个页面涉及到的所有零星图片都包含到一张大图中, 利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位, 访问页面时避免图片载入缓慢的现象。

2.优点

(1)CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;

(2)CSS Sprites能减少图片的字节;

(3)CSS Sprites解决了网页设计师在图片命名上的困扰,只需对一张集合的图片命名,不需要对每一个小图片进行命名,从而提高了网页制作效率。

(4)CSS Sprites只需要修改一张或少张图片的颜色或样式来改变整个网页的风格。

3.缺点

(1)图片合并麻烦:图片合并时,需要把多张图片有序的合理的合并成一张图片,并留好足够的空间防止版块出现不必要的背景。

(2)图片适应性差:在高分辨的屏幕下自适应页面,若图片不够宽会出现背景断裂。

(3)图片定位繁琐:开发时需要通过工具测量计算每个背景单元的精确位置。

(4)可维护性差:页面背景需要少许改动,可能要修改部分或整张已合并的图片,进而要改动css。在避免改动图片的前提下,又只能(最好)往下追加图片,但这样增加了图片字节。

9.input属于窗体元素,层级显示比flash、其它元素都高。请判断这句话的正确与否。

  • T

附:层级显示优先级: frameset > 表单元素 > 非表单元素

10.嵌入在HTML文档中的图像格式可以是?

  • .gif
  • .bmp
  • .jpg

11.下面关于IE、FF下面CSS的解释区别描述正确的有?

  • 火狐浏览器中,非float的div前面有同一父级的float的div,此div若有背景图,要使用clear:both,才能显示背景图,而IE6.0中不用使用clear:both
  • 在[text-decoration:underline]的属性下,IE6.0显示的下划线会比FireFox低一点。在FireFox中,部分笔画会在下划线的下面1个象素左右。

附:IE6.0的div的内嵌div可以把父级的高度撑大,而FireFox不可以,要自己设置高度。

 当设置为三列布局时,IE6.0的float宽度不能达到100%,而FireFox可以。当设置为两列布局时,两种浏览器都可以。

12.HTML5 中不再支持下面哪个元素?

附:<q>定义短的引用 <ins>定义被插入的文本 <menu>定义命令的列表或菜单 html5中不再支持的元素(或者说是不支持使用的): <noframes>,<frameset>,<frame>,<applet>,<acronym>,<basefont>,<dir>,<tt>,<strike>,<big>,<blink>,<s>,<font> 而在html5中新加的元素是:(用手机写<>太费事,后面的省略了哈) canvas,audio,video,source,embed,track,datalist,keygen,output,article,aside,bdi, command,details,dialog,summary,figure,figcaption,footer,header,mark,meter,nav,progress,ruby,rt,rp,section,time,wbr(这些是按照一定顺序写的)

13.在CSS3中,以下哪个IE浏览器(Trident内核)的私有属性前缀? ( )

  • ms

附:浏览器引擎

浏览器解析渲染页面原理

浏览器 最重要 最核心的部分是“解释引擎”,也就是“浏览器内核”: 负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。 
网页的工作过程需要使用到两个引擎:渲染引擎和javascript引擎 
什么是JavaScript引擎?简单来讲,就是能够提供执行JavaScript代码的运行环境 
所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,排版引擎(Rendering Engine,也有称渲染引擎),渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。 
浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种:

- Trident :[ˈtraɪdnt] 
IE浏览器(遨游、世界之窗、腾讯TT…都是IE)Trident内核最慢 
IE 以Trident 作为内核引擎 ,前缀为–ms。

- Gecko:[ˈgekəʊ] 
- 开放源代码、以C++编写的网页排版引擎,是跨平台的 
FireFox是基于 Gecko 开发; 
- presto:[ˈprestəʊ] 
目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。由Opera Software开发的浏览器排版引擎,Opera(欧朋浏览器),但由于市场选择问题,主要应用在手机平台–Opera mini 
- Webkit: 
苹果公司自己的内核,google的chrome也使用webkit作为内核。 
是一个开源的浏览器引擎,同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,它拥有清晰的源码结构、极快的渲染速度,包含的 WebCore 排版引擎和 JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来。 
许多网站都是按照IE来架设的,很多网站不兼容Webkit内核,比如登录界面、网银等网页均不可使用Webkit内核的浏览器。 
Safari([səˈfɑri]), Google Chrome, 傲游3, 猎豹浏览器, 百度浏览器 opera浏览器 基于 Webkit 开发。

注:2013年2月Opera宣布转向WebKit引擎 
注:2013年4月Opera宣布放弃WEBKIT,跟随GOOGLE的新开发的blink引擎

13.以下对form表单中input元素的readonly与disabled属性描述正确的是?( )

  • Disabled为真时,input的值不会随着表单提交

附:disabled和readonly这两个属性有一些共同之处,比如都设为true,则form属性将不能被编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间是有一定区别的:

  • 如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。
  • 而readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值