腾讯PC客户端开发方向一面
这次大概面了1个小时左右,面试官感觉好累的亚子,最后反问环节面试官给的评价都还不错,然后,回去几分钟后,挂了,我就很郁闷。
面试具体内容
-
自我介绍
-
关于C、C++、前端的一些我看你都有写,xxxx
-
但是觉得在学校做的是偏交互的项目,有做过客户端的开发吗,有这方面的意向或者学习吗
-
-
C++堆栈区别
-
有碰到过申请内存不释放的内存泄漏问题吗
- 申请了指针没释放
-
怎么解决内存泄漏的问题
-
手动
-
自动:智能指针
-
-
智能指针怎么保证自动释放的
- 计数
-
简单介绍一下C++结构体和联合体的区别
-
简单介绍有序和无序map的实现
-
无序map里面怎么通过哈希去映射到一个value的
-
三道算法题
-
具体见下面大标题中的内容,单独写了。
-
第三题写了一半,讲了思路。其他都ok
-
-
反问
算法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
分类:
面试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2020-04-07 Day66:HDU5520-Number Link-最小费用最大流
2020-04-07 Day66:HDU2063-过山车-二分图最大匹配模板题
2020-04-07 Day66:HDU3549- Flow Problem-最大流模板题-EK算法
2020-04-07 Day66:POJ2135-Farm Tour(最小费用最大流模板题)-SPFA+MCMF