PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 休闲茶馆 >> 职场人生 >> 

百度Web前端面试经历

百度Web前端面试经历

来源:phperz.com  作者:phper  发布时间:2012-05-25
今天面了百度的前端实习职位。一面。时间大概是50分钟。面试官是位很帅气的小伙子,非常友好的一个人。进门的时候他让我等一会,我瞄了一眼他的电脑屏幕,发现他在coding 9点50开始的面试。 面试官:自我介绍一下。 我:blablabla。 面试官:javascript的类型转换(比如2
今天面了百度的前端实习职位。一面。时间大概是50分钟。面试官是位很帅气的小伙子,非常友好的一个人。进门的时候他让我等一会,我瞄了一眼他的电脑屏幕,发现他在coding……

  9点50开始的面试。

  面试官:自我介绍一下。

  我:blablabla。

  面试官:javascript的类型转换(比如"2"*1, "a"*1)。

  我:javascript会调用valueOf来转换为一个基本数据类型,在这种情况下,如果javascript不能通过valueOf转成一个number,会尝试调用toString,然后再转。实在无法转就只能NaN了。

  面试官:说说类的创建、继承和闭包。

  我:new一个Function,继承通过prototype。超类和子类可以通过子类的prototype=new 超类(),然后把prototype的constructor指回子类。闭包是一个变量作用域的问题(这里我也不是特别清楚,随便说了些)。

  面试官:说说get和post请求的区别。

  我:1.参数形式不同;2.发送数据大小限制不同;3.在后台转码时不同,post可以简单地修改编码方式来避免乱码,get不可以。

  面试官:Get请求最大能多大。

  我:几K吧,2K?

  面试官:你猜的?

  我:。。。嗯。

  面试官:说说事件绑定。

  我:W3C是addEventListener,IE是attachEvent。

  面试官:这两种事件绑定有什么不同。

  我:。。。。(真心不知道有什么不同,乱说一气,难道是绑定事件执行的先后顺序不同?)。

  面试官:这两种绑定还是有很大差别的。

  我:。。。。是的是的,之前没有了解过。

  面试官:说说事件冒泡的机制。

  我:blablabla。

  面试官:如果上层元素想知道到底是从哪个元素起的泡,怎么搞?

  我:Event的target属性吧。

  面试官:不是,再想想。

  我:真心不会。。。(面试官也没告诉我答案,整个面试过程中感觉这位面试官侧重于指引你自己去找寻答案,不会告诉你答案的)

  面试官:做一个图片轮播的脚本。

  我:blablabla(总之就是通过父元素设置overflow为hidden,position为relative,然后几个图片列表修改他的left值。因为之前我写过一个,所以我还说道了如何实现动画序列,比如点击一次向左,一次向右,再来一次向左,动画会依次执行。)

  面试官:图片加载比较慢,你这个轮播组件怎么解决。

  我:new一个Image对象,然后注册onload事件和src属性,都onload完毕了再显示,此前显示一个占位符。

  面试官:如果图片很多,有两万个,怎么办。

  我:按需加载,用多少加载多少(然后讲了我的实现思路)。

  面试官:但是用户浏览了很多张图片会越来越卡。

  我:把之前看过的图片从dom里删掉,来释放内存,但是要是用户回头又看之前看过的就比较麻烦了,不晓得这个图片该往哪里插入了。

  面试官:是的,这道题我不告诉你正确答案,你可以好好想想(面试结束后面试官让我看了百度图片搜索的例子)。

  我:好的。

  面试官:你后台用哪个语言最多?

  我:java。

  面试官:Why java?

  我:好用。而且我发现其实大运算时跟C++的效率也差不多。

  面试官:还是要比C低一些的。

  我:嗯。

  面试官:用java写网站还是客户端?

  我:网站。

  面试官:用框架吗?

  我:看需求,需求简单就用servlet可以了。

  面试官:说说servlet的生命周期。

  我:blablabla。

  面试官:前台怎么写。

  我:。。。JSP<%%>不就行了。

  面试官:我知道。我问还有其他方案吗?

  我:我们现在用模板引擎,比如velocity。

  面试官:讲讲velocity怎么写。

  我:blablabla。

  面试官:和JSP比,优势如何?

  我:速度快,写起来简单,而且好看。

  面试官:应该不会比JSP快啊。

  我:(这个问题我们争论了好久,面试官是没有用过velocity的)。

  面试官:velocity可以自定义标签吗?

  我:可以自定义指令,每个指令其实对应的就是一个java类。自定义指令要继承Directive类。

  (然后问了些MVC,此处不表)

  面试官:(因为我说道这一年过来都在写后端,针对spring做了一层浅封装)说说你的封装里DAO怎么实现的。

  我:泛型+模板设计模式。缓存是装饰器模式搞得,装饰的是不带缓存的类。

  面试官:那表的结构已经事先定好了吗?

  我:对的,通过反射获取类属性,然后转换为sql,比如loginTime转成login_time,类名UserData转成user_data。这个要事先商量好才可以。不遵守约定就没法搞了。

  面试官:缓存用什么实现的。

  我:Ehcache。

  面试官:和memcache差不多吗?

  我:没错。

  面试官:更新策略是什么。

  我:LRU。然后get做缓存,update和delete都直接删除对象。

  面试官:用什么做key?

  我:id。

  面试官:说说缓存怎么避免并发下脏读等不一致问题。

  我:我的类都是单例的(我傻逼了,单例和并发有关系吗?面试官后来也纠正了我这个错误)。读是没有问题的,写的话我没有做处理,感觉ehcache自己内部做了处理吧,比如代码同步,或者用concurrenct包下的类。

  面试官:。。。。(这道题我没明白他要问什么,他也没明白我在说什么。。。好混乱)不纠结这个问题了。数据库连接池怎么实现的。

  我:直接用的DBCP。

  面试官:我那时都是自己写的。

  我:。。。(心中默念:牛逼)。

  面试官:好的,有什么问题想问我的。

  我:百度是弹性工作制吗?Web前端部门可以接触到其他技术吗?

  面试官:弹性工作制,我们一般都是十点钟来上班(笑)。Web前端部门以写JS为主,会接触到Controller的编写,不过我们是用php的。也会接触到服务器的配置和web工程的部署。不过大部分时间都在写JS上。

  然后我们就互道Goodbye了。

  我的处女面,就这样献出去了。


延伸阅读:
某公司一份英文php面试题(E文好的一定要看了)
oracle面试题
变态IQ面试题
PHP高级工程师的面试题
VeryCD网站开发PHP程序员基础面试题
北京某信息技术公司的php面试题
新浪php工程师面试题
一道关于php变量引用的面试题
一道求$b相对于$a的相对路径的php面试题
一道腾讯php面试题
某公司的php面试题


php面试题N则
一次谷歌面试趣事
腾讯PHP程序员面试题
史上最强大的PHP Web面试题(会做就能进百度)
新浪php的面试题
新浪sina php面试题,附答案
腾讯09年实习生面试题
php实习生面试题
2011年新浪微博实习生笔试面试题
08腾讯实习生招聘设计类网页重构组岗位公开面试题
二道腾讯实习生面试题
美职业顾问公布15个谷歌面试题
经典面试题解答
Oracle技术面试题
php面试题及答案
某大公司的PHP面试题2
微软面试题100
微软公司面试题
科技公司9大古怪面试题:如何解决世界饥饿问题
如何回答两个常见的开发求职面试问题
Tags: 百度   web   前端   面试  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号