今天面了百度的前端实习职位。一面。时间大概是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了。

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

百度Web前端面试经历的更多相关文章

  1. 百度web前端面试2015.10.18

    邮件里通知的周日下午两点参加百度校招面试,我13:10分就到了,前台先让我拿了个面试资格单(上面是我的信息),然后在web前端面试入口排队,面试在百度食堂举行的,等了大概1个小时,放我去面试.都是一对 ...

  2. 我的游戏蜗牛web前端面试经历

    蜗牛在江苏苏州地区应该算是比较大的互联网公司了,可以称得上中国游戏的鼻祖,之前一直很想进蜗牛,但作为一个应届毕业生却没有看到蜗牛发布任何关于招聘实习生的职位,无奈之下于是就毛遂自荐了,主动以邮件的形式 ...

  3. web前端面试经历分享

    十天前,我还在纠结这个暑假到底是呆在实验室研究技术好还是找一份实习见识世面好,而现在我已经接到offer准备工作了.这几天真是累得够呛,一方面需要拼命准备期末考试,另一方面,需要往公司里面跑接受面试. ...

  4. 2018 百度web前端面试

    面试前 正式入职一年半左右,实习半年,勉强两年经验吧,然后很惊喜收到了百度的面试邀约,约得两点钟面试,然后本人一点钟就到了,通电话之后,面试官很热情,说正在吃饭吃完饭就去找我,让我去坐着等一会,然后一 ...

  5. web前端面试试题总结---html篇

    HTML Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器 ...

  6. web前端面试总结

    本文由我收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的! 前端还是一个 ...

  7. Web前端面试笔试题总结

    最近一段时间要毕业了,忙着找工作,见过不少笔试面试题,自己总结了一些加上网上找的一些整合了一下.答案暂时都东拼西凑出来了,但是还是先不发出来,一方面是答案并不是唯一的并且自己的答案不能保证对,另一方面 ...

  8. 2016年Web前端面试题目汇总

    转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...

  9. web前端面试试题总结---其他

    其他问题 原来公司工作流程是怎么样的,如何与其他人协作的?如何夸部门合作的? 你遇到过比较难的技术问题是?你是如何解决的? 设计模式 知道什么是singleton, factory, strategy ...

随机推荐

  1. 用js,css3 做的一个球

    用css3属性很容易做一个立方体,但是要做一个球体,会相对复杂些 原理是:球可以看做是由无数个圆圈构成,然后就可以用圆圈来做球, 下面的例子是我做的一个小球,由72个圆圈组成.如果把每个圆圈的背景颜色 ...

  2. 循环神经网络(RNN)模型与前向反向传播算法

    在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法,这些算法都是前向反馈的,模型的输出和模型本身没有关联关系.今天我们就讨论另一类输出和模型间有反馈的神经网络:循环神经网络(Rec ...

  3. Bootstrap学习-排版

    1.标题 <h1>~<h6>,所有标题的行高都是1.1(也就是font-size的1.1倍). 2.副标题 <small>,行高都是1,灰色(#999) <h ...

  4. wemall app商城源码Fragment中监听onKey事件

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发Fragment中监听onK ...

  5. AVFoundation之如何从摄像头获取图像

    前言: 最近项目有个需求是对试图对手机密码进行强破解的人进行拍照(通过摄像头截图),因为之前没做过,所以一堆坑.现在就把我的经验都分享出来,希望后来人不用再踏上坑途中. 直接上代码: // 创建会话 ...

  6. DevOps的几个场景

    名词: 服务发现: 用来确保服务的位置无关性,通过服务名来查询获得服务的实际地址. 名字解析: 用来确保服务器位置无关性,通过机器名查询获得机器的实际IP地址. 场景一: 特点: 应用少,流量轻,数台 ...

  7. Java 字符流操作

    上篇文章Java 字节流操作介绍了java中基本的字节流操作,但是我们常常对于字符操作,如果使用字节流来实现输入输出就显得麻烦,我们可以使用字符流来实现对我们看得见的字符char进行操作,主要内容如下 ...

  8. Ext JS 6学习文档–第1章–ExtJS入门指南

    Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS ...

  9. 如何在container中编译dotnet的eShopOnContainers

    准备的软件   问题 Image下载问题 以下就是为啥要有最后一个软件(我是使用版): SQLSever for Linux 内存需求 需要编译Image   成功搞定 参考 Welcome to t ...

  10. django进阶-4

    前言: 下篇博客写关于bootstrap... 一.如何在脚本测试django from django.db import models class Blog(models.Model): name ...