腾讯课堂 IMWeb 七天前端求职提升营 Day 2

Unsplash

本次的系列博文主要是针对 腾讯课堂七天前端求职提升营 课程中,所推送的面试题目及编程练习的一次汇总,期间还包括三次直播课的分享,均由腾讯导师给大家讲解,该系列博文的发布已得到 IMWeb 前端学院助教的许可

IMWeb 前端学院 授权转发

0. 课程目录

腾讯课堂 IMWeb 七天前端求职提升营 Day 1 腾讯课堂 IMWeb 七天前端求职提升营 Day 2 腾讯课堂 IMWeb 七天前端求职提升营 Day 3 腾讯课堂 IMWeb 七天前端求职提升营 Day 4 腾讯课堂 IMWeb 七天前端求职提升营 Day 5 腾讯课堂 IMWeb 七天前端求职提升营 Day 6 腾讯课堂 IMWeb 七天前端求职提升营 Day 7

1. 经典前端面试题

问题 1: XHTML 和 HTML 有什么区别?

答案: HTML 是一种基本的 WEB 网页设计语言,XHTML 是一个基于 XML 的置标语言 最主要的不同: ① XHTML 元素必须被正确地嵌套 ② XHTML 元素必须被关闭 ③ 标签名必须用小写字母 ④ XHTML 文档必须拥有根元素

**问题 2: Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? **

答案: 用于声明文档使用那种规范 (HTML/XHTML),一般为严格模式和过度模式,基于框架的 HTML 文档 加入 XML 声明可触发,解析方式更改为 IE 5.5 拥有 IE 5.5 的 BUG

问题 3: 写出几种 IE 6 BUG 的解决方法

