情景中的问题要不是算法所必须具备的特性性

   一、单项选择题(本大题共20尛题每小题1分,共20分)

  在每小题列出的四个备选项中只有一个选项是符合题目要求的请将其代码填写在题后的括号内。错选、多選或未选均无分

  1.程序员接口是操作系统为用户提供的使用计算机系统的手段之一,该接口是指( )

  A.一组系统功能调用程序B.一份菜单

  C.一份作业控制说明书D.一组特权指令

  2.当用户程序执行了一条访管指令后中央处理器的工作状态应该是( )

  A.从管态转变为目态B.从目態转变为管态

  C.维持在目态D.维持在管态

  3.在操作系统中采用多道程序设计技术,能有效地提高效率的计算机器件是( )

  A.缓存区B.通道

  4.进程有若干属性它们是( )

  A.进程有多种状态、多个进程可以对应于相同的程序、多个进程可以并发运行

  B.进程只有一种状态、多个進程可以对应于相同的程序、多个进程可以并发运行

  C.进程有多种状态、多个进程不可以对应于相同的程序、多个进程可以并发运行

  D.进程有多种状态、多个进程可以对应于相同的程序、多个进程不可以并发运行

  5.进程控制块中说明信息的内容包含有( )

  A.进程状态、等待原因、程序存区、数据存区

  B.等待原因、程序存区、数据存区、存储器内容

  C.程序存区、数据存区、存储器内容、进程状态

  D.數据存区、存储器内容、进程状态、等待原因

  6.进程控制块的现场信息的内容包含有( )

  A.通用寄存器内容、控制寄存器内容、程序状态芓寄存器内容

  B.通用寄存器内容、控制寄存器内容、运算寄存器内容

  C.通用寄存器内容、运算寄存器内容、程序状态字寄存器内容

  D.运算寄存器内容、控制寄存器内容、程序状态字寄存器内容

  7.可用来长期存储大量信息的存储器是( )

  A.寄存器B.高速缓冲存储器

  C.主存储器D.辅助存储器

  8.可变分区存储管理的主存分配算法中,查找次数最少的是( )

  A.随机适应分配算法B.最先适应分配算法

  C.最优适应分配算法D.最坏适应分配算法

  9.页式存储管理中作业运行时,该作业的页表是放在( )

  A.磁盘中B.主存系统区中

  C.主存用户区中D.用户程序中

  10.在文件系统中为文件保密所采取的措施之一是( )

  A.把文件的副本存放到不同的存储介质上

  B.把文件的副本存放到不同的城市中

  C.定期运行防病毒软件

  D.为文件设置存取权限

  11."建立"文件时的操作步骤之一是( )

  A.确定文件的存储结构B.把文件目录读入主存储器

  C.尋找文件的目录项D.核对用户口令

  12.某文件共有4个记录LO~L3,采用链接存储结构每个记录及链接指针占用一个磁盘块,主存储器中的磁盘缓沖区的大小与磁盘块的大小相等为了在L2和L3之间插入一个记录L2',需要进行的磁盘操作有( )

  A.4次读盘和2次写盘B.4次读盘和1次写盘

  C.3次读盘和2佽写盘D.3次读盘和1次写盘

  13."共享设备"的含义是指( )

  A.多个进程可共享设备上的数据B.多个作业可共享设备上的数据

  C.多个进程可同时启动這个设备D.多个作业可交替使用这个设备

  14.有一种顺序存放文件中内容的方法是尽量把文件的内容放在同一柱面或相邻柱面对于放在同┅柱面中的连续内容可参照这样的形式存放:第n块放在第0个磁头下的第0个扇面,第n+1块放在第1个磁头的第1个扇面…依照这个方法存放文件嘚话,可以( )

  A.减少寻找时间其他时间不变B.减少延迟时间,其他时间不变

  C.减少传送时间其他时间不变D.既减少寻找时间,又减少延遲时间

  15.某文件共占用8个磁盘块B0~B7磁盘每道有8个扇面,每个扇面可存放一个磁盘块磁盘旋转一圈的时间是20ms,程序处理一个磁盘块的时間是2ms,B0~B7在一个磁道上优化分布磁头目前在B0起点处。则把B0~B7全部读出的时间是( )

  16.对一组有交互的并发进程来说它们中的每一个进程( )

  A.所含的程序都相同

  B.所含的程序可以不同,但会涉及到共享变量

  C.在同一时刻的状态都是相同的

  D.执行的结果不受其他进程的影响

  17.PV操作是在信号量上的操作若某进程在调用V操作后释放了一个正在等待信号量的进程,那么在调用前信号量的值为( )

  18.系统采用PV操作管悝可供n个进程共享的文件F若允许最多m个进程(n≥m≥1)同时读文件,则处于等待读文件的进程数最多有( )

  19.采用信箱方式进行通信时不包含在信箱数据结构中的内容是( )

  A.信箱名B.可存信件数

  C.已有信件数D.可存信件的指针

  20.采用银行家算法可避免死锁的发生,这是因为該算法( )

  A.可抢夺已分配的资源

  B.能及时为各进程分配资源

  C.任何时刻都能保证每个进程得到所需的资源

  D.任何时刻都能保证至少囿一个进程可得到所需的全部资源

  二、多项选择题(本大题共5小题每小题2分,共10分)

  在每小题列出的五个备选项中至少有两个昰符合题目要求的请将其代码填写在题后的括号内。错选、多选、少选或未选均无分

  21.实时操作系统的特点是( )

  A.对接收到的外部信号及时进行处理

  B.要在严格的时限内处理完接收到的事件

  C.设计时应首先考虑提高系统效率

  D.允许用户直接操纵计算机进行交互式工作

  E.可以用于控制生产流水线

  22.用于控制进程的原语是( )

  A.创建原语B.阻塞原语

  C.唤醒原语D.挂起原语

  23.与分时操作系统有关的概念是( )

  A.终端用户B.用户注册

  C.用户作业D.用户识别

  24.文件系统的功能之一是( )

  A.把逻辑文件转换成为物理文件,或进行反向的转换

  B.在文件中检索指定的内容

  C.分配文件的存储空间

  D.提供合适的存取方式以适应各种不同的应用

  E.向磁盘或磁带等发出启动读或写嘚指令

  25.从通道正确完成通道程序到操作系统完成与之相关的中断处理,其中需要完成的主要操作是( )

  A.通道请求I/O中断

  B.中断装置響应中断转入操作系统处理

  C.操作系统根据产生中断的通道号、设备号查找设备分配表

  D.从设备分配表查到刚才是哪个作业进程启動了该设备

  E.转回该作业进程,使它从刚才启动设备的系统调用的下一条指令开始继续运行

  三、填空题(本大题共20小题每小题1分,共20分)

  请在每小题的空格中填上正确答案错填、不填均无分。

  26.计算机系统的软件可以分为支撑软件、应用软件和__________软件

  28.Φ央处理器有两种工作状态,当中央处理器处于_________态时不允许执行特权指令。

  29.让多个计算题同时进入计算机系统的____________并行执行这种程序设计方法称为多道程序设计。

  30.计算机系统有一个程序状态字寄存器处理器是按程序状态字寄存器中的指示_____________程序的执行。

  31.撤销原语的功能是在一个进程完成工作后收回它的__________和进程控制块。

  32.批处理系统中把进入计算机系统的作业存放在磁盘的专用区域中等待处理,这样的专用区域称为__________

  33.主存储器中,存储单元通常使用的编址单位是__________

  34.页式存储管理中,作业的大小体现在该作业的__________中

  35.设某页式存储管理主存的地址是20位,其中12位是页内地址则该系统的页面长度为_____________字节,最大可存放256页

  36.文件系统管理空闲块的單块链接法跟成组链接法相比,主要缺点是每次分配或收回一块时都要__________才能够完成对链接指针的操作

  37.无论通过绝对路径,还是相对蕗径文件系统必须通过路径名才能确定文件的__________。

  38.大型超市为了积累交易数据用于未来的商业决策把交易数据按发生的先后次序存放在磁盘文件中,每隔十日转存至交易档案库因此该磁盘文件用_____________存储结构比较合适。

  39.某商店的"商品"文件是一个记录式文件每个记錄包含的数据项有商品号、商品名、价格。如果要查询价格在1000元以上的商品的商品名这时作为该文件记录的次键的数据项是__________。

  40.引入叻自成独立系统的通道结构后使得计算机系统不仅获得了CPU与外围设备之间的并行工作能力,还使各通道上的外围设备能够__________

  41.斯普林操作能够提高CPU的利用率是因为当多道程序并行工作时,其效果好像每个作业都拥有速度与__________一样快的输入机和输出机

  42.计算机系统有A和B兩台打印机。某用户程序请求使用打印机如果该程序被多次执行,就有可能出现有时使用A打印机有时使用B打印机输出的情况。这是因為用户程序使用的是__________

  43.如果磁盘共有n个柱面,磁头当前处于n/2号柱面附近要访问的柱面的柱面号比较均匀地分布在n/2的两边。在这种情況下采用__________调度算法的移臂调度程序较为有利。

  44.对具有相关临界区的n个进程采用PV操作实现进程互斥时可能出现的最小值是__________。

  45.现囿3个进程A,B和C它们对某类资源的需求量分别为7个,8个和3个目前已分别得到了3个,3个和2个如果系统还至少能提供__________个资源,则该系统处于咹全状态

  四、简答题(本大题共5小题,每小题4分共20分)

  46.简单叙述可能引起进程切换的原因。

  47.页式存储管理中是否存在碎爿请说明理由。

  48.为什么在打开索引文件时要把该文件的索引表读入主存储器

  49.为什么在操作系统的磁盘管理中采用了缓冲池技術后可以减少读写磁盘操作的次数?

  50.什么是死锁死锁的出现与哪些因素有关?

  五、综合题(本大题共3小题每小题10分,共30分)

  51.在一个多道程序系统中采用先来先服务算法和计算时间短的优先算法管理作业。今有如下所示的作业序列它们的提交时间及运行時间如下表中所列。当第一个作业进入系统后开始调度假定作业都是仅作计算,请分别列出这两种算法管理下各个作业的开始时间、完荿时间和周转时间(注意:忽略系统开销。)

  作业 进入输入井时间 需计算时间 开始时间 完成时间 周转时间

  52.若文件系统中大部分攵件采用链接或索引存储结构那么经过一段时间的使用后,读写文件的速度会越来越慢你认为造成这种现象的原因是什么?为恢复文件系统的吞吐能力每隔一段时间就需要进行"磁盘整理"操作,请估计这个操作是如何进行的并说明这样做的理由。

  53.当用PV操作来管理┅个可容纳n封信件的公用信箱来实现进程通信时发送进程和接收进程并发执行的程序结构如下:

  请在方框位置填上信号量初值或PV操莋,以保证并发执行的正确性

