【一二三面经】腾讯CSIG-客户端岗

RT,LZ现在已经是最后的HR面流程了。貌似CSIG的小伙伴很多都是还没约时间,或者约了18号DDL前最后一天面,估计HR得忙死...LZ是还没约时间的那批,希望能早点约HR面,早日进入“已完成”!!许愿!因此也发个面经,攒攒RP。

讲讲LZ的背景,简历上都是机器学习方向的的经历,为了逃避竞争投了后端开发,结果被客户端的捞了🤣 也算是一波三折。不过我想着实习也就是多见识一下,具体做什么并不很有所谓吧,所以也挺期待去做客户端。再加上我投得晚,别的地方都还在慢悠悠一面,就腾讯因为DDL的压力疯狂面试,所以明明我TX投得最晚,结果反而是最先面完...

可能我是个非典型例子吧,因为我对客户端几乎是0经验,最开始被捞的时候,我和面试官反复强调这一点,他一直说没事,只看基础,结果三面的面试官真的全部在深挖基础。手里有项目的同学,可能面试的画风会和我不太一样。不过从我的经历里应该可以看到如果面试官想挖基础,会问哪些问题。

一面二面 4月16号

一面二面重合很大,因此放在一起说了。一个在4月16号下午,一个在4月16号晚上

  1. 实现类似词典的O(1)查找——哈希表、哈希表的原理
  2. 哈希表碰撞怎么办?(再探测有什么问题?链表法有什么问题?)我还说了再哈希,结果面试官硬要我说一个查找方式,那就二分(唐突转换话题)
  3. 二分查找的时间复杂度、二叉搜索树的时间复杂度、最坏的情况、解决的方法(AVL)。面试官还想问红黑树,连忙说不会
  4. 计网老问题。TCP三次握手四次挥手、TCP和UDP区别、HTTP协议的状态码、从输入url到显示网页,TCP的滑动窗口、拥塞控制......总之是面经里出烂的网络题。
  5. OS老问题,进程线程的区别,堆和栈的区别,虚拟地址的意义、虚拟地址的实现、页面调度、缺页中断...
  6. 快排、快排的思想、时间复杂度、最坏的情况
  7. 代码题——链表快排,从0开始做(提醒老刷leetcode的同学,这种基本的东西别搞忘了...)
    感觉总结了一轮下来,还有些遗漏...但是确实,只是面基础的话,真的都是面经里老生常谈的东西。略水。

三面 4月17号11:00

三面是真的让我感觉到冒汗的面试。这个真不是背能应付的了

  1. 自我介绍、讲解项目(我讲了一个学校里自己做的小编译器和一个玩具文件系统)
  2. 对文件系统,讲解下具体原理。比如文件名放在哪、文件大小不一样怎么储存(inode的索引)、块和inode的分配等。我还提了一嘴Windows的FAT32.
  3. 做过面向对象吗?聊聊面向对象的概念、意义、适用场景。(第一次被问崩,之前感觉网上提的那些封装、继承之类的很有道理,自己在做的时候也有感觉,结果面试官跟我说都不对,封装的话C也有封装,然后继承的话其实并不可靠云云,大多数情况下都是自己推翻重写?这里我也没搞懂他是什么意思)
  4. 上一题勉强答了个GUI。开始问GUI。我之前做过pyqt,他就开始问pyqt,比如onclick是怎么实现绑定函数的,然后从按下鼠标到窗口响应经历了哪些过程?GUI是怎么管理那么多窗口和控件的?(引导下答出了多叉树,此前是真的没关注过这个)
  5. TCP,三次握手为什么?然后开始细问TCP流量控制,如果我想要尽可能多占流量,需要对TCP做什么样的改进?我说那还不如用UDP,如果能容忍丢包,例如视频会议,结果惨遭面试官怒斥,说视频丢包问题很大...本来想反驳,后来一想这面试官就是做流媒体的,不敢说了,虚心接受教育,最后提了下把拥塞控制的提升速度改得更激进,降低速度改得更慢之类。
  6. 场景题。百万级单词,要求常数级查询效率。先问了能否允许小概率把不存在判断为存在,回答不允许,排除布隆过滤器。然后那就是分桶然后桶内哈希了。
  7. 又开始聊哈希,哈希的原理,为什么哈希能O(1)?(线性表连续寻址)。好那线性表在实际物理内存中是连续的吗?然后又开始聊虚拟地址和物理地址的好处了。
  8. 继续上面的,刚刚说减少内存碎片。那页式结构减少了外部碎片,但是内部也会有碎片,怎么办?这个最后扯了一点优化堆的块的分割和分块策略云云。具体的真没答上来,面试官没深究。
  9. 算法题,过滤字符串里的多余空格。算法写出来了,忘了字符串常量不能直接修改,丢人。在那调试段错误调试到结束,结果一结束就想起来这回事了。
  10. 要我注意接听HR电话,说最近巨忙,可能会12点打...

上面就是我的非典型面试经历,全程考基础和业务上运用知识的能力。本来三面觉得凉了的,结果很快进入HR面了。目前(18号0点)依然在等待约时间,再次祈祷HR面早约早拿offer!

#腾讯实习##腾讯##实习##面经##算法工程师#
全部评论
已经约了下午三点半,还愿
点赞 回复 分享
发布于 2020-04-18 13:18
兄弟 三面我们肯定是同一个面试官 除了那个算法题 单词查询和虚拟内存物理内存问的都是一模一样
点赞 回复 分享
发布于 2020-04-18 11:37
厉害
点赞 回复 分享
发布于 2020-04-18 11:05
现在还没约😂
点赞 回复 分享
发布于 2020-04-18 08:51

