热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端开发常见笔试/面试题总结HTML/CSS篇

室友同为前端开发,最近在他找工作的时候,讨论到了常见的前端笔试题和面试题,今天就来总结一下之前校招和社招时频繁遇到的面试题。iframe有哪些缺点?页面看起来较杂乱,不易管理,布局

室友同为前端开发,最近在他找工作的时候,讨论到了常见的前端笔试题和面试题,今天就来总结一下之前校招和社招时频繁遇到的面试题。

iframe 有哪些缺点?

  1. 页面看起来较杂乱,不易管理,布局不佳,易分散用户注意力
  2. 搜索引擎的检索程序无法解读这种页面,不利于SEO
  3. 移动设备兼容性差
  4. 会增加http请求,对服务器造成负担
  5. 会阻塞主页面的Onload事件
  6. 和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面并行加载

COOKIE和localStorage、seesionStorage的区别是什么?

共同点是都保存在浏览器端,区别如下:

  1. COOKIEs是为了标识用户身份而存储在本地的数据,会随http请求一同发送到服务器,而localStorage和sessionStorage仅在本地保存,不会自动把数据发给服务器
  2. COOKIE保存的数据不超过4k,而localStorage和sessionStorage保存的数据可达到5M
  3. COOKIE在过期之前一直有效,即使窗口或者浏览器关闭。localStorage始终有效,窗口和浏览器关闭也一直保存,用作长久数据保存,sessionStorage仅在浏览器窗口关闭之前有效。
  4. COOKIE数据在所有同源窗口都共享。localStorage也是在所有同源窗口都共享,而sessionStorage不在不同的浏览器共享,即使同一页面

多个标签页如何实现通信?

  1. localStorage:在window全局对象上添加监听事件 window.Onstorage= (e) => { console.log(e); }
  2. webSocket协议
  3. SharedWorker:webWorker只针对当前页面,而SharedWorker则是多个标签共享的worker

HTML5如何实现文件离线储存?

在head中加入manifest属性,它会请求manifest文件,第一次访问时,浏览器会根据manifest文件的内容下载相应的资源,并进行离线存储。如果已经访问过并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面。

实现不使用 border 画出 1px 高的线

为了在不同浏览器的标准模式与怪异模式下都能保持一致,可用以下方法:
1、使用div


2、使用hr,不建议直接使用size属性,因为新的标准里已经废弃直接使用标准的方式



如何实现垂直居中?

  1. 绝对定位:

    main {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate( -50%, -50% );
    }

  2. flexbox布局:

    display: flex, justify-content: center, align-items: center

  3. box布局:

    box-align: center; box-pack: center

什么是标准模式和怪异模式?如何应对?

标准模式又称严格模式,浏览器使用 W3C 的标准解析渲染页面
怪异模式又称混杂模式,浏览器都按照自己的方式解析渲染页面,在不同的浏览器网页会显示不同的样式

最好的方法就是添加了文档类型声明,比如,浏览器会用W3C的标准来渲染网页

如何解决两个元素的重叠问题(外边距合并)?

外边距合并(叠加):当两个垂直(不包含水平)外边距相遇时,它们将形成一个外边距。合并后的外边距的高度取外边距高度中的较大者。

  • 一上一下会合并;
  • 一内一外也会合并;
  • 自身(没有边框或填充时)的margin-top和margin-bottom也会合并

方法:可以用BFC的方式解决,所谓的BFC就是css布局的一个概念,是一块区域,一个环境。

  • margin穿透:可以将父级元素设置为一个独立的BFC,子级元素的margin值就不会溢出父级,我们这里对父级元素应用样式overflow: hidden
  • margin重叠:也就是两个平级的元素发生重叠的情形,我们可以将两个div套上一个BFC的外壳,这样两个BFC的内部元素就不会互相影响了

在页面上实现一个圆形的可点击区域

  1. SVG方式:同理类似的用的方式也可以
  2. CSS方式:border-radius: 50%
  3. JS方式:先绘制一个正方形,js检测鼠标位置是否在圆上

常见的SEO方法有哪些?

  1. 页面布局, 重要的东西要提前。
  2. 文章关键词的分布( 在面包屑以及侧边栏适当的调用文章标题来提高关键词密度)
  3. 文章内容可以在源码中写在侧边栏的前面, 之后用float: right浮动到右边即可
  4. 图片处理( 图片做压缩, 调用图片用div + css来调用, 同时添加alt属性。)
  5. 图片添加alt属性,( 搜索引擎蜘蛛无法抓取图片内容)
  6. 页面的大小控制
  7. 将脚本放在底部

推荐阅读
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 目前正在做毕业设计,一个关于校园服务的app,我会抽取已完成的相关代码写到文章里。一是为了造福这个曾经帮助过我的社区,二是写文章的同时更能巩固相关知识的记忆。一、前言在爬取教务系统 ... [详细]
  • 这篇文章主要介绍PHP如何使用在全部作用域中始终可用的内置变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要 ... [详细]
  • 最近在做一个项目,但是由于之前一个项目也同时部署在同一台tomcat下,所以出现了sessionId的冲突,描述一下冲突过程:1.打开浏览器访问第一个项目(配置在根目录)2.打开另一标签 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • ORACLE空间管理实验5:块管理之ASSM下高水位的影响
    数据库|mysql教程ORACLE,空间,管理,实验,ASSM,下高,水位,影响,数据库-mysql教程易语言黑客软件源码,vscode左侧搜索,ubuntu怎么看上一页,ecs搭 ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • XMLhttpREquest_Ajax技术总结之XmlHttpRequest
    Ajax1、 什么是ajax   ... [详细]
  • springboot基于redis配置session共享项目环境配置pom.xml引入依赖application.properties配置Cookie序列化(高版本不需要)测试启 ... [详细]
  • 有些网站设置了权限,只有在登录了之后才能爬取网站的内容,如何模拟登录,目前的方法主要是利用浏览器cookie模拟登录。浏览器访问服务器的过程在用户访问网页时,不论是通过URL输入域名或I ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • yii2 绑定框架事件
    后端开发|php教程php,yii2后端开发-php教程我想要添加自定义代码处理yii2框架的Application::EVENT_BEFORE_REQUEST时触发的事件,但是不 ... [详细]
author-avatar
遥不V可及
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有