zoukankan      html  css  js  c++  java
  • 腾讯PC客户端开发方向一面

    这次大概面了1个小时左右,面试官感觉好累的亚子,最后反问环节面试官给的评价都还不错,然后,回去几分钟后,挂了,我就很郁闷。

    面试具体内容

    1. 自我介绍

      • 关于C、C++、前端的一些我看你都有写,xxxx

      • 但是觉得在学校做的是偏交互的项目,有做过客户端的开发吗,有这方面的意向或者学习吗

    2. C++堆栈区别

    3. 有碰到过申请内存不释放的内存泄漏问题吗

      • 申请了指针没释放
    4. 怎么解决内存泄漏的问题

      • 手动

      • 自动:智能指针

    5. 智能指针怎么保证自动释放的

      • 计数
    6. 简单介绍一下C++结构体和联合体的区别

    7. 简单介绍有序和无序map的实现

    8. 无序map里面怎么通过哈希去映射到一个value的

    9. 三道算法题

      • 具体见下面大标题中的内容,单独写了。

      • 第三题写了一半,讲了思路。其他都ok

    10. 反问

    算法1颜色分类

    题面:

    给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照白色、红色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
    注意:不能使用代码库中的排序函数来解决这道题
    

    样例:

    [输入]
    [2,0,2,1,1,0]
    
    [输出]
    [1,1,0,0,2,2]
    

    算法2字典查询

    题面:

    给定一个字符集d,一个字符串的集合s,求s里可以由字符集d生成的字符串集合。s的数量可能会非常多
    例:d={a,b,c},s={ab, ca, ac, aa, ad},d可以生成字符串集合为{ab, ba, ac, ca, bc, cb},请输出{ab, ca, ac}
    d={a, a, c}, s={ac, ab, aac, cac}, d可以生成字符串集合为{aa, ac, ca, aac, aca, caa},请输出{ac, aac}
    

    算法3实现LRU缓存

    题面:

    运⽤你所掌握的数据结构,设计和实现⼀个 LRU (最近最少使⽤) 缓存机制。它应该⽀持以下操作: 获取数据 get 和 写⼊数据 put 。
    获取数据 get(key):
    如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1
    写⼊数据 put(key, value):
    如果关键字已经存在,则变更其数据值
    如果关键字不存在,则插⼊该组「关键字/值」
    当缓存容量达到上限时,它应该在写⼊新数据之前删除最久未使⽤的数据值,从⽽为新的数据值留出空间
    

    样例:

    LRUCache cache = new LRUCache( 2 /* 缓存容量 */ );
    cache.put(1, 1);
    cache.put(2, 2);
    cache.get(1); // 返回 1
    cache.put(3, 3); // 该操作会使得关键字 2 作废
    cache.get(2); // 返回 -1 (未找到)
    cache.put(4, 4); // 该操作会使得关键字 1 作废
    cache.get(1); // 返回 -1 (未找到)
    cache.get(3); // 返回 3
    cache.get(4); // 返回 4
    
  • 相关阅读:
    1.Android 视图及View绘制分析笔记之setContentView
    Android 6.0
    include、merge 、ViewStub
    Vitamio视频播放器
    EventBus 二
    EventBus 一
    ZJOI2002 昂贵的聘礼
    [POI2009]WIE-Hexer
    UVA 11440 Help Tomisu
    洛谷 2448 无尽的生命
  • 原文地址:https://www.cnblogs.com/OFSHK/p/14630175.html
Copyright © 2011-2022 走看看