2016-04-17 腾讯前端开发工程师一面面试题目

匿名网友 匿名网友 发布于: 2016-04-28 00:00:00
阅读 333 收藏 0 点赞 0 评论 0

/*1.原生js

2.利用touchstart、touchmove、touchend实现单/双击事件

3.PC端和手机端如何做到兼容?

    答:二者的差异就是浏览器兼容,用户操作方式、屏幕尺寸等;

    一般有两条思路:a)PC,移动端各做各的;

                 b)PC,移动端使用同一个页面,但是设计的时候使用响应式设计

4.css有哪几种方式实现流动布局:

    答:flex

5.如何实现响应式布局?

    答:1)、Meta标签定义;<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”>

       2)、使用Media Queries适配对应样式:

                 设备的宽和高device-width,device-heigth显示屏幕/触觉设备。

                 渲染窗口的宽和高width,heigth显示屏幕/触觉设备。

                 设备的手持方向,横向还是竖向orientation(portrait|lanscape)和打印机等。

                 画面比例aspect-ratio点阵打印机等。

                 设备比例device-aspect-ratio-点阵打印机等。

                 对象颜色或颜色列表color,color-index显示屏幕。

                 设备的分辨率resolution

       3)、表格(table)的响应式处理:实现方法代码:

                                 @media only screen and (max-width: 800px) {

                                   table td:nth-child(2),

                                   table th:nth-child(2) {display: none;}

                                   }

       4). 设置多种试图宽度

       5).宽度需要使用百分比

       6).处理图片缩放的方法:img { width: auto; max-width: 100%; }

6.Cookie能不能跨域?

    答:正常情况下不能,但可以有方法实现跨域共享:设置cookie.setDomain(“xxxx.com”);

7.访问别的网站的时候广告是怎么根据你在淘宝上的浏览记录精确投放的?

//TODO

8.CSS3动画关键帧@keyframes?如何选择关键帧?

    答:@keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。

             @keyframes myfirst

             {

             from {background: red;}

             to {background: yellow;}

             }

         当在@keyframe创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

         指定至少这两个CSS3的动画属性绑定向一个选择器:

         规定动画的名称

         规定动画的时长

             div

             {

                animation: myfirst 5s;

             }

       !!!注意: 您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。

         CSS3动画是什么?

         动画是使元素从一种样式逐渐变化为另一种样式的效果。

         您可以改变任意多的样式任意多的次数。

         请用百分比来规定变化发生的时间,或用关键词 “from” 和 “to”,等同于 0% 和 100%。

         0% 是动画的开始,100% 是动画的完成。

         为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

             @keyframes myfirst

             {

             0%   {background: red;}

             25%  {background: yellow;}

             50%  {background: blue;}

             100% {background: green;}

             }

9.ajax超时的时候我们该怎么检测?

    答: 实现思路:发出请求后指定一个时间,如超过该时间没有返回结果则忽略。window对象的setTimeout方法

         jquery ajax超时设置

         var ajaxTimeoutTest = $.ajax({

           url:”,  //请求的URL

           timeout : 1000, //超时时间设置,单位毫秒

           type : ‘get’,  //请求方式,get或post

           data :{},  //请求所传参数,json格式

           dataType:’json’,//返回的数据格式

           success:function(data){ //请求成功的回调函数

             alert(“成功”);

           },

           complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数

             if(status==’timeout’){//超时,status还有success,error等值的情况

               ajaxTimeoutTest.abort();

                alert(“超时”);

             }

           }

         });

        设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执行响应的操作。

10.Git切换分支?将分支提交到远程仓库?分支的作用?

    答:  1 查看远程分支  git branch -a

         2 查看本地分支  git branch

         3 创建分支  git branch test

         4 把分支推到远程分支  git push origin test  (git push (远程仓库名) (分支名))

         5 切换分支到test  git checkout test

         6 删除本地分支   git branch -d xxxxx

 

评论列表
文章目录