相关推荐

腾讯teg-后端 一面 2025/03/191h40min- 2道算法题:  - 只有012的数组按012的顺序摆放(不使用代码库的排序函数)面试官希望不使用排序的思路  - lc442 数组中重复的数,O1空间,On时间  - 第二题做不出来,换成:最长不重复子串(a了)- 八股(计网、mysql、操作系统、数据结构)拷打  - 两端建立通信,客户端抓包可以抓到哪些包  - linux    - dmesg    - ps、pidstat    - 系统oom,查日志    - 查某个程序运行在哪个目录    - strace  - dma是    - DMA(Direct Memory Access,直接内存访问) 是计算机系统中一种高效的数据传输技术,允许外部设备(如硬盘、网卡、显卡等)直接与内存(RAM)交换数据,而无需通过 CPU 的介入。这种方式大幅降低了 CPU 的负担,提升了系统整体性能。  - 线程、协程;协程共享线程的寄存器吗、线程共享进程的哪些东西、进程如何切换  - 系统调用  - 数据结构 哈希表,发生冲突怎么办  - go程序发生内存泄露怎么排查  - go的make、gmp的worker steal、全局G队列  - 什么时候选择多线程执行、什么时候选择单线程  - tcp的keepalive和http的keepalive、tcp保活机制、接受到历史请求怎么处理  - 对大模型的看法  - 说说项目里的h264解码同程旅行-后端 一面 2025/03/2050min(无算法,俩面试官)- 主要是聊项目、实习的产出  - 音视频这个项目主要做了什么,作为组长负责了啥  - OTEL sdk怎么用的,里面有什么属性,怎么上报的  - 基于项目背景,问了一些sql怎么写- linux的命令  - 查看网络连接  - 查看某个端口属于哪个程序  - 查某个端口的连接处于什么状态- tcp四次挥手- http的结构- 实习公司内部框架,微服务项目结构等等- sql注入  - 检验  - orm层:mybatis 参数化查询- 个人未来三年规划腾讯teg-后端 二面 2025/03/241h13min- 面试官介绍了6~8分钟部门负责的内容(服务流量上亿)- 三题:  - 查TCP的长连接 和 监听的端口(netstat 的-p表示啥)  - 最长不重复子串  - 由三种括号组成的字符串,判断合法性,有优先级:{>[>(- go的context概念?场景?被调用方怎么知道ctx超时结束了?(select {<-ctx.Done()} )- mysql的gap lock概念?场景?- mysql,只有主键索引,查询时使用其他字段去查询的话,是怎么解决一致性问题的?(MVCC)- 口述执行细节:无序链表变成有序。(一开始说了冒泡算法,后面想起了自底向上的归并排序)- tcp三次握手中第二次握手丢失会怎么样?- 客户端发送第三次握手(丢失)后,又发送数据包,会怎么样?  - https://zhuanlan.zhihu.com/p/706132932  - 客户端没有发数据包:ACK 报文是不会有重传的,当 ACK 丢失了,就由对方重传对应的报文  - 客户端有发数据包:在第三次握手中的ACK报文段,根据RFC 793,是可以携带数据的。这是因为此时连接已经基本建立,客户端可以开始发送应用数据,而不需要额外的往返时间(RTT)。除了最初的连接建立请求(SYN报文段)之外,TCP规定所有其他报文段,包括数据传输报文段和连接关闭报文段,都应该将ACK标志位设置为1。可以看到,客户端发送的这个数据包,它也会把ACK标志置为1,那么服务端就可以把这个数据包当做是ack确认包从而建立连接。- 实习期间遇到的最大难点,如何解决- 团队协作遇到的难点- 反问:自适应限流算法常用吗?比较理想,计算有延后性,像一些吞吐量大、敏感的场景就用不上,最常用的还是简单的限流算法,比如平等地按比例限流。腾讯-后端 三面 2025/03/2740min- 简单自我介绍- 实习里最有难点的地方。(就是比较难实现的点)- 负载均衡算法,一致性哈希算法扩缩容- 从文件系统中读取后修改,再通过socket发送网络,里面涉及了几次数据拷贝  - 底层怎么做?(sendfile)零拷贝,mmap是什么?(mmap+write:使用mmap代替read,减少一次CPU拷贝,节省一半的内存空间)  - mmap实现零拷贝_mmap 零拷贝-CSDN博客- 多副本怎么保证一致性?(只知道redis的redlock)了解强一致性算法吗?- 设计题:一个微博系统,类似发个朋友圈,需要什么结构存储这种文章列表?大v这种,有大量的粉丝,怎么设计?(单用消息队列缓解写压力还不够,可以给每个人维护自己的大v列表,查完普通朋友的文章再另外去看大v有没有发文章,这样大v就不用往大量粉丝的文章列表里一直写入)- 服务怎么保证高可用?(说了很多事后解决方案)说一下预防的手段、除了组件内部自身的高可用,自己能做的有哪些,负载均衡在哪一方做的,自动计算权重的吗?(我们要传入接口耗时等数据,然后负载均衡再计算)- 最近学习的新技术?平时如何学习一个新的技术?看什么公众号、网站学习的?腾讯研发管理部-后端 HR面 2025/03/2825min- 面试前发了云证- 聊项目遇到的难点,有没有失败过的项目- 对于工作看重哪些地方- 要不要回学校搞毕设什么的- 反问
点赞 评论 收藏
分享
评论
2
39
分享

创作者周榜

更多
牛客网
牛客企业服务