美文网首页
腾讯前端二面凉凉

腾讯前端二面凉凉

作者: C脖子 | 来源:发表于2018-08-30 22:28 被阅读1021次

    我就普通的投了个腾讯SNG,意向城市还填的北京,怎么就被深圳IMWeb捞起来了呢?

    一面 8.27

    晚上九点多突然袭击。问的都是基础,问的比较多的是XSS和CSRF。
    然后又约了29号在线编程,用QQ共享屏幕在本地写代码,可以chrome调试,出了两道题

    1. 大数相加
    2. 页面内有一个正方形元素A以及一个待放置区域B,实现对其拖拽和放下到B区域内,并且改变B区域背景颜色(不可用html5原生事件)。

    难度不大,应付过去了

    二面 8.30

    二面整了一个多小时,从来没面试这么长时间,做了4道编程题,表现来看应该是凉了。

    自我介绍后问了一下怎么学的前端,看了什么书,然后就是做题

    1. 写一个三栏布局

    我一开始拿float写了,简直是坑自己。一开始宽度没加border-box, 把右边那一栏挤到下面去了。加上之后右边栏还在下面,又把中间那一栏放到后面。然后又忘了加clearfix被面试官指出来了。

    然后面试官让把中间栏放前面,想了想说不会写。然后又问还能怎么写,又用flex写了一遍。然后问了flex-growflwx-shrink的作用,它们的默认值是什么。默认值忘了,被跳过。

    1. 创建一个 Person 类,其包含公有属性 name 和私有属性 age 以及公有方法 setAge ;创建一个 Teacher 类,使其继承 Person ,并包含私有属性 studentCount 和私有方法 setStudentCount 。

    没看懂公有属性和私有属性啥意思。我还问了JS没有公有私有的语法吧。然后就把共有属性那些都放prototype里了。被怼说这都是你那本红宝书里着重大篇幅讲过的,可见你面向对象用的就不熟练。

    面试完查了一下,私有属性就是用闭包定义在构造函数里的局部变量。这几个名词整的真是玄,还有共享属性和静态属性。您稍微提醒一下闭包我不就会了嘛。参考代码:

    function Person(name) {
      var age
      this.setAge = function(value) {
        age = value
      }
      this.getAge = function() {
        return age
      }
      this.name = name
    }
    
    function Teacher(name) {
      Person.call(this, name)
      var studentCount
      this.setStudentCount = function(value) {
        studentCount = value
      }
      this.getStudentCount = function() {
        return studentCount
      }
    }
    Teacher.prototype = Object.create(Person.prototype)
    Teacher.prototype.constructor = Teacher
    
    1. 请写一个函数,计算一篇英文文章中出现次数最多的单词及出现次数。

    这道题用正则表达式分割然后计数,最后面试官说做的不错,参考代码

    function mostFrequentWord(str) {
      let count = {}
      let words = str.split(/\W+/)
      let max = 0
      let result = []
      words.forEach(word => {
        count[word] = count.hasOwnProperty(word) ? count[word]+1 : 1;
        if (count[word] > max) {
          max = count[word]
          result = [word]
        } else if (count[word] === max) {
          result.push(word)
        }
      })
      return {words: result, count: max}
    }
    
    1. 最后说出个正则表达式吧。在页面里通过 js 如何判断页面是否属于腾讯(qq.com,包括子域名)?
    function isTecent() {
      let origin = location.origin
      return /^https?:\/\/([^\.]*\.)?qq\.com$/.test(origin)
    }
    

    一开始写了个location.domain(VSCode自动提示的锅),被提醒location没有domain属性吧。

    然后正则表达式没加括号,写成了/^http[s]?:\/\/[^\.]*\.qq\.com$/,被提醒用qq.com试一下,而且那个s不用加方括号。

    最后又问你学校在北京,我们部门在深圳,能不能来实习,最好还是能来实习。

    最后面试官总结了一下,CSS和面向对象太薄弱,算法和正则还好,HTML/CSS这块希望的是写出来效果就差不多了,最多微调一下,而我是像瞎猜一样折腾半天,优点缺点都特别明显,就拜拜了。


    说还有三面,看来没凉透。。。

    相关文章

      网友评论

          本文标题:腾讯前端二面凉凉

          本文链接:https://www.haomeiwen.com/subject/bqkjwftx.html