百度前端研发实习岗面试总结

        一月份的时候,经一师兄介绍,申请了百度内推的前端实习生。由于准备不充分不幸一面被刷,由于春节期间事情较多,没来得及整理,趁现在还没全部忘掉做一下总结。

总体来说一面主要是基础知的前端识,更多的是有关HTML、CSS基础知识,JS以及现有的框架很少涉及。但越是基础的越不能小觑。

        面试题目大概有以下几个(可能没那么全面):

        一面是电面,时间大约一个小时。首先是自我介绍,balabala介绍完,进入知识点环节。

        1.position属性的定位类型

          Absolute:绝对定位,相对于static定位以外的第一个父元素进行定位;

          Relative:相对定位,相对其正常位置进行定位;

          Fixed:绝对定位,相对浏览器窗口进行定位;

         Static:默认值,元素出现在正常的流中;

        (Inherit:由父元素继承position的值)。

       2.CSS的盒子模型

        ①有两种:IE盒子模型与标准W3C盒子模型,IE盒子模型中包含border和padding;

        ②盒模型:内容(content)、填充(padding)、边界(margin)、边框(border)。

       3.行内元素有哪些?块级元素有哪些?

        ①行内元素:a,b,span,img,input,select,strong;

        ②块级元素:div,ul,ol,li,dl,dd,dt,h1,……h6,p;

       另外,补充一下空(void)元素:br,hr,link,meta,area,base,col,embed……

     4.怎么清除浮动?

      浮动元素脱离文档流,不占据空间,浮动元素碰到包含它的边框或者浮动元素的边框停留。

       ①使用空标签清楚浮动:这种方法是在所有浮动标签后添加一个空标签,定义CSS clear:both,弊端就是增加了无意义标签。

       ②使用overflow:给包含浮动元素的父标签的父标签添加css属性overflow:auto;zoom:1,zoom:1用于兼容IE6.

       ③使用after伪对象:该方法只适用于非IE浏览器。(必须设置height:0)

       5.如何解决跨域问题?

       ①JSONP:动态插入script标签,通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。

       优点是兼容性好,简单易用,支持浏览器与服务器的双向通信;缺点是只支持Get请求。

       ②CORS:服务器端对于CORS的支持,主要通过设置Access-Control-Allow-Origin来进行的,如果浏览器得到相应的设置,就可通过Ajax进行跨域的访问。

       ③通过修改document.domain来跨子域。将子域和主域设为同一个主域,前提条件是这两个域必须属于同一个基础域,而且所用的协议、端口一致,否则无法通过修改         document.domain来跨域。

       ④使用HTML5中新引进的window.postMessage方法来跨域传送数据。

       ⑤使用window.name来进行跨域。

       还有flash、在服务器上设置代理页面等跨域方式(个人推荐window.name的方法,既不复杂,又兼容几乎所有浏览器)。

       6.ajax中get和post的区别是什么?何时用post?

       Get:一般用于信息获取,使用URL传递参数,对所发信息的大小有限制(<2KB),使用Request.QueryString获取变量的值。

       Post:一般用于修改服务器上的资源,传送数据量大,一般默认不受限制,使用Request.Form获取提交的变量。

       在以下情况下使用post:当提交表单时,当传送较大数据文件时,当无法使用缓存时,当发送包含未知字符的用户输入时。

       7.你所知道的前端性能优化的方法有哪些?

        ①减少http请求次数:CSSSprites,JS、CSS源码压缩、图片大小控制;

        ②前端模块:JS+数据,减少由于HTML标签导致的宽带浪费

        ③用innerHTML代替DOM操作,减少DOM操作次数,优化JS性能;

        ④当需要设置的样式很多时设置className而不是直接操作style;

        ⑤少用全局变量、缓存DOM节点查找的结果减少IO读取操作;

        ⑥避免使用CSS Expression(CSS表达式);

        ⑦图片预加载,将样式表放在顶部,将脚本放在底部,加上时间戳;

        ⑧避免在页面的主体布局中使用table,table要等其中的内容完全下载后才会显示出来,显示比div+css布局慢。

       8.DOM事件流有哪几种?有什么区别?

        分为冒泡型事件和捕获型事件。

       9.绑定冒泡事件的例子

       大体是这些问题,然后就是针对简历上的内容又问了一些问题。可能一面很少涉及JS的内容,估计二面会更深入。希望下次有机会进行面试,可以更充分的准备。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值