web前端开发面试题(附答案)-1

1、浏览器中输入url到网页显示,整个过程发生了什么

域名解析
发起tcp三次握手
建立tcp连接之后发起htttp请求
服务器端响应http请求,浏览器得到html代码
浏览器器解析html代码,并请求html代码中的资源
浏览器对页面进行渲染呈现给用户

2、cookie的弊端

每个特定的域名下最多生成的cookie的个数有限制
IE和Opera会清理近期最少使用的cookie,firefox会随机清理cookie
cookie最大为4096字节,为了兼容一般不超过4095字节
安全性问题,如果cookie被人劫持,就可以获得所有的session信息

3、主流浏览器及内核

Google chrome:webkit/blink
safari:webkit
IE:trident
firefox:gecko
Opera:presto/webkit/blink

4、sessionStorage和localStorage的区别

sessionStorage用于本地存储一个会话session中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据会被销毁。
localStorage用于持久化的本地存储,除非主动删除数据,否则数据永远不会过期的。

5、谈谈对bfc规范的理解

bfc是block formatting context即格式化上下文
bfc是页面css视觉渲染的一部分,用于决定块盒子的布局及浮动相互影响范围的一个区域
bfc最重要的一个效果是,让处于bfc内部与外部的元素相互隔离,使内外的元素的定位不会相互影响

6、请说出至少三种减少页面加载时间的方法

尽量减少页面中重复的http请求
css样式放置在文件头部、js脚本放置在文件末尾
压缩合并js、css代码
服务器开启gzip压缩

7、对前端工程师这个职位是怎样理解的

前端是最贴近用户的程序员,前端的能力就是能让产品从90分进化到100分,甚至更好
参与项目,快速高质量完成实现效果图
做好页面结构、页面重构和用户体验
处理hack、兼容以及写出优美的代码格式

8、一次js请求一般情况下有哪些地方会有缓存处理

浏览器端存储
浏览器端文件缓存
http缓存
服务器端文件类型缓存
表现层&DOM缓存

9、一个页面有大量的图片,怎么优化这些图片的加载

图片懒加载,滚动到相应位置再加载图片
图片预加载,预先加载展示图片的前一张和后一张
使用cssSprite

10、行内元素和块级元素有哪些?img属于什么元素

块元素

address – 地址
blockquote – 块引用
center – 举中对齐块
dir – 目录列表
div – 常用块级容易,也是CSS layout的主要标签
dl – 定义列表
fieldset – form控制组
form – 交互表单
h1 – 大标题
h2 – 副标题
h3 – 3级标题
h4 – 4级标题
h5 – 5级标题
h6 – 6级标题
hr – 水平分隔线
isindex – input prompt
menu – 菜单列表
noframes – frames可选内容,(对于不支持frame的浏览器显示此区块内容
noscript – 可选脚本内容(对于不支持script的浏览器显示此内容)
ol – 有序表单
p – 段落
pre – 格式化文本
table – 表格
ul – 无序列表

内联元素

a – 锚点
abbr – 缩写
acronym – 首字
b – 粗体(不推荐)
bdo – bidi override
big – 大字体
br – 换行
cite – 引用
code – 计算机代码(在引用源码的时候需要)
dfn – 定义字段
em – 强调
font – 字体设定(不推荐)
i – 斜体
img – 图片
input – 输入框
kbd – 定义键盘文本
label – 表格标签
q – 短引用
s – 中划线(不推荐)
samp – 定义范例计算机代码
select – 项目选择
small – 小字体文本
span – 常用内联容器,定义文本内区块
strike – 中划线
strong – 粗体强调
sub – 下标
sup – 上标
textarea – 多行文本输入框
tt – 电传文本
u – 下划线

img属于行内替换元素,效果与块元素一致

11、表单中readonly和disabled的区别

  • 共同点:能够使用户不能改变表单中的内容
  • 不同点:
    1、readonly只对input和textarea有效,但是disabled对所有的表单元素都是有效的,包括radio、checkbox
    2、readonly可以获取到焦点,只是不能修改。disabled设置的文本框无法获取焦点
    3、如果表单的字段是disabled,则该字段不会发送(表单传值)和序列化

你可能感兴趣的:(web前端开发面试题(附答案)-1)