刚入社会笔试面试相关问题

1.get 和 post 的区别?

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

“标准答案”:

 

  • GET在浏览器回退时是无害的,而POST会再次提交请求。

  • GET产生的URL地址可以被Bookmark,而POST不可以。

  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。

  • GET请求只能进行url编码,而POST支持多种编码方式。

  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

  • GET请求在URL中传送的参数是有长度限制的,而POST么有。

  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

  • GET参数通过URL传递,POST放在Request body中。


个人理解:

 

get和post本质上是没有区别的,http协议中的两种发送请求的方法。

http是基于tcp/ip的关于数据如何在万维网中如何通信的协议。

http的底层是tcp/ip。所以get和post的底层也是tcp/ip,都是tcp链接,能做的事情是一样一样的。给get加上request body,给post带上URL参数,技术上来说也是完全行得通的。

所以,get和post本质上就是tcp链接,并无差别。但是由于http的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

还有一个重大区别:get产生一个tcp数据包,post产生俩个tcp数据包。

 

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

栗子理解:也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

 

1. GET与POST都有自己的语义,不能随便混用。

2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

 

 

2.前端开发人员对于SEO有哪些需要注意事项(优化技巧)?

 

1、简化代码结构,更利于搜索引擎分析抓取有用内容。

2、重要内容优先加载。

3、每个页面只能出现一次H1标签,H2标签可以多次。

4、图片一定要添加alt属性,title属性可选。

5、图片大小声明。

6、链接可根据实际需求添加title属性以及nofllow值;

7、页面内容尽量不要做成flash、图片、视频。

8、除首页外别的页面最好要加上面包屑型导航,导航结构一定要清晰。

9、做好404页面。

10、网站结构呈扁平状树型,目录结构不宜过深。

http://www.cnblogs.com/shiddong/p/5951936.html

 

3.REM布局。

rem(font size of the root element)是指相对于根元素的字体大小的单位,简单的说它就是一个相对单位。看到rem大家一定会想起em单位,em(font size of the element)是指相对于父元素的字体大小的单位。

rem布局的兼容性:Mozilla Firefox 3.6+、Apple Safari 5+、Google Chrome、IE9+和Opera11+、ie6-ie8 还是别用rem。

REM可以:

1,实现强大的屏幕适配布局

参考:http://caibaojian.com/web-app-rem.html

 

4.JavaScript实现继承;

 

1.使用对象冒充实现继承(该种实现方式可以实现多继承)
实现原理:让父类的构造函数成为子类的方法,然后调用该子类的方法,通过this关键字给所有的属性和方法赋值。

2.采用call方法改变函数上下文实现继承(该种方式不能继承原型链,若想继承原型链,则采用5混合模式)
实现原理:改变函数内部的函数上下文this,使它指向传入函数的具体对象。

3.采用Apply方法改变函数上下文实现继承(该种方式不能继承原型链,若想继承原型链,则采用5混合模式)
实现原理:改变函数内部的函数上下文this,使它指向传入函数的具体对象。

4.采用原型链的方式实现继承
实现原理:使子类原型对象指向父类的实例以实现继承,即重写类的原型,弊端是不能直接实现多继承。

5.采用混合模式实现继承

参考:http://javapolo.iteye.com/blog/1996871

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值