安卓吗佬
点赞 1

相关推荐

05-09 18:22
已编辑
河海大学 C++
投完简历,做了测评,AI 面试都还没做。没想到星期一 4 点投完论文,早上十点多组会的时候就给我发腾讯客户端一面。C++ 八股左值和右值区别。突然问这么简单的一下有点懵,然后大概答了一下左值、将亡值、纯右值,然后强调了一下左值的所有权,转移时用 move。TCP 三次握手和四次挥手,简单说了下三次握手和四次挥手流程,提了一下捎带机制和挥手的时候发送剩余数据。智能指针。提了一下 shared_ptr,强调了应该优先用在所有权明确时优先 unique_ptr,顺带提到了 shared_ptr 存在的循环引用问题。追问怎么解决循环引用,回答 weak_ptr 以及shared_ptr 引用某个对象时所有权意味着主从关系,若 A、B 相互引用,造成析构时引用计数无法正确归零。然后解释 weak_ptr 是弱化的所有权,一方面起到观察作用,另一方面是引用控制块由于是智能指针共享的,其中的弱引用计数也起到了 RAII 的作用,可以让引用计数块正确析构。虚表是什么。有 virtual 函数的类就是虚类,类中除了自己定义的成员还有一个虚表指针指向虚表,表里面有虚函数入口地址和 RTTI 信息,RTTI 信息用于 dynamic_cast 的时候判断类型。追问虚类内存布局,举了个例子,对于一个没有成员的类,大小 1 字节(约定是这样),若其中包含了虚函数(特别提了一下成员函数不占用类的空间,全局一份),就会在类成员的基础上加上一个虚表指针,这时候类的大小是 8 字节(64 位),也就是一个指针的大小。还好之前有看过 LLVM 的 IR,对这个比较熟。知道哈希吗,怎么实现。通过一个哈希函数将一个大的集合映射到一个小的集合,实现 K-V 的存储,由于是大集合映射到小集合,所以存在哈希冲突。一般有线性探测、拉链、再次哈希的方案。STL 里哈希表是用的拉链 + 红黑树。追问红黑树。答曰红黑树是 AVL 的改进版本,AVL 要求左右子树高度差最大为 1,红黑树放宽了这个限制。由于怕拷打红黑树的操作,遂补充一句红黑树的插入删除时间太久没接触有点记不清了。进程和线程区别。进程是操作系统资源调度的单位,堆、文件句柄(描述符)等资源都托管在进程中,线程是操作系统调度的最小单位,本质是一个在 CPU 核心上运行的函数。由于这个问题过于简单,怕没有亮点,遂延伸到 Windows 的进线程模型是比较标准的,而 Linux 实际上并没有真正意义上的进线程,只有任务(task_struct),任务从行为上类似于线程,task_struct 中有 thread_struct 在上下文切换时存储 CPU 的通用寄存器值、段寄存器值等,此外还有一些额外的信息标识进线程组来贴合进线程的概念。然后又延伸到 Linux fork,fork 时仅 fork 一个 task,实际上并没有 fork 进程的所有线程,若在 fork 时其他 task 调用 malloc 等内部申请锁的函数会导致 fork 后的 task 死锁,因为其他的 task 已经不存在的,还提了一下 chrome 源码中的一些关于 fork 的注意事项。滔滔不绝讲了半天面试官说不要延伸太多。什么是线程同步。懵逼二度,不知道从哪里说起。和面试官确认了一下讲了数据竞争问题,mutex 是阻塞原语可以实现互斥访问,条件变量是同步原语,可以在某个条件不满足的时候阻塞,等到条件满足时由其他线程唤醒,比如生产者消费者问题。还提到了原子变量和内存屏障也能部分地实现同步,由于之前面试官说不要延伸,遂打住。项目相关:有一个操作系统内核实现(没问)还有一个几十个 stars 的游戏工具项目,主要是用在游戏里自动刷任务的,讲了一下项目架构。C++ 实现的控制器里面塞了个自己部署的深度学习模型做推理,判定状态后实时交给 Lua 执行器执行,Lua 执行器里封装了 Logitech G Hub API,由于标准库仅支持 string、math、table,缺少协程,遂用了一点 tricks 实现了简易协程用来在命令变更时切换任务。为了让用户使用方便还做了个前端。Skills 了解过吗。不了解,但知道 Agent,做过一些相关的横向、纵向研究,然后谈了一下 AI Agent 构建的一些流程。面试官说可以了解一下 Skills。算法。面试官挑了半天,给了一道 Leetcode hard 的并查集 Redundant Connection II,人直接炸了。撕了半天,面试官又给了一道(没看)说能做出来一个就行。由于第一道已经写了一点,遂继续尝试。写了半天,运行之后发现结果不对,感觉寄了。面试官说思路是对的,就直接让我过了(人也太好了)。反问。问客户端做什么,说是 QQ。正好了解过,就问 QQ NT 这个架构是怎么做跨平台的,几年前 Linux 根本没有 QQ 用,现在除了 Wayland 下面有点小问题,X11 基本体验上和 Windows 没区别。答曰 Electron.js 加上底层封装库。问底层封装是不是做成动态链接库给上层调用,答曰是,我附和说跟 vscode 有点像。日常实习,接不接受 base 深圳。之前投一堆简历都没啥动静,这会压根不挑了。---分割线---二面:问了我做的那个游戏工具项目,然后纯聊天,最后给了个链表去重。三面:让我讲了做的游戏工具项目,讲了二十多分钟,最后给了个 AI Coding。四面:随便问了一些基本情况、做的项目。问有没有了解过 harnessing engineering 等。---分割线---5.9 offer。
钦某:能看出来大佬很强
查看16道真题和解析
点赞 评论 收藏
分享
04-30 13:08
已编辑
广东工业大学 C++
先说下主包本身情况:cpp转码选手,bg广东某双非本,有一段四个月的xhs的客户端实习主包本身转码到现在也就是一年多一点的时间吧,去年这个时候依稀记得才刚开始学习C++的东西。去年刚学的时候,非常有自信,认为自己的水平一定能找到实习的。我觉得我学的还是很快的,那些基础知识也是熟悉的很。依稀记得去年找实习的时候,因为是年底,就只有字节和xhs的两个面试xhs倒是走运,给捞起来面过了;但是字节三面出的问题太恶心,仿佛注定了我后续面试字节的经历在xhs的一段经历其实也蛮开心的,但是一直纠结于方向的问题,确实是很不喜欢做移动端的事情,而且真的感觉自己在xhs的一段时间没学到什么东西,自己也没有说主动的了解,所以这段实习我感觉是很失败的。我感觉自己辜负了mt和ld的期待吧,4.1的时候就选择离职了,因为当时手上面试还有几个,觉得自己很快能找好下家的。没想到,我的找实习之路竟然如此波折:滴滴1次,字节5次,腾讯2次,美团1次,这些都挂完了,特别是昨晚面腾讯的时候,实习的东西被拷打的体无完肤,我面了10min我就大概知道结局了,出去后一看秒挂。但不知道是不是上天眷顾,有个还算大厂的游戏厂的服务端面试过了。目前已OC,决定去这里了。也有了解过,游戏后端的发展可能不好,但是流程只剩下tme移动端的了,确实是不想被钉死在移动端上。游戏后端好歹也是服务端思想,也许还有一线生机。如果真的去做移动端了,我可能这辈子就只能去做移动端了...也做好了第一份工作结束后就转行的打算了,这个世道代码能写几年就写几年吧也非常感谢这个公司给我机会让我暑期实习有去处,接下来就是51休整一下准备节后入职了
点赞 评论 收藏
分享
04-29 16:04
已编辑
门头沟学院 Java
战线拖的有点长,总共有四轮面试,3轮技术面+hr面,许愿offer🙏🏻🙏🏻🙏🏻timeline3.18投递4.10笔试4.13 一面4.15 二面4.22 三面4.29 hr面一面(40min 开摄像头)0.自我介绍1.实习经历拷打2.场景题,大数据量导入导出,涉及重试机制,补偿机制等等3.和实习相关的场景题4.反问(面完秒变复试)二面(1h10min 纯压力面 开摄像头)0.自我介绍1.实习经历拷打,对实习经历提出四个问题,围绕这个四个问题解释以及优化2.MVCC (看我会直接打断跳过)3.MySQL事务隔离级别(打断跳过)4.Linux查看端口号netstat 操作系统底层是如何做的5.timewait是啥,出现大量timewait是啥原因,以及如何解决,操作系统层面是如何解决的6.大数据量导出底层sql语句是怎么做的,采用覆盖索引+子查询不对吧,为什么不能用limit7.redis的持久化机制(打断跳过)8.tls四次握手过程,采用的是什么加密方式,如果客户端一直没拿到服务端发送过来的数字证书会发生什么。9.为什么三次握手,不用两次握手10.反问(面完以为G了)三面(总监面 50min 开摄像头)1.实习经历介绍及拷打2.实习地点以及有没有offer3.实习最大收获4.redis,从redis作用,为什么快,集群,主从复制,持久化机制,淘汰策略和删除策略,一个分布式系统里如何找到指定的redis单机等等5.操作系统中的内核态和用户态区别6.反问hr面(20min,开摄像头)0.介绍公司组成以及多久给结果1.介绍实习经历的收获2.自己具有的竞争性3.有没有其他的offer4.有没有亲戚在腾讯5.实习多久以及对公司的期望6.薪资待遇许愿offer🙏🏻🙏🏻🙏🏻
查看24道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务