A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 码农来了 中级黑马   /  2016-11-11 23:35  /  2157 人查看  /  1 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

昨天朋友给了一份百度今年的校招面试题目,做了一下,发现还是有不少的问题,js啊,我的致命硬伤,现在分享出来,供大家参考

1、试列举PC端和移动端浏览器里的HTML/CSS/JavaScript的5个不同之处:


      这个问题在网上所了一下,没有特别好的答案,其实也就是浏览器内核,移动端主要是webkit核心(除非非常老的手机),可以大量使用html5和css3,一直没有做过移动端的东西,区别想不到到太多,还有什么大家补充吧。

2、用javascript实现:将页面里面所有className 包含test的A标签找出来,并且给他们添加黄色的背景

    这个问题乍一看不是很难,仔细看了下还是有点小问题的,我自己写了个demo,但总觉得性能会有点差,希望大家有更好的方法贴出来,下面是源码

     
  • window.onload = function getLable(){
  •           var oLable = document.getElementsByTagName("a");
  •           var len = oLable.length;
  •           for(var i = 0;i < len;i ++){
  •                   if(/^test /.test(oLable.className) || / test /.test(oLable.className) || / test$/.test(oLable.className) || /^test$/.test(oLable.className)){
  •                           oLable.style.backgroundColor = "yellow";
  •                   }
  •           }
  • };


     
3、请用HTML+css实现此图: (图片不清晰,我就不贴了,大体是一个列表,右上角有一个关闭按钮的页面)

4、请用javascript写一个Array数组的去重函数,数组为任意类型元素数组

    这个题目也写了个小demo,供大家参考
  • function deteleSame(arr){
  •         var array = [];
  •         var flag = false;
  •         for(var i = 0,l = arr.length;i < l;i ++){
  •                 for(var j = 0 , ll = array.length;j < ll;j ++){
  •                         if(arr == array[j]){
  •                                 flag = true;
  •                                 continue;
  •                         }
  •                 }
  •                 if(flag == false){
  •                         array.push(arr);
  •                 }
  •         }
  •         alert(array);
  • }


用了两个for循环,貌似不是最好的方法,不过方法确实可行。

5、使用js写一个函数:当用鼠标拖拽着一个DIV元素在页面上滑动时,与这个DIV元素有重叠交际的DOM元素列表

这个题目暂时没有想到好的解决方法,大家研究研究吧

6、当你打开浏览器,从输入URL地址到浏览器成网页内容这段时间给用户的体验尤为重要,请你列举出你所知的能减少这段时间的技术方案。


    这个题目应该是面试当中经常被问及的题目,也就是前端优化类的问题

1 个回复

倒序浏览
一起加油一起加油一起加油aaa l
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马