昨天oc了, 平日也看了很多牛客的面经, 今天轮到我回馈一下社区了. 一面 3.11 自我介绍, 自我介绍的时候提到了我的独立游戏暴死经历, 于是直接问起了项目 独游暴死的技术原因 性能优化的尝试 复杂逻辑下设计模式的选择 讲一下c++11的新特性 auto/decltype, bracket initialization, smart pointer, constexpr 等等 ordered_
1、为什么选择客户端这个,看你简历很多都是算法项目 2、inline的作用,有什么缺点 3、多态怎么实现的,虚函数指针、虚函数表中有什么东西 4、智能指针了解过吗,shared_ptr 存在什么问题,是不是线程安全的 5、C++面向对象的三大特点 6、动态链接库和静态链接库有什么区别,各自有什么好处,动态链接库有什么缺点 7、编译前端发生了什么,中级代码优化做了有哪些事情 8、你有遇到过内存泄漏吗
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 计算最小的距离总和 * @param distance int整型vector<vector<>> 学生到2个校区的距离 * @return int整型 */ int Calcul
(一面挂) 问项目 八股: 操作系统相关的 虚拟内存的作用? 用户态 内核态 怎么切换 分段式和分页式? b+树在操作系统里应用实例? 操作系统的调度算法 进程间如何通信 进程的几种状态 数据结构相关的 红黑树和平衡树的区别? 散列和二叉查找树 查找的区别? (问了很多树相关的 算法: 说一下lru用链表实现的思路(这个回答的一般 总体上来说 我感觉答出来70%吧,但很多说的不详细不精准 然后因为
(看了一大堆cpp的面经,真没想到这个部门用的是java啊,怪不得内存泄露虚函数stl是一点没问) 面试官首先是介绍了自己部门,然后让我做自我介绍。自我介绍完开始聊天。 先聊了操作系统,问线程和进程的区别,提示说线程和进程在内存分配上有什么区别, 之后又问线程安全问题,线程间在什么情况下会通信,如何实现同步,什么情况下线程不安全,提示了一下全局变量,问的很细很深,回答出一个点后会立即追着这个点往下
实习,做了啥,啥优化 grpc相关,忘记了 protobuf里面的哪些结构比较好,哪些对数据传输有帮助,他的特性 http哪些处理对传输有帮助,能加快传输,让你设计你怎么设计 http建立长连接的原理是什么,底层如何实现的,有哪些字段需要存储 304和503状态码啥含义 操作系统, x86和arm特性 复杂指令集和简单指令集区别 了解过一些分阶段编译的编译器吗,苹果谷歌开发的一些 共享存储区是如何
1、输入整数序列,输出k个最小的数 2、大整数相加(转字符串) 3、解释代码,常量指针相关 4、解释代码,类的继承
上海一家小公司,二面主程面,面的好难,挑一些有难度的吧 1.AB包的加载与AB包内资源的加载,AB包卸载资源会怎样,未卸载的资源会怎样,资源垃圾回收和代码垃圾回收有什么区别,资源什么时候垃圾回收 2.xlua与c#交互,为什么生成了warp函数,lua就可以调用对应的warp函数 3.字典实现原理,如何处理哈希碰撞,如何找到哈希碰撞的后key对应的值,entry内存储了什么 4.List会发生装箱
拷打实习经历,做了什么优化,优化了什么,比较深入 聊的挺开心的,但是2天后状态变成测评,kpi?还是招到了?可能技术栈不匹配吧
8月11号三面,目前还无HR面消息。面试时间40分钟左右,面试官是一个小姐姐,很漂亮! 主要是围绕项目来扩展,话题比较随意,对框架聊的比较多(可能是我说自己接触这些比较多) 面试内容如下: Android 常见OOM原因: 回答主要分为两类: 资源类型:图片,数据,资源太大 代码问题:内存泄漏,UI操作、Handler延迟任务太多,死循环等 说到内存泄漏,你开发使用过程中如何排查? Android
8个单选 6个多选 2个编程题 编程题不是很难 第一题是根据输入给定的分割方案,求出分割后的最大区域。 第二题是升序合并多个链表。
1. TCP和UDP区别 2. TCP怎么保证可靠传输 3. TCP拥塞控制做什么用 4. HTTP协议基于什么 5. HTTP和HTTPS 6. 客户机拿到了公钥和私钥全部吗 7. Java中的GC流程 8. 为什么要有分代收集 9. 哈希表 10. 数组和链表的区别 11. 数组和链表头部插入和尾部插入细说 12. Java中哈希表查找和插入的时间复杂度 13. 项目和实习 算法1:括号匹配,
10min 自我介绍 项目介绍 八股 35min c++ c 和 c++的区别 struct和class的区别(继承和权限) struct和class中有成员函数吗 进程和线程的区别 多线程要注意什么 用什么样的方式可以减少数据竞争 进程间通信 管道、信号量的实现方式和特性 有名管道和无名管道的区别 什么是线程的同步,什么是线程的异步,分别有什么样的使用场景 使用虚拟内存有什么样的优点 怎么建立虚
项目: 简单说一下,你对于它的接口的设计以及初始化这边的一个思路吗? 传统的标准库里的 Malloc 为什么没有去做多线程下性能优化的设计呢? 基础知识: 介绍stl容器(从底层实现划分,从功能上划分) map 的话,我希望随机访问其中某一个元素,我该怎么操作呢?有没有方法去对这种就是我要求的这样一个真正的随机访问操作进行一个设计,就是在允许一定的随机失败的角度考虑。就是我允许你有一定的几率随机是
大概40多分钟,深入地问了我的一些盲区,很多问题我都是瞎答的 1. 自我介绍 2. 你在做mit6.s081项目的时候遇到的最大的问题是什么?(被打断) 2.1 介绍一下内存管理部分的工作(被打断) 2.2 C++中不同的变量存在哪些区域 2.3 栈是怎么样的? 2.4 栈的大小是固定的吗? 2.5 多个线程都使用这一个栈吗? 2.6 每个线程释放后这个栈会被回收吗? 3. 100k的数据,分别用