腾讯CDG金融科技面经(已oc)

449 阅读3分钟

一面

上来先是四道编程题。下面附加我当时写的代码(可能有错误,欢迎指出~)面试过程中主要还是考查编程思维吧

  1. 给定一个整数数组,判断是否存在重复元素
如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 
示例 1:
输入: [1,2,3,1]
输出: true
示例 2:
输入: [1,2,3,4]
输出: false
示例 3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true

var fn = function(arr){
    var m = new Map()
    for(let item of arr){
        if(m.has(item)) return true
        else m.set(item)
    }
    return false
}
  1. 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3

var fn = function(head){
    var p = head
    while(p.next!==null && p!==null){
        if(p.next.value === p.value){
            p.next = p.next.next
        }
        p = p.next
    }
    return head
}
  1. 翻转一棵二叉树
示例:
输入:
   4
  / \
 2   7
/ \ / \
1 3 6  9
输出:
   4
  / \
 7   2
/ \ / \
3 1 9  6

var fn = function(node){
    if(node.left === null && node.right === null) return node
    var t = node.left
    node.left = node.right
    node.right = t
    fn(node.left)
    fn(node.right)
    return node
}
  1. 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前;你应当保留两个分区中每个节点的初始相对位置
示例:
输入: head = 1->4->3->2->5->2, x = 3
输出: 1->2->2->4->3->5

var fn = function(head,x){
    var p1 = new ListNode(0)
    var p_1 = p1
    var p2 = new ListNode(0)
    var p_2 = p2
    var p = head
    while(p.next !== null){
        if(p3.value < x){
            p1.next = p
        }
        else{
            p2.next = p
        }
        p = p.next
        p1 = p1.next
        p2 = p2.next
    }
    p1.next = p_2.next
    return p_1.next
}
  1. Eventloop 机制
  2. 防抖、节流
  3. cookie、session 的区别
  4. cookie 是解决什么问题的?为什么要有cookie?
  5. HTTP 协议
  6. GET、POST 请求方式的区别
  7. 为什么参数放在 URL 安全性较低
  8. HTTPS 协议
  9. 浏览器缓存机制
  10. 强缓存、协商缓存是否发起网络请求?
  11. BOM、DOM 的区别
  12. 操作系统的进程、线程
  13. 数据库的索引,其作用是什么?
  14. 你平时是怎么学习这些知识的?

二面

前面几个问题忘记了,就记录还记得的:

  1. 说一下从输入 URL 到页面加载完成的全过程,越详细越好
  2. vue 生命周期
  3. vue 数据双向绑定原理
  4. vue 3.0
  5. 网页传输状态有哪几种模式?
  6. 浏览器在多个标签页之间是如何通信的?
  7. cookie、session、localstorage 的区别
  8. 怎么给 localstorage 设定过期时间?
  9. ES6、ES7、ES8 的新特性
  10. Promise
  11. 说一说 动态规划
  12. 给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
示例 3:
输入:s = "a"
输出:"a"
示例 4:
输入:s = "ac"
输出:"a"

这里有 传送门,大家自行编程和查阅答案吧~

HR面

  1. 自我介绍(这里注意要针对非技术岗的自我介绍)
  2. 针对你的项目经历、学校经历进行提问
  3. 说说你相比于其他同行同学最核心的优势是什么?
  4. 之前有好几次面试失败的经历,你怎么看待?
  5. 有亲属在腾讯吗?
  6. 你是哪里人?老家在哪里?
  7. 有没有面试其他公司?