前端面试题(十六)

  • 你认为table的作用和优缺点是什么呢

    • 作用

      • 用于布局(已过时)
        早期的使用table来布局网页,但是table有一个缺点,就是加载页面的时候,需要全部的数据都请求到,才显示页面,否则就是一片的空白。因此现在一般不采用table来做布局,而是使用div+css进行布局
      • 用于显示批量的数据
    • 优点

      • 在某些场合,使用Table是100%的适合、恰当和正确。比如,用table做表格是完全正确的
    • 缺点

      • Table要比其它html标记占更多的字节。(延迟下载时间,占用服务器更多的流量资源。)
      • Tablle会阻挡浏览器渲染引擎的渲染顺序。(会延迟页面的生成速度,让用户等待更久的时间。)
      • Table里显示图片时需要你把单个、有逻辑性的图片切成多个图。(增加设计的复杂度,增加页面加载时间,增加HTTP会话数。)
      • 在某些浏览器中Table里的文字的拷贝会出现问题。(这会让用户不悦。)
      • Table会影响其内部的某些布局属性的生效(比如td里的元素的height:100%)(这会限制你页面设计的自由性)
      • 一旦学了CSS知识,你会发现使用table做页面布局会变得更麻烦。(先花时间学一些CSS知识,会省去你以后大量的时间。)
      • table对对于页面布局来说,从语义上看是不正确的。(它描述的是表现,而不是内容。)
      • table代码会让阅读者抓狂。(不但无法利用CSS,而且会你不知所云)
      • table一旦设计完成就变成死的,很难通过CSS让它展现新的面貌。

  • 解释下 CSS sprites的原理和优缺点分别是什么?

    • 原理

      • 多张图合并成一张图多张图合并成一张图
    • 优点

      • hover效果,如果是多个图片,网络正常的情况下首次会闪烁一下。如果是断网情况下,就没图片了。sprites 就很好的解决了这个问题(第一次就加载好了)
      • 合并了请求数
      • 制作帧动画方便
    • 缺点

      • 位置不好控制,有时候容易露底。。比如说30_30的按钮,图片只有12_12保不齐就漏出其他图片了
      • 合成时候比较费时(有工具代替)
      • 位置计算费时(有工具代替)
      • 更新一部分的时候,需要重新加载整个图片,缓存失效

  • typeof('abc')和typeof 'abc'都是string, 那么typeof是操作符还是函数?

    typeof操作符,不是函数。可以添加括号,但是括号的作用是进行分组而非函数的调用

  • 说说你对SVN和GIT的理解和区别

    • svn是集中式的,允许单次下载单文件修改,因为对每个文件都有对应的.svn文件控制
    • git是分布式的,每次clone都是获得一个完整的代码版本,可以不依赖服务器本地独立运行项目
个人感觉**SVN**除了集中带来的权限管理优势之外,其它被完爆,而且现在人们不缺少那点硬盘空间,来换取独立的自由

面试题摘自 Github

你可能感兴趣的:(前端)