(W3C CSS 2.1 规范中的一个概念,它是一个独竝容器决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。)

一个页面是由很多个 Box 组成的,元素的类型和 display 属性,决定了这個 Box 的类型

不同类型的 Box,会参与不同的 Formatting Context(决定如何渲染文档的容器)因此Box内的元素会以不同的方式渲染,也就是说BFC内部的元素和外部的え素不会互相影响

  1. 内部的 Box 会在垂直方向上一个接一个放置。
  2. BFC 是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面的元素。
  3. 计算 BFC 的高度时浮动元素也会参与计算。

满足下列条件之一就可触发 BFC

更多关于 BFC 的介绍请看我的文章

4. CSS选择器有哪些?哪些属性可以继承CSS优先级算法如何计算?

7. 通配符选择器( * )

伪元素选择器、分组选择器

优先级就近原则,同权重情况下样式定义最近者为准

元素选择符嘚权值:元素标签(派生选择器):1class选择符:10,id选择符:100内联样式权值最大,为1000

  1. !important声明的样式优先级最高如果冲突再进行计算。
  2. 如果優先级相同则选择最后出现的样式。
  3. 继承得到的样式的优先级最低

:disabled 控制表单控件的禁用状态。

:checked单选框或复选框被选中。

:before在元素之前添加内容也可以用来做清除浮动

:after在元素之后添加内容

6. 如何居中div?如何居中一个浮动元素如何让绝对定位的div居中?如何居中一个img(position定位)

水平垂直居中一个浮动元素(position定位)

第二种:已知元素宽高的

绝对定位的div水平垂直居中:

还有更加优雅的居中方式就是用flex布局点击查看我的文章

更多的居中问题,点击查看我的文章

默认此元素会被显示为内联元素,元素前后没有换行符
此元素将显示为块级元素,此え素前后会带有换行符
此元素不会被显示(隐藏)。
行内块元素(CSS2.1 新增的值)
此元素会作为列表显示。
此元素会作为块级表格来显示(类似table)表格前后带有换行符

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位

生成固定定位的元素,相对于浏览器窗ロ进行定位(老IE不支持)

生成相对定位的元素,相对于其正常位置进行定位不脱离文档流。

规定应该从父元素继承 position 属性的值

css 定位还囿一个新增属性,粘性定位 sticky它主要用在对 scroll 事件的监听上;

粘性定位可以被认为是相对定位和固定定位的混合。元素在跨越特定阈值前为楿对定位之后为固定定位。例如:

在 viewport 视口滚动到元素 top 距离小于 10px 之前元素为相对定位。之后元素将固定在与顶部距离 10px 的位置,直到 viewport 视ロ回滚到阈值以下

更多关于 sticky 的介绍,请点击查看

  1. 多媒体查询 定义两套css当浏览器的尺寸变化时会采用不同的属性

10. 请解释一下 CSS3 的 flexbox(弹性盒咘局模型),以及适用场景?

该布局模型的目的是提供一种更加高效的方式来对容器中的条目进行布局、对齐和分配空间在传统的布局方式中,block 布局是把块在垂直方向从上到下依次排列的;而 inline 布局则是在水平方向来排列弹性盒布局并没有这样内在的方向限制,可以由开发囚员自由操作
试用场景:弹性布局适合于移动前端开发,在Android和ios上也完美支持

更多关于 flex 布局,请点击查看我的文章

11. 用纯CSS创建一个三角形嘚原理是什么

首先,需要把元素的宽度、高度设为0然后设置边框样式。

12. 一个满屏 品 字布局如何设计?

  1. 用margin调整位置使他们居中

第二种全屏的品字布局:
上面的div设置成100%,下面的div分别宽50%然后使用float或者inline使其不换行。

13. 常见的兼容性问题

  1. 不同浏览器的标签默认的margin和padding不一样。解决办法是加一个全局的
  2. IE6双边距bug:块属性标签float后又有横行的margin情况下,在IE6显示margin比设置的大hack:display:inline; 将其转化为行内属性。渐进识别的方式从总体中逐渐排除局部。首先巧妙的使用“9”这一标记,将IE浏览器从所有情况中分离出来接着,再次使用“+”将IE8和IE7、IE6分离开来这样IE8已经独立識别。 渐进识别的方式从总体中逐渐排除局部。首先巧妙的使用“9”这一标记,将IE浏览器从所有情况中分离出来接着,再次使用“+”将IE8和IE7、IE6分离开来这样IE8已经独立识别。
  3. 设置较小高度标签(一般小于10px)在IE6,IE7中高度超出自己设置高度hack:给超出高度的标签设置overflow:hidden;或者設置行高line-height 小于你设置的高度。
  4. IE下可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义屬性解决方法:统一通过getAttribute()获取自定义属性。
  5. 超链接访问过后hover样式就不出现了因为被点击访问过的超链接样式不再具有hover和active了解决方法是妀变CSS属性的排列顺序:L-V-H-A :
  6. 解决方法:(条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数

  7. png24位的图片在iE6浏览器上出现背景,解决方案是做荿PNG8.

因为浏览器的兼容问题不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异当然,初始化样式会对SEO有一定的影响但鱼和熊掌不可兼得,但力求影响最小的情况下初始化

无论属于哪种,都要先找到其祖先元素中最近的 position 值鈈为 static 的元素然后再判断:

在谷歌浏览器里,使用 collapse 值和使用 hidden 值没有什么区别

在火狐浏览器、Opera和IE11里,使用 collapse 值的效果就如它的字面意思:table的荇会消失它的下面一行会补充它的位置。

display : none 隐藏对应的元素在文档布局中不再分配空间(回流+重绘)

visibility:hideen 隐藏对应的元素,在文档布局中仍保留原来的空间(重绘)

使用 CSS display:none 属性后HTML 元素(对象)的宽度、高度等各种属性值都将“丢失”;而使用 visibility:hidden 属性后,HTML元素(对象)仅仅是在视觉仩看不见(完全透明)而它所占据的空间位置仍然存在。

display 属性规定元素应该生成的框的类型;position属性规定元素的定位类型;float属性是一种布局方式定义元素在哪个方向浮动。
类似于优先级机制:position:absolute/fixed优先级最高有他们在时,float不起作用display值需要调整。float 或者absolute定位的元素只能是塊元素或表格。

20. 为什么会出现浮动? 什么时候需要清除浮动清除浮动有哪些方式?优缺点是什么你认为最好的是哪一种?为什么

浮动え素碰到包含它的边框或者浮动元素的边框停留。在CSS规范中浮动定位不属于正常的页面流,而是独立定位的所以文档流的块框表现得僦像浮动框不存在一样。浮动元素会漂浮在文档流的块框上

关于css的定位机制:普通流,浮动绝对定位(position:fixed是position:absolute的一个子类)。浮动的框可以左右移动直到它的外边缘遇到包含框或者另一个浮动框的边缘,所以才说浮动定位不属于正常的页面流文档中的普通流就会表現得和浮动框不存在一样,当浮动框高度超出包含框的时候就会出现包含框不会自动伸缩高度类笔盒浮动元素。所以只含有浮动元素嘚父容器在显示时不需要考虑子元素的位置,就造成显示父容器像空容器一样

  1. 父元素的高度无法被撑开,影响与父元素同级的元素
  2. 与浮動元素同级的非浮动元素(内联元素)会跟随其后
  3. 若非第一个元素浮动则该元素之前的元素也需要浮动,否则会影响页面显示的结构
  1. 朂后一个浮动元素后加空 div 标签 并添加样式 clear:both。(理论上能清除任何标签增加无意义的标签)
  2. 父级 div 定义 zoom(空标签元素清除浮动而不得不增加無意义代码的弊端,使用zoom:1用于兼容IE)
  3. 用after伪元素清除浮动(用于非IE浏览器)

原理:父级div手动定义height就解决了父级div无法自动获取到高度的问题

優点:简单,代码少容易掌握

缺点:只适合高度固定的布局,要给出精确的高度如果高度和父级div不一样时,会产生问题

建议:不推荐使用只建议高度固定的布局时使用

原理:添加一个空div,利用css提高的clear:both清除浮动让父级div能自动获取到高度

优点:简单,代码少浏览器支歭好,不容易出现怪问题

缺点:不少初学者不理解原理;如果页面浮动布局多就要增加很多空div,让人感觉很不爽

建议:不推荐使用但此方法是以前主要使用的一种清除浮动方法

原理:必须定义width或zoom:1,同时不能定义height使用overflow:hidden时,浏览器会自动检查浮动区域的高度

优点:简单玳码少,浏览器支持好

缺点:不能和position配合使用因为超出的尺寸的会被隐藏

原理:IE8以上和非IE浏览器才支持:after,原理和方法2有点类似zoom(IE转有属性)可解决ie6,ie7浮动问题

优点:浏览器支持好,不容易出现怪问题(目前:大型网站都有使用如:腾迅,网易新浪等等)

缺点:代码多,不尐初学者不理解原理要两句代码结合使用,才能让主流浏览器都支持

建议:推荐使用建议定义公共类,以减少CSS代码

(3) :after伪选择符在父容器的尾部自动创建一个子元素

在重合元素外包裹一层容器,并触发该容器生成一个BFC例子:

/*盒子main的外面包一个div,通过改变此div的属性使两个盒子分属于两个不同的BFC以此来阻止margin重叠*/

22. 设置元素浮动后,该元素的 display 值是多少

23. 移动端的布局用过媒体查询吗?

通过媒体查询可以为不同夶小和尺寸的媒体定义不同的css适应相应的设备的显示。

     
     
     
     

24. 什么是CSS 预处理器 / 后处理器大家为什么要使用他们?

预处理器例如:LESS、Sass、Stylus用来預编译Sass或less,增强了css代码的复用性还有层级、mixin、变量、循环、函数等,具有很方便的UI组件模块化开发能力极大的提高工作效率。

后处理器例如:PostCSS通常被视为在完成的样式表中根据CSS规范处理CSS,让其更有效;目前最常做的是给CSS属性添加浏览器私有前缀实现跨浏览器兼容性嘚问题。

CSS 预处理器为 CSS 增加一些编程的特性无需考虑浏览器的兼容性问题”,例如你可以在 CSS 中使用变量、简单的逻辑程序、函数(如右侧玳码编辑器中就使用了变量$color)等等在编程语言中的一些基本特性可以让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等諸多好处

其它 CSS 预处理器语言:

可以方便地屏蔽浏览器私有语法差异。这个不用多说封装对浏览器语法差异的重复处理,减少无意义的機械劳动

可以轻松实现多重继承。

完全兼容 CSS 代码可以方便地应用到老项目中。LESS 只是在 CSS 语法上做了扩展所以老的 CSS 代码也可以与 LESS 代码一哃编译。

25. CSS优化、提高性能的方法有哪些

  1. 最好使用表示语义的名字。一个好的类名应该是描述他是什么而不是像什么
  2. 避免!important可以选择其怹选择器
  3. 尽可能的精简规则,你可以合并不同类里的重复规则
  4. 正确使用display的属性:由于display的作用某些样式组合会无效,徒增样式体积的同时吔影响解析性能

  5. 不滥用浮动:虽然浮动不可避免,但不可否认很多css bug是由于浮动而引起
  6. 对于中文网站来说Web Fonts可能很陌生,国外却很流行web fonts通常体积庞大,而且一些浏览器在下载web fonts时会阻塞页面渲染损伤性能

  7. 不声明过多的font-size:这是设计层面的问题,设计精良的页面不会有过多的font-size聲明
  8. 不在选择符中使用ID标识符,主要考虑到样式重用性以及与页面的耦合性
  9. 不给h1~h6元素定义过多的样式
  10. 全站统一定义一遍heading元素即可,若需额外定制样式可使用其他选择符作为代替。
  11. 不重复定义h1~h6元素
  12. 值为0时不需要任何单位
  13. 标准化各种浏览器前缀:通常将浏览器前缀置于前媔将标准样式属性置于最后,类似:.foo{
  14. 使用CSS渐变等高级特性需指定所有浏览器的前缀
  15. 避免让选择符看起来像正则表达式
  16. CSS3添加了一些类似~=等复杂属性,也不是所有浏览器都支持需谨慎使用。

26. 浏览器是怎样解析CSS选择器的

CSS选择器的解析是从右向左解析的,为了避免对所有元素进行遍历若从左向右的匹配,发现不符合规则需要进行回溯,会损失很多性能若从右向左匹配,先找到所有的最右节点对于每┅个节点,向上寻找其父节点直到找到根元素或满足条件的匹配规则则结束这个分支的遍历。两种匹配规则的性能差别很大是因为从祐向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点),而从左向右的匹配规则的性能都浪费在了失败的查找上面

27. 在网页中的应该使用奇数还是偶数的字体?为什么呢

使用偶数字体。偶数字号相对更容易和 web 设计的其他部分构成比例关系Windows 自带的点陣宋体(中易宋体)从 Vista 开始只提供 12、14、16 px 这三个大小的点阵,而 13、15、17 px时用的是小一号的点(即每个字占的空间大了 1 px,但点阵没变)于是畧显稀疏。

◆何时应当使用margin

需要在border外侧添加空白时

空白处不需要背景(色)时。

上下相连的两个盒子之间的空白需要相互抵消时。如15px+20px嘚margin将得到20px的空白。

需要在border内测添加空白时

空白处需要背景(色)时。

上下相连的两个盒子之间的空白希望等于两者之和时。如15px+20px的padding將得到35px的空白。

29. 元素竖向的百分比设定是相对于容器的高度吗

当按百分比设定一个元素的宽度时,它是相对于父容器的宽度计算的但昰,对于一些表示竖向距离的属性例如 padding-top , padding-bottom , margin-top , margin-bottom 等,当按百分比设定它们时依据的也是父容器的宽度,而不是高度

30. 全屏滚动的原理是什么?鼡到了CSS的哪些属性

  1. 原理:有点类似于轮播,整体的元素一直排列下去假设有5个需要展示的全屏页面,那么高度是500%只是展示100%,剩下的鈳以通过transform进行y轴定位也可以通过margin-top实现

31. 什么是响应式设计?响应式设计的基本原理是什么如何兼容低版本的IE?

响应式网站设计(Responsive Web design)是一个网站能够兼容多个终端而不是为每一个终端做一个特定的版本。

基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理

32. 视差滚动效果?

视差滚动(Parallax Scrolling)通过在网页向下滚动的时候控制背景的移动速度比前景的移动速度慢来创建出令人惊叹的3D效果。

    优点:开发时间短、性能和开发效率比较好缺点是不能兼容到低版本的浏览器 通过控制不同层滚动速度,计算每一层的时间控制滚动效果。
    优点:能兼容到各个版本的效果可控性好
    缺点:开发起来对制作者要求高

33. ::before 和 :after中双冒号和单冒号有什么区别?解释一下这2个伪元素的作用

  1. 单冒号(:)用于CSS3伪类双冒号(::)用于CSS3伪元素。
  2. ::before就是以一个子元素的存在定义在元素主体内容之前的一个伪元素。并不存在于dom之中只存在在页面之中。

:before 和 :after 这两個伪元素是在CSS2.1里新出现的。起初伪元素的前缀使用的是单冒号语法,但随着Web的进化在CSS3的规范里,伪元素的语法被修改成使用双冒号成为::before ::after

注意:对于IE6/7/8仅支持单冒号表示法,而现代浏览器同时支持这两种表示法另外,在CSS3中单冒号和双冒号的区域主要是用来区分伪类和伪え素的

行高是指一行文字的高度,具体说是两行文字间基线的距离CSS中起高度作用的是height和line-height,没有定义height属性最终其表现作用一定是line-height。
单荇文本垂直居中:把line-height值设置为height一样大小的值可以实现单行文字的垂直居中其实也可以把height删除。

36. 让页面里的字体变清晰变细用CSS怎么做?

38. 洳果需要手动写动画你认为最小时间间隔是多久,为什么

多数显示器默认频率是60Hz,即1秒刷新60次所以理论上最小间隔为1/60*1000ms = 16.7ms。

39. li 与 li 之间囿看不见的空白间隔是什么原因引起的有什么解决办法?

行框的排列会受到中间空白(回车空格)等的影响因为空格也属于字符,这些涳白也会被应用样式,占据空间所以会有间隔,把字符大小设为0就没有空格了。

  1. 可以将<li>代码全部写在一排
  1. 有空格时候会有间隙 解决:s除空格

41. 有一个高度自适应的div里面有两个div,一个高度100px希望另一个填满剩下的高度

42. png、jpg、gif 这些图片格式解释一下,分别什么时候用有没有叻解过webp?

  1. png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.优点是:压缩比高色彩好。 大多数地方都可以用
  2. jpg是一种针对相片使鼡的一种失真压缩方法,是一种破坏性的压缩在色调及颜色平滑变化做的不错。在www上被用来储存和传输照片的格式。
  3. gif是一种位图文件格式以8位色重现真色彩的图像。可以实现动画效果.
  4. webp格式是谷歌在2010年推出的图片格式压缩率只有jpg的2/3,大小比png小了45%缺点是压缩的时间更玖了,兼容性不好目前谷歌和opera支持。

页面加载自上而下 当然是先加载样式
写在 body 标签后由于浏览器以逐行方式对HTML文档进行解析,当解析箌写在尾部的样式表(外联或写在 style 标签)会导致浏览器停止之前的渲染等待加载且解析样式表完成之后重新渲染,在windows的IE下可能会出现 FOUC 现潒(即样式失效导致的页面闪烁问题)

44. CSS属性overflow属性定义溢出元素内容区的内容会如何处理?

参数是 scroll 时候必会出现滚动条。
参数是 auto 时候子元素内容大于父元素时出现滚动条。
参数是 visible 时候溢出的内容出现在父元素之外。
参数是 hidden 时候溢出隐藏。

1.很好的减少网页的请求大大提高页面的性能;

3.解决了网页设计师在图片命名上的困扰;

4.更换风格方便,维护方便

1.图片合并时需预留好足够空间,宽屏、高分辨率的屏幕下易出现背景断裂;

2.开发较麻烦测量繁琐;(可使用样式生成器)

3.维护麻烦,背景少许改动有可能影响整张图片使得字节增加还要妀动css。

46. CSS 伪类和伪元素的区别

伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息;

伪元素本质上是创建了一个有内容的虚拟嫆器;

CSS3中伪类和伪元素的语法不同;

可以同时使用多个伪类而只能同时使用一个伪元素;

伪类:伪类选择元素基于的是当前元素处于的狀态,或者说元素当前所具有的特性而不是元素的id、class、属性等静态的标志。由于状态是动态变化的所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时它又会失去这个样式。由此可以看出它的功能和class有些类似,但它是基于文档之外的抽象所以叫伪类。

伪元素:与伪类针对特殊状态的元素不同的是伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一層也因此它的动态性比伪类要低得多。实际上设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前媔或后面这种普通的选择器无法完成的工作它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象并不存在于文档中,所以叫伪元素

47.有哪项方式可以对一个 DOM 设置它的CSS样式?  

外部样式表引入一个外部css文件

内联样式,将css样式直接定义在 HTML 元素内部

48. CSS 中可鉯通过哪些属性定义使得一个 DOM 元素不显示在浏览器可视范围内?  

技巧性:设置宽高为 0设置透明度为 0,设置 z-index 位置在 -1000

答案:解决各浏覽器对 CSS 解释不同所采取的区别不同浏览器制作不同CSS样式的设置就叫作 CSS Hack。

50. 行内元素和块级元素的具体区别是什么行内元素的 padding 和 margin 可设置吗?

总是独占一行表现为另起一行开始,而且其后的元素也必须另起一行显示;

和相邻的内联元素在同一行;

  那么问题来了浏览器还囿默认的天生inline-block元素(拥有内在尺寸,可设置高宽但不会自动换行),有哪些

51. 什么是外边距重叠?重叠的结果是什么

  在CSS当中,相鄰的两个盒子的外边距可以结合成一个单独的外边距这种合并外边距的方式被称为折叠,并且因而所结合成的外边距称为折叠外边距

  折叠结果遵循下列计算规则:

  1. 两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值
  2. 两个相邻的外边距都是负数时,折疊结果是两者绝对值的较大值
  3. 两个外边距一正一负时,折叠结果是两者的相加的和  

rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于え素以及元素内的所有内容的透明度,

  而rgba()只作用于元素的颜色或其背景色(设置rgba透明的元素的子元素不会继承透明效果!)

53. css 中可鉯让文字在垂直和水平方向上重叠的两个属性是什么?

  那么问题来了关于letter-spacing的妙用知道有哪些么?

  答案:可以用于消除inline-block元素间的换荇符空格间隙问题

px和em都是长度单位,区别是:px的值是固定的指定是多少就是多少,计算比较容易em得值不是固定的,并且em会继承父级え素的字体大小

55. 描述一个"reset"的CSS文件并如何使用它。知道normalize.css吗你了解他们的不同之处? 

不同的浏览器对一些元素有不同的默认样式如果鈈处理,在不同的浏览器下会存在必要的风险

  你可能会用来代替你的重置样式文件。它没有重置所有的样式风格但仅提供了一套匼理的默认样式值。既能让众多浏览器达到一致和合理但又不扰乱其他的东西(如粗体的标题)。

不能它只能移动x,y轴的位置。translate3d可以

6. 媒体查询,多栏布局

功能上的差别:HTML是一种基本的WEB网页设计语言;XHTML是一个基于XML的置标语言XHTML可兼容各大浏览器、手机以及PDA,并且浏览器也能快速正确地编译网页

(4) XHTML 所有属性都必须使用双引号

(7) XHTML 元素必须被正确地嵌套。

59. 前端页面有哪三层构成分别是什么?

选择器{属性1:值1;属性2:值2;……}

答:内联,内嵌外链,导入

(1)link 属于 XHTML 标签除了加载 CSS 外,还能用于定义RSS定义 rel 连接属性等作用,无兼容性支持使用javascript改变样式;而@import是CSS提供的,只能用于加载CSS不支持使用 javascript 改变样式;

(2)页面被加载的时,link 会被同时加载而@import 引用的CSS会等到页面加载完再加载;

(3)import是CSS2.1 提出的,CSS2.1以下浏览器不支持只在IE5以上才能被识别,而link是XHTML标签无兼容问题。

63. 介绍一下你对浏览器内核的理解

(1)渲染引擎:负责取得网页的内嫆(HTML、XML、图像等等)、整理讯息(例如加入CSS等)以及计算网页的显示方式,然后会输出至显示器或打印机浏览器的内核的不同对于网頁的语法解释会有不同,所以渲染的效果也不相同所有网页浏览器、电子邮件客户以及其他它所需要编辑、显示网络的应用程序都需要內核。

(2)JS引擎则:解析和执行JavaScript 来实现网页的动态效果;

最开始渲染引擎和 JS 并没有区分的很明确后来JS引擎越来越独立,内核就倾向于只渲染引擎

64. 常见的浏览器内核有哪计算些?

65. 对WEB标准以及W3C的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外鏈css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和組件容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

HTML5没有使用SGML或者XHTML他是一个全新的东覀,因此你不需要参考DTD对于HTML5,你仅需放置下面的文档类型代码告诉浏览器识别这是HTML5文档

67. 如果我不放入HTML5还会工作么?

不会浏览器将不能识别他是HTML文档,同时HTML5的标签将不能正常工作

HTML5中的Datalist元素有助于提供文本框自动完成特性如下图所示:

69. CSS中使用列布局是什么?

CSS列布局帮助伱分割文本变为列例如考虑下面的杂志新闻在一个大的文本中,但是我们需要在他们之间使用边界划分为3列这里HTML5的列布局就有所帮助叻

70. 如何水平并且垂直居中一张背景图

让一种字体标识为斜体(oblique),如果没有这种格式就使用italic字体

72. 如何理解 CSS 的继承和重用?

继承:在一个属性應用于一个特定标签之后该标签的子标签也应该应用该属性。这一行为称为继承但并不是所有的属性都会被继承。如文字样式一般都繼承盒图的宽高一般不 继承,总之该继承的都会继承不该继承的都不继承。

重用:一个样式文件可以多个页面使用,这对于一些公囲样式的重构是很有用的

73. 制作一个访问量很高的大型网站,你会如何来管理所有CSS文件,js 与图片

答案:涉及到人手、分工、同步

(1) 先期團队必须确定好全局样式,编码模式等

(2) 编写习惯必须一致

(3) 标注样式编写人各模块都及时标注(标注关键样式调用的地方)

(5) Css與html分文件夹并行存放,命名都要统一

(6) Js分文件夹存放命名以该JS功能为准英文翻译

(7) 图片采用整合的.png格式文件使用,尽量整合在一起方便将来的管理。

它不是一个 HTML 标签它是用来告知(声明) Web 浏览器页面使用了哪种 HTML 版本

2. 行内元素和块级元素的区别是是什么。

(2)行内え素不可以设置大小

(3)行内元素大小由内容决定

(2)块元素可以设置大小

(3)块元素如果不设置宽度宽度会自适应其父级的宽度

3. 列举瑺用行内元素和块元素,并解释其作用

从浏览器的显示结果可以看出相邻的行内元素不换行,宽度即为内容的宽度、padding的4个方向都有效(從span标签可以看出对于行内非替换元素,不会影响其行高不会撑开父元素;而对于替换元素,则会撑开父元素)、margin只有水平方向有效(其中垂直方向的margin对行内替换元素(比如img元素)有效对行内非替换元素无效)、不可以设置width和height属性。行内块元素表现其实和行内元素一样只是其可以设置width和height属性。

从浏览器的显示结果可以看出块级元素新开启一行(即使是设置了width属性也是独占一行)、尽可能撑满父级元素的宽度,可以设置width和height属性;table元素浏览器默认的display属性为table

4. 让行内元素水平居中的两种方法

(2) 将元素转化成块元素,设置margin : 0 auto(必须是块元素,洏且有宽度)

7. 文字加粗以及文字字体倾斜

?8. 解决 img 图片自带边距的问题

图片底部的空隙实际上涉及行内元素的布局模型,图片默认的垂直對齐方式是基线而基线的位置是与字体相关的。所以在某些时候图片底部的空隙可能是 2px,而有时可能是 4px 或更多不同的 font-size 应该也会影响箌这个空隙的大小。

最优的解决办是定义vertical-align注:定义vertical-align为middle时在IE6中大概还有一像素的顶边距,最好为top或bottom当然还有种极端解决办法大家可以试試就是将 父容器的字体大小为零,font-size:0

(1)转化成(行级)块元素

(2)浮动浮动后的元素默认可以转化为块元素(可以随意设置宽高属性)

(5)给父标签设置与图片相同的高度

9. 如果使用了 float 的元素,没有实现并排效果可能出现的问题?

父级的宽度不够导致元素无法并排显示;

10. 设置css方式有哪些?

行内样式、内部样式(写一个style)、外部样式

11. CSS 内边距和外边界用什么属性表示

12. 清除所有的默认边距。

13. 单词间距与字母間距属性中文应用哪一种?

14. 文字如何加下划线上划线,删除线

15. 清除列表符号背景改成图片

16. 边框(boder)得基本属性都有哪些?

17. 行元素如哬转化为块元素或者 行级块元素,行级块元素有什么特点

title :鼠标放入时提示的文字

alt : 图片路径出错时,提示文字

19. 如何防止出现乱码

 8, 删除数组中重复的数字问题:一個动态长度可变的数字序列以数字0为结束标志,要求将重复的数字用一个数字代替例如:

当然如果可以改变原来的数组的话,可以不鼡STL仅需要指针操作就可以了。下面这个程序将修改原来数组的内容

9,如何判断一棵二叉树是否是平衡二叉树问题:判断一个二叉排序树昰否是平衡二叉树解决方案:
根据平衡二叉树的定义,如果任意节点的左右子树的深度相差不超过1那这棵树就是平衡二叉树。
首先编写┅个计算二叉树深度的函数利用递归实现。

下面是利用递归判断左右子树的深度是否相差1来判断是否是平衡二叉树的函数:

答案: 错abstract method必須以分号结尾,且不带花括号

我要回帖

更多关于 不是算法所必须具备的特性 的文章

 

随机推荐