zoukankan      html  css  js  c++  java
  • 阿里面试经历(转载)

    通知我21早上9:30开始,早上8:40就到了,前台上面没有我名单,我就打电话询问HR,说没关系,面试官在路上,等一下,大概到10点左右,HR领我进去见面试官,解释说昨晚从杭州来北京,有点晚,让你久等了,我说没事。面试官个子很高的样子,有点零星白头发,器宇不凡,一看就是个级别很高。进来问好,然后让我坐下面试官说:我们是1688技术部的面试,现在就开始吧。



    01. 介绍一下你技术方面
    刚开始有点紧张,说的有点断断续续,中间还有HR MM进来,另外一个mm进来给面试官端水


    02. 性能优化方面
    我理解为代码层面的
    我:
    一是:HTML层次结构不要太深,层次结构深会xx...
    二是:防止内存泄露,DOM和javascript是两种东西,特别在IE等浏览器,javascript操作DOM效率低,容易造成内存泄露,在不使用的时候最好设为null
    三是:写类的时候用prototype,不要动态this.xx = funciton(){}, 这样不能资源复用
    面试官:还有吗
    我疑问:哪方面的优化
    面试官:站点性能优化
    我豁然,说:哦,缓存啊,代码本地化
    面试官疑惑:本地缓存?如何?
    我:Expires,Etag等
    面试官:还有呢
    我:如果有条件使用cdn,还有cookie隔离
    面试官疑问:隔离?
    我:就是防止静态资源发送cookie,通过配置独立域名的,另外独立域名的好处还有多线程下载,因为传统浏览器限制了并发数2,是一个域名限制2,如果多一个域名可以多几个并发
    面试官:那么通常说脚本为什么要放头和放尾呢
    我:我知道一般放尾是为了不影响HTML的解析,另外放尾处可以不用DOM ready,直接可以document.getElementById等,至于放在头一般是变量定义吧,还有可能是受base得影响,放在头部一般是css文件,防止裸奔



    03. 字体定义有哪俩种方式
    我理解为字体定义font-face
    我:用font-face引入字体文件,有俩种?
    面试官:是字体大小
    我:哦,有俩种单位,一个是绝对值,类似于px,一个是相对值em之类的
    面试官追问:那em和px有什么关系
    我:如果父元素定义字体大小16px,那么子元素定义1em,大小就是16px
    追问:em默认值是多少
    我:不太清楚,跟浏览器设置有关吧



    04. 弹性布局和响应式及重构
    我:通过media-query,让不同浏览器展现不同布局
    面试官:还有吗?
    (我有点卡了,这方面确实没怎么研究)
    继续说:每个组件在不同屏幕上显示不同样子吧,比如导航菜单在宽屏下显示一通栏,在手机上显示一个按钮
    其实他想听到我对弹性布局、流式布局的解释,用相对单位、max-width来控制等)
    面试官:有一篇文章中说99%的网站都需要被重构,这个文章你有看过吗?
    我:没有,听过
    面试官:为什么这么说?
    我:主要是政府等网站,大量的使用了table等标签,不规范,不过这个地方成本很高。
    (这个问题没回答好,有点答非所问,不知道当时怎么想的,应该从规范、趋势、移动端方面去回答这个问题)


    05.你知道什么叫优雅降级和渐进增强
    我:我知道有两种,至于如何和这两个词对上不知道,一种是类似于border-radius,能显示圆角更好看,不能显示就显示方形,用户也可以接受;另一种是比如我要一个长连接,在高端浏览器上使用websocket,不能使用的用iframe流或者ajax,这个已经有socket.io封装了,算是渐进增强吧


    06.HTML5主要增强了什么
    我:主要增加了语义化话标签
    面试官:哪些标签
    我:header, footer, article, nav
    面试官:语义化标签有什么用
    我:语义化标签主要是利于SEO,还有增强阅读性,增强可维护性,一看header就是是头部,一看footer就知道是尾部,一看nav就知道是菜单
    面试官:HTML5其他方面呢
    我:增加了很多API,当然我没有都使用过,API开发出来是给我们用的,不是为了让我们去记忆的



    07. 你平时用哪些浏览器
    我:firefox,safari,chrome啊,IE用的少
    面试官:开发主要用哪个
    我:firefox
    面试官:装了哪些插件
    我:firebug,firephp,至于其他的Yslow,之前装过,我们项目中用不到,所以就没用了,主要还是用firebug



    08. 有什么需要补充的么
    我:最近在研究Node,感觉Node.js挺火的,之前看了一本书,一直没时间实践,因为我们是弄互联网软件的,不像运营性质的,活总是做不完,打算以后抽时间出来把node和html5新技术用上,
    面试官追问:Node.js主要解决了什么问题
    我:高并发,异步编程,异步编程有好处也有不好处,比如弄的代码层次很深,大量的callback



    09. 有什么需要交流的么
    我:你们新技术用的多吗
    面试官:多,非常多,主要在移动端上面
    我:我还没怎么接触移动端



    10. 你会Flash么
    我:UI不会,前面说过了,as可以写,虽然不像javascript那么熟,他们都是ES规范的,我只要知道提供给我的API,能写东西的

    中间HR MM针对我简历问了一些问题,工资啊,职位啊,到岗时间啊等



    11.最后,还有什么问题需要问我的么
    我笑说:前面都问了,没什么要问的了,呵呵
    (我只准备了一个问用来回答9了)


    然后HR MM说:我们先出去等一会。等了大概10分钟,HR走过来跟我说,你的面试就结束了,5天后电话通知你。




    面后感

    刚出来觉得自己答的还可以,基本上顺畅的答完,对最后一个问题有点遗憾,没怎么准备,感觉有80%把握通过一面,后面越想越不对劲,他们的侧重点在移动端,而我正好在这方面有很大的不足,按照正常的流程是不是不用等5天,而是进入深入的技术面,比如做题,被PASS了?

  • 相关阅读:
    how to uninstall devkit
    asp.net中bin目录下的 dll.refresh文件
    查找2个分支的共同父节点
    Three ways to do WCF instance management
    WCF Concurrency (Single, Multiple, and Reentrant) and Throttling
    检查string是否为double
    How to hide TabPage from TabControl
    获取当前系统中的时区
    git svn cygwin_exception
    lodoop打印控制具体解释
  • 原文地址:https://www.cnblogs.com/csxf/p/3591939.html
Copyright © 2011-2022 走看看