答案: ① 双边距 BUG,float 引起的,使用 display ② 3 像素问题,使用 float 引起的,使用 dislpay:inline -3px ③ 超链接 hover,点击后失效,使用正确的书写顺序 link,visited,hover,activez-index 问题,给父级添加 position:relative ⑤ png 图片透明失效,使用 JS 代码进行修改 ⑥ min-height 最小高度,使用 !important 解决 ⑦ select 在 IE 6 下遮盖,使用 iframe 嵌套 ⑧ 为什么没有办法定义 1 px 左右的宽度容器?(IE 6 默认的行高造成的,使用 overflow:hidden | zoom:0.08 | line-height:1px

问题 4: IE 和 DOM 事件流的区别

答案: ① 执行顺序不一样 ② 参数不一样 ③ 事件加不加 on ④ this 指向问题

2. 前端常见题目个人思考题

1、谈一谈你做过的一个项目,业务逻辑模块如何划分的?

2、什么是 xss 漏洞,怎么防御?

3. 在线编程任务

—— 所有 AC 代码均在 JavaScript(V8 6.0.0)下提交通过 ——

题目 7:大家都知道斐波那契数列,现在要求输入一个整数 n,请你输出斐波那契数列的第 n 项。n <= 39。

思路:使用动态规划,自底向上

function Fibonacci(n){
    var val = [];
    if(n<=0){
        return 0;
    }else if(0<n && n<=2){
        return 1;
    }else{
        val[1]=1; //n为2
        val[2]=2; //n为3
        for(var i=3; i<n; ++i){
            val[i] = val[i-1] + val[i-2];
        }
        return val[n-1];
    }
}

题目 8:一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法?

思路:给出 n,第一次有两种情况跳 2 那么剩下 f(n-2) 种跳法,跳 1 剩下 f(n-1) 种跳法,总的是 f(n-1) + f(n-2) 可以往下一直递归,直接用递归应该会超过内存限制

function jumpFloor(number)
{

    if(number == 1){
       return 1;
    }
    if(number == 2){
       return 2;
    }
    n1 = 1;
    n2 = 2;
    while(number > 2){
       tmp = n2;
       n2 = n1+n2;
       n1 = tmp;
       number--;
    }
    return n2;
}

题目 9:一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级……它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法?

思路:在草纸上列了一下几个具体的 n 值找到了递归的思路,发现 f(1) = 1, f(2) = 2, f(3) = 1 + f(2) + f(1) ...

f(3) 可以这样考虑:分跳 3 (本身值直接 +1 ),跳 1,跳 2 三种情况,跳 1 之后还剩 f(3-1) 种跳法,跳 2 之后,还有 f(3-2) 种跳法,所以 f(3) 可以等于这三种分法相加。类推 f(n) = 1 + f(1) + f(2) + ... + f(n-1)

代码实现的时候直接递归就行了,放一个暂存累加变量 tmp

function jumpFloorII(number)
{
    if(number == 1){
        return 1;
    }
    if(number == 2){
        return 2;
    }
    tmp = 0;
    while(number > 1){
        tmp+=jumpFloorII(number-1);
        number--;
    }
    return tmp+1; 
}

题目 10:我们可以用 2 * 1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2 * 1 的小矩形无重叠地覆盖一个 2 * n 的大矩形,总共有多少种方法?

思路:还是斐波那契数列,f(n) = f(n-1) + f(n-2), f(1) = 1; f(2) = 2;

function rectCover(number)
{
    if(number == 0)
        return 0;
    if(number == 1)
        return 1;
    if(number == 2)
        return 2;
    first = 1;
    secend = 2;
    while(number>2){
        thrid = first + secend;
        first = secend;
        secend = thrid;
        number --;
    }
    return thrid;
}

题目 11:输入一个整数,输出该数二进制表示中 1 的个数。其中负数用补码表示。

思路:如果是负数,对其进行位操作

function NumberOf1(n) 
  { 
      if(n<0){
          n = n>>>0;
      }
      var res = n.toString(2); 
      var count = 0; 
      flag = 1; 
      for(var i = 0; i <res.length; i++){ 
          if(res[i] == 1){ 
              count++  
          } 
      } 
      return count; 
  }

题目 12:给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent。求 base 的 exponent 次方。

思路:JavaScript用这样就通过啦

function Power(base, exponent)
{
    return base**exponent;
}

—— 题目来源 剑指 offer ——

End of File

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

“一切皆是映射” (光剑)

这句话背后的意义不仅仅在于函数式编程。量子力学说过,事物只在相互作用时才出现。“事物”即“一切”,“相互作用”即“映射”。这是“一切皆是映射”(光剑)这句话背后...

10320
来自专栏JackieZheng

漫谈可视化Prefuse(六)---改动源码定制边粗细

可视化一路走来,体会很多;博客一路写来,收获颇丰;代码一路码来,思路越来越清晰。终究还是明白了一句古话:纸上得来终觉浅,绝知此事要躬行。   跌跌撞撞整合了个...

21280
来自专栏牛客网

2018春招酷乐家面经分享(前端篇)一面:二面:面试总结:

前言:酷家乐面试前会通知你面试时间,面试后会反馈面试结果,总之,真的挺好的,可惜就是楼主二面没过~~~ 一面: 1.自我介绍 2.说说自己做的前端项目 3.为什...

36780
来自专栏程序员的知识天地

谈谈编码与规范

既然是风格,就没有对错。就如现实生活中,我们每个人都有自己的穿着打扮一样。可能有些人打扮土一点,但土就土,并不影响什么。

6510
来自专栏HelloCode开发者学习平台

iOS开发-KVC从使用到原理详解(1)

相比往年的iOS招聘,相比之前波涛汹涌,这会已经是相对风平浪静.但是实际上这样的风平浪静只不过是由于无法坚守的iOS 开发者相继退出而已.但是该有的竞争...

8830
来自专栏web

关于javascript中的this 一段小实例深有体会啊

13140
来自专栏IT派

细思极恐-你真的会写java吗?

自2013年毕业后,今年已经是我工作的第4个年头了,总在做java相关的工作,终于有时间坐下来,写一篇关于java写法的一篇文章,来探讨一下如果你真的是一个ja...

19850
来自专栏JackieZheng

如何写出好代码

如何写出好代码 这个题目把我自己都看傻了,因为仔细想想,这不是一个命题,是对代码的思考,对细节的推敲和打磨。写好代码是一门学问,还是一种修行。 以前是公众号(...

23850
来自专栏守候书阁

自己写的面试题,自己想的答案

因为机缘巧合,让当了无数次面试者的我,当上了面试官,也和几个面试者交流过。既然要应对面试者,我就当然要准备面试题了,好让我大概知道面试者是什么水平。这个时候,也...

10220
来自专栏WeTest质量开放平台团队的专栏

有的UE画不好PPT,好的测试却靠Python加薪

                 测试开发者的共同关注! 作者:jhouyang,腾讯资深后台开发工程师。 WeTest导读 想要升职加薪,强大的专业能力很...

17240

扫码关注云+社区

领取腾讯云代金券