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了?

  • 相关阅读:
    PHP快速排序算法
    PHP选择排序算法
    php几个常用的概率算法(抽奖、广告首选)
    免费Git客户端:sourcetree详细介绍
    apidoc @apiGroup兼容中文
    PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装
    mysql-表分区
    mysql表优化
    MySQL执行计划extra中的using index 和 using where using index 的区别
    mysql-锁
  • 原文地址:https://www.cnblogs.com/csxf/p/3591939.html
Copyright © 2011-2022 走看看