前端概率最高的面试题

来源:互联网 发布:手机端js弹出软键盘 编辑:程序博客网 时间:2024/06/05 19:05
1)cookie和session的异同点?
    相同点:都是用来储存数据
    不同点:    
Cookie:
1)用来储存用户本地的数据,并不占用服务器空间。
                    2)智能保存string类型的数据,如果要储存复杂对象,需要进行序列化
                    3)cookie存储本地,安全级别较低,一般都需要加密
Session
                    1)储存在服务器中,安全级别高,占用服务器资源
                    2)可以储存任何类型的数据

2)cookie,被禁用了 session还能使用吗?
答:如果客户端完全禁用掉了cookie功能,则不能享受到session提供的功能。
Session不是在cookie的子集中:session必须依赖cookie才能够使用。

3)面向对象的魔术方法有哪些?
答: __construct(),
__destruct(),
__call(),
__callStatic(),
__get(),
__set(),
__isset(),
__unset(),
__sleep(),
__wakeup(),
__toString(),
__invoke(),
__set_state(),
__clone() ,
__debugInfo() 以__开头的都是。

4)描述下你的电商网站?
答:
1)对于我的角度上来说,电商网站涵盖关键的信息,一目了然。电商都要采用简洁明了的布局,打磨出引人入胜的体验,电商首页通常还承载着网站的导航模块。
    2)电商首页基本信息:
1)基本的品牌表识(logo,商品内容…) 
2)产品 服务和主题的主要文案
3)网站类别的链接,社交媒体的链接,基本的信息,多语言切换的按钮,搜索框,app下载。 

5)常见的浏览器内核?
 浏览器: IE  Chrome  FireFox  Opera
 内核:Trident   Gecko  Presto  Webkit

6)清楚浮动有哪些方法,比较好的是哪一种?
答:
    1)给父级设置高
    2)给父级定义overflow:hidden
    3)给父级定义overflow:auto
    4)给父级定义display:table

7)!Doctype的作用?标准模式和兼容模式有什么区别?
答:
        1)告诉浏览器解析用什么文档标准解析这个文档,格式不正确或者不存在导致文档以兼容模式呈现
        2)标准模式的排版和js运作模式该以浏览器最高标准执行。在兼容模式中,页面以宽松向后的兼容方式呈现,模拟老浏览器的行为防止站点无法运行。

8)介绍一下你对浏览器内核的理解?
答:
     主要分为两大部分:渲染引擎和js引擎
        渲染引擎:负责页面的内容html xml 图像等等 以及计算网页的显示方式,最后输入在显示器上。
        Js引擎:解析和javascript来实现网页的动态效果。

9)简述下你对html的语义化的理解。
   答:
        1)用正确的标签做正确的事情。
        2)让页面内容结构化,结构更清晰,便于浏览器和引擎的解析

10)介绍js的基本数据类型?
答: Undefined、Null、Boolean、Number、String的
11)dom的添加 移除 移动 复制 创建和查找节点?
答:
// 创建新节点

  createDocumentFragment() //创建一个DOM片段
  createElement() //创建一个具体的元素
  createTextNode() //创建一个文本节点
  // 添加、移除、替换、插入
  appendChild()
  removeChild()
  replaceChild()
  insertBefore() //在已有的子节点前插入一个新的子节点
  // 查找
  getElementsByTagName() //通过标签名称
  getElementsByName() //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,其中包括id等于name值的)
  getElementById() //通过元素Id,唯一性

12)描述你对json的了解?
答:是一种轻量级的数据交换形式,数据格式简单,占用资源小。
13)http的状态码?
答:
    1)404 丢失页面
    2)403 禁止访问
    3)401 请求未授权
    4)503 服务器端暂时无法处理请求

14)有哪些性能优化的方法?

(1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。
(2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
(3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
(4) 当需要设置的样式很多时设置className而不是直接操作style。 
(5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。
(6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
(7) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。

15)什么是盒子模型?
答:4个部分组成 元素内容content 元素的边距padding 元素的边框border 元素的外边距margin
16)行内元素有哪些?块级元素?空元素?
行内元素:a、b、span、img、input、strong、select、label、em、button、textarea

块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote
空元素:即系没有内容的HTML元素,例如:br、meta、hr、link、input、img
17)同步和异步的区别?
答:同步是组赛模式/异步是非组赛模式
18)写一个function 清除字符串前后的空格
functiontrim(str){if(str&&typeofstr==="string"){returnstr.replace(/(^\s*)|(\s*)$/g,"");//去除前后空白符}}
19)对于前端工程师这个职位你怎么理解?
a. 前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分,甚至更好
b. 参与项目,快速高质量完成实现效果图,精确到1px;
c. 与团队成员,UI设计,产品经理的沟通;
d. 做好的页面结构,页面重构和用户体验;
e. 处理hack,兼容、写出优美的代码格式;
f. 针对服务器的优化、拥抱最新前端技术。
原创粉丝点击