zoukankan      html  css  js  c++  java
  • 记2012年百度web前端研发实习生的笔试面试经历 希

    2012年5月6日在交大参加了百度的实习生招聘笔试,投的是web前端方向。

      拿到卷子时觉得好些题目很眼熟,其中一个HTML+CSS布局的问题在网上见过,一个div固定宽度,一个div自适应,要求覆盖整个页面。用浮动布局可以解决这个问题,代码也很简单

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     2 <html>
     3     <head>
     4         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     5         <title>layout</title>
     6         <style type="text/css">
     7         #right{
     8         float:right;
     9         width:200px;
    10         background-color:#ff0000;
    11         }
    12         #left{
    13         margin-right:200px;
    14         background-color:#00ff00;
    15         }
    16         </style>
    17     </head>
    18     <body>
    19         <div id="right">right</div>
    20         <div id="left">left</div>
    21     </body>
    22 </html>

    后来回想这道题目的考点在哪里,觉得出题人可能会看重代码风格,DOCTYPE相关,以及浏览器兼容性的相关问题,偶的一位同学竟然一下子写了三个方案,神牛一枚。毕竟纸上写代码和电脑上是完全两种不同的感受,感觉自己答得很一般。

      还有一道题目是说实现一个中文的时钟。如将2012.05.06 12:12:34显示为二零一二年五月六日十二点十二分三十四秒,要求精确到秒。自己的思路是重写了Object的toString方法,如果是number类型的话就通过switch-case语句转换为中文字符,然后写一个displayTime()函数,函数主体是获得当前时间,然后分别得到年月日时分秒,显示的时候分别调用它们重写后的toString()方法将时钟打印出来。时钟的更新当然是通过setInterval(displayTime, 1000);来实现。后来面试的时候问了面试官,他说用一个数组存放中文字符即可,然后通过对应的下标来替换。听完后不得不说自己真的挺笨的,呵呵。

      还有一道奇怪的算法题,说是公司里某个部门有200个员工,设计一个算法计算任意一个员工与自己同月同日生日的概率(一年按365天计算)。思来想去也不知道该怎么解决,后来问面试官,他也没怎么说,感觉自己就是在给面试官找茬,真是欠揍。在此求指点。

      还有一道简述JavaScript如果实现类,继承,私有变量的题。相信对Javascript熟悉的朋友们都知道主要是通过prototype和constructor这两个属性实现。其中prototype是对原型对象的引用,constructor是对对象构造函数的引用。通过他们即可以实现类,继承和私有变量。

     1 function Book(){    //基类Book
     2         this.title = "head first";
     3         this.author = "daisy";
     4         this.show = function show(){    
     5             window.document.write(this.title+'<br>'+this.author+'<br>');
     6         }
     7     }
     8 function TeachBook(){}  
     9     TeachBook.prototype = new Book();  //TeckBook的原生对象由Book构造
    10     TeachBook.prototype.constructor = TeachBook;  //TeacBook的构造方法为当前方法,个人觉得JS这点很奇妙
    11     TeachBook.prototype.addPub = function addPub(p){  //为子类添加新方法
    12         TeachBook.prototype.publisher = p;
    13     };        

      还有一题是说在声明变量时不加var的坏处。当时不会,后来看书后了解到,对于不需要初始化的变量是必须要添加var的,否则是不合法的。至于有什么坏处,还请指点。

    1 var name="daisy";//合法
    2 var name;//合法
    3 name="daisy";//合法
    4 name;//不合法

      最后一题是说说自己最得意的作品,在其中的角色以及有哪些升级方案。这里就不多说了。

      关于面试,面试官真心是一位很好很好的人,像个老师一样,整个气氛很轻松。没有要求写代码(微微意外)。在做了简短的自我介绍后,他让我聊起了自己的项目。聊完后面试官竟然觉得我适合去做PM(主要是用户体验和产品设计方面的),跟我说了好些PM应该具备的素养,让我都有点不知所措了,感觉真心偏了好远。不过聊完PM还是很感谢他的,他和我说了很多公司内部运作的过程,让我受益匪浅啊,这些东西绝对是书本上看不到的,聊完后感觉自己真心是笼中鸟,啥也不知道的感觉。后来还是扯回了web前端的一些技术问题,聊了浏览器的兼容(据他给出的2012年3月底的数据统计,国内的IE使用率竟然还高达90以上,IE6这个大bug竟然也还有很大一部分。以前着实被国外的全球统计数据给蒙蔽了,哎,如何让开发人员省心呢),怎么学习前端技术,怎么优化的一些问题。整个过程就像是在交流学习,再次感谢面试官给了我这次机会,结果啥的已经不那么重要了,以后多努力吧,呵呵。

  • 相关阅读:
    Scrum的三个角色
    vim常用命令
    吴恩达深度学习第2课第3周编程作业 的坑(Tensorflow+Tutorial)
    tensorflow共享变量 the difference between tf.Variable() and get_variable()
    Jupyter notebook 输出含中文的pdf 方法
    find 命令查找文件,文件夹
    numpy.squeeze()是干啥的
    吴恩达深度学习第2课第2周编程作业 的坑(Optimization Methods)
    女儿一周前会爬了
    numpy.random中的shuffle和permutation以及mini-batch调整数据集(X, Y)
  • 原文地址:https://www.cnblogs.com/deng303359/p/2497401.html
Copyright © 2011-2022 走看看