腾讯后端面试经验

2023-05-16

终于等来腾讯的面试。

4.3号 机试

机试包括选择(30多)、简答(2题)、编程(2)。选择和简答编程分别一小时,选择题考的比较广,概率、Linux 、操作系统、网络等各个方面,
自我感觉比牛客网题有深度和难度,不是那种一看就知道结果的问题,而且都是多选题(这点比较坑),
从面试的整体过来来看,无论笔试还是面试腾讯都注重广度和深度,也就是技术实力。

4.12

接到13号面试的通知,地点安排在某星级酒店,逼格甚高,承包一个宴会厅,面试官在不同的楼层房间里,标间。
腾讯面试官给我的感觉是不像码农的技术码农,穿着时尚,非标准工科男形象,由于我是第一个面试,可能时间比较久,持续一个小时时间。
进门以后,面试官把简历整体扫描一遍,接着开始面试,首先从c++语言特性问题,
一问你对c++的语言特性有怎样的认识,balaba一堆,
二问多态特性有什么用?有没有用过多态特性,
三问多态怎么实现的?
四问虚函数是怎么实现的?
五问虚函数指针有几个?
六问虚函数表存在哪里?
七问有没有遇到过使用虚函数程序宕掉的情况?为什么宕机?
八问memset初始化类对象会出现什么情况?
九问如何调试程序?有没有使用过core文件调试程序?
十问什么情况下引起程序宕机?
十一问对于大型程序,正在运行,且不可停止检错,有个逻辑错误,运行几万次才会复现一次,怎么找出这个逻辑错误?
十二问设计模式几个原则是什么意思?
十三问网络通信TCP UDP 如何选择?
十四问TCP出现粘包怎么处理?自己使用中有没有出现过粘包的现象?
十五问多线程编程如何进行分线程?
十六问网络编程模型区别
十七问如何学习的?看过哪些书?通过什么途径学习?
十八问平时逛什么论坛?
十九问现场手写代码
二十问逻辑推理题。
整体面试下来,感觉面试官技术很深入(面试官很年轻),有些东西会的不一定能说上来,不会的更是不可能说上来,知识的深度和广度同样重要。
在这里强调一点是,当时面试设计模式问到里氏替换原则,我的答案回答正确,但是面试官突然一句是不是说反了?在当时的环境本能反应肯定会认同他说的是对的,面试官一笑而过,
但是后来出来以后,证明我是对的,我意识到当时是不是故意的提出疑问,考验我的扎实程度。
还是一个自己挖的坑,最终把自己埋了的事情是,为了”强调”自己的自学能力,作死提出自己不是科班出身,然后就被面试官抓住把柄,一脸嫌弃的说才学两年编程?

4.14 复试

初试整个一个小时下来,感觉基础知识自己回答的还算不错,但涉及到linux系统大型程序调试经验时还是有所欠缺,特别最后一作,感觉应该与复试无关,但13号晚接到复试通知,
至此,已经心满意足,感觉已经赚到,复试还是原来的酒店,只是人数明显少了,换了一个很小的宴会厅。因为许多同学初试都会被问到项目,而我初试没有问到项目,多次往项目上扯,
都被面试官无情的扯回来,所以在前一天很充分准备了项目经验,然而,,,事实是:
来到面试官房间,也是一个看起来很年轻的面试官,但能感觉到技术气息很浓厚,坐下来以后,递交简历(其实初面面试官的材料他手里都有,包括我的简历),一上来又是基础,
(此处是重点)多态是什么?虚函数表存在哪里?(是不是很熟悉?对,初试时候没有完全答对的问题,又被问了一遍,其实我有点心虚,回去以后我并没有针对这个问题做总结,所以长点心吧)
上次答案是错的,那么这次简单分析一下换一个答案,证明是对的,接下来又问,内存中有几份虚函数表?怎么分布的?懵逼状态勉强回复,二问,客户端往服务器端连续发送10个包,每个包100字节,
服务器端读取一次,问读到多少字节?为什么?这个问题同样是对初试十四问的实际例子。接下来就是噩耗,三问逻辑题,(智商跟不上啊),纸牌类游戏(后来从下一环节的面试知道,面试我的面试官是做游戏开发的,也就是说我应该是被分到腾讯游戏了)
A,B两个玩家
A、B的牌面都是 3 4 5 66 77 88
规则是 斗地主规则一样,但是 对子不能拆开单出,A先出,问什么策略可以保证A稳赢?给出策略。
博弈论?马尔科夫链?心中一万种猜想,面试官倒是很耐心的,说这是逻辑题,提示A的行为都会导致B产生相应的行为?而B的行为又直接导致A的输赢?结果是退到二十分钟也没有推倒出来,现在想想应该是马尔科夫链问题,但是至今不知道答案是什么?
说实话此时有点紧张,面试官安慰说,没关系的,很少人能推倒出答案。四问,源码!!!源码!!!接下来面试官递给我笔记本电脑,展示一段代码,没用过的电脑,没用过的IDE,简单教我几个操作,
然后说,这里是一个完整的工程(这句话有两个含义: 一,这个工程文件是完整的,可以编译运行的,二是 代码量真的是超级大),这里是主函数,你来阅读源码,并尽可能的告诉有更多的信息.
接下来就是一段沉寂,面试官就坐在旁边看着你,而你在看着源码,时不时内心还要注意面试官的举动,加上上一个问题没有回答上来,可想当时的压力有多大,看了二十分钟后,
简单汇报自己的结果,实现的功能应该是游戏换场景的功能,其中是各种综合,单例模式、命令模式、观察者模式,类模板,继承、多态、函数指针 嵌套使用。接下来继续问,指了一个语句,(函数指针调用函数),问这个函数最终执行到哪里?
上一个问题的回答面试官并没有给出明确的对错,心里很是没有底,然后这个问题已经忘我状态(脑袋完全没有一点逻辑可言),然后就按部就班的一步步向下走,最终死胡同是进入到类模板中,此类模板又继承自一个类,
然后进行不下去,面试官倒是很好,在这过程中一直很耐心的给提示给指导,给出提示找到这个类模板的一个实现就找到结果了,再一次提示所有的源码都在这个工程里(这个提示很重要,然而我并没有意识到),就这样持续了很久,无疾而终,
面试大概持续一个小时20分钟,面试结束,自己的面试表现能知道肯定没戏,就让面试官给个评价,很中肯,基础不错很扎实,但是阅读代码能力很欠缺,尤其复杂的代码没有一个完整的思路,需要加强。最后谢谢面试官的指导,离开。
出来以后才发现问题的关键所在,面试官一再提醒这是个完整的工程,也就是说可以编译运行调试的,其实当时最简单的方式是设置断点,单步执行,是肯定可以找到程序运行到哪里的,这也算是一个教训。
总结:
1.面试的失利终归是自身实力不够,平时阅读代码量太少,其实面试官已经做了很大的指导。
2.心理素质太差,遇到一个不会的问题容易慌张,终究是太看重这个面试,面试其他XX公司时,完全抱着学习的态度去,反而表现的很好,所以心态要端正。
3.针对面试岗位准备相应的技能,一面面试官给的建议,报后台就一定要会多线程、linux、网络编程。
4.基础一定要扎实、深入,知其然知其所以然。
5.非典型互联网公司注重你的是业务能力,也就是看重你整个系统实现的思路,并不看重你对某一技术特别的深入,只要你会用,而且基本原理知道;互联网公司看重你的技术深度,因为在大系统中每个人都是一颗螺丝钉,干着自己的精通的工作。
至此,止步。有失落,但没有难过。纵是烟雾缭绕,我必奋然前行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

腾讯后端面试经验 的相关文章

  • Turtlebot 3 rplidar bringup

    Turtlebot 3上安装rplidar A1驱动并配置相关的sh及launch文件 xff0c 实现SBC端的bringup xff0c 以及PC上的rviz Turtlebot 3默认的雷达是HLS Hitachi LG Sensor
  • LiDAR 1 基础

    激光的形成过程 xff1a 原子内的电子有低能量状态和高能量状态 xff0c 低能量电子吸收能量进入高能量活跃态 xff0c 恢复低能量时发射光子 通过高电压在谐振腔内触发激光 不同的介质可以触发不同频段的激光 激光雷达使用的是红外波段的非
  • LiDAR 4 固态激光雷达 (Flash LiDAR)

    固态激光雷达分为Flash LiDAR和OPA Optical Phased Array LiDAR xff0c Flash LiDAR是非扫描式的 xff0c OPA LiDAR 是扫描式的 Flash LiDAR的发射光源和接收部件都是
  • LiDAR 5 相控阵激光雷达 (OPA LiDAR)

    OPA LiDAR相控阵激光雷达的技术核心是OPA scanner Quanergy S3激光雷达Transmitter OPA xff1a Leddar Tech OPA LiDAR模块 xff1a 相控阵Phase array实现方式
  • LiDAR 6 FMCW

    FMCW是TOF之外的另一种方式 xff0c 利用光波的调频实现目标的探测 光的波粒二象性 多普勒效应 系统架构 当系统的复杂程度上升后 xff0c 能够采集到的信息也更多 xff0c 包括距离和速度 采用OPA扫描的FMCW激光雷达设计
  • LiDAR 7 消费电子3D应用

    消费电子3D应用 Depth Camera xff0c AR Glass xff0c 类似 Microsoft Azure Kinect xff0c Intel RealSense xff0c iPhone iPad 等产品 Microso
  • LiDAR 8 激光雷达行业

    激光雷达应用的领域特别广泛 xff0c 在无人驾驶上的应用受到很大的关注 全球汽车领域激光雷达的厂商 xff0c 生态链厂商 xff0c 相信激光雷达在产品和技术上的发展还会有很广阔的天地
  • FOC - SVPWM

    FOC vector control 电机矢量控制FOC通过转子坐标系的转换 xff0c 实现动态电流控制 实现的几个环节 xff0c 相电流phase current gt Park Ialpha Ibeta gt Clarke Iq I
  • STL- 容器特点总结

    关于 STL1 序列式容器2 关联式容器3 容器适配器 关于 STL STL即标准模板库 xff08 Standard Template Library xff09 STL包含 6大组件 43 13个头文件 六大组件 xff1a 容器 算法
  • C++ 迭代器失效 ++报错

    迭代器失效 xff0c 迭代器 43 43 报错 Program terminated with signal SIGSEGV Segmentation fault 0 0x00007f5a4be6ffb4 in std Rb tree i
  • 将.bib转换内容为bibitem(bbl)格式

    部分期刊要求使用一些小众的参考文献格式 xff0c 或者不允许使用biblatex包 xff08 不兼容 xff09 xff0c 这是就需要将 bib里的参考文献转成bibitemx并放在 tex文件的末尾 Latex排版引用问题 xff1
  • 杰卡德相似系数(Jaccardsimilarity coefficient)

    xff08 1 xff09 杰卡德相似系数 两个集合A和B交集元素的个数在A B并集中所占的比例 xff0c 称为这两个集合的杰卡德系数 xff0c 用符号 J A B 表示 杰卡德相似系数是衡量两个集合相似度的一种指标 xff08 余弦距
  • argmax()函数和max()函数区别

    是求f x 的最大值 是求x的最大值 举个列子 xff1a 设 当x 61 2时 xff0c f x 最大 xff0c argmax f x xff09 就是使f x 值最大的那个自变量
  • Python 优先级队列PriorityQueue 用法示例

    优先队列 xff08 PriorityQueue xff09 是队列的变体 xff0c 按优先级顺序 xff08 最低优先 xff09 检索打开的条目 条目通常是以下格式的元组 xff1a 插入格式 xff1a q put priority
  • Python 优先级字典SortedDict 用法实例

    安装 sudo pip install sortedcontainers 默认为增序 用法示例 coding utf 8 导入模块库 from sortedcontainers import SortedDict 初始化 sorted di
  • python SortedDict 遍历删除 不对

    topLevel 61 SortedDict neg 从大到小排序 for priority Id in topLevel items print 34 topLevel1 34 topLevel 将Id从topLevel中删除 topLe
  • Python字典遍历 未遍历所有元素

    不能在遍历的时候往字典中新增 删除元素 xff01 xff01 xff01 下面是我的python脚本 xff0c 它需要遍历所有具有逻辑路径和直接磁盘的物理磁盘 如果我们找到了任何逻辑路径 xff0c 那么我们得到了相应的物理磁盘 xff
  • 以太坊 事务ID txID transaction ID transaction hash怎么计算

    The transaction can then be sent to the network and will be tracked by a 256 bit transaction id This transaction can be
  • 比特币 事务ID txID transaction hash怎么计算

    A TXID Transaction ID is basically an identification number for a bitcoin transaction A TXID is always 32 bytes 64 chara
  • 使用Android studio开发jni,并实现单步调试c/c++代码

    一 环境搭建 本文讲解的是在一个现有的工程中增加JNI的支持 我们从新建一个工程说起 xff0c 本文假设你已经知道怎么设置sdk和ndk 新建工程的时候我们故意不勾选这个选项 xff0c 方便后面说明 一直默认点下一步 xff0c 直到工

随机推荐

  • 以太坊 分片是什么

    Ethereum Sharding An Introduction to Blockchain Sharding Alchemy Team May 18 2022 For years the question of blockchain s
  • 跨链桥——原子交换(Atomic Swaps),哈希时间锁(HTLC) 原理介绍

    什么是原子交换 xff1f xff08 Atomic swaps xff09 跨链原子交换 xff08 Atomic swaps xff09 是在两个平行链之间直接交换不同的加密货币的方法 就像用美元兑换人民币一样 xff0c 这是一个过程
  • OR-Tools|带你了解谷歌开源优化工具(Google Optimization Tools)

    转眼间暑假已经过去一大半了 xff0c 大家有没有度过一个充实的假期呢 xff1f 小编这两天可忙了 xff0c boss突然说发现了一个很有趣的开源求解器 xff1a OR Tools 经过一番了解 xff0c 小编发现它对于为解决优化问
  • 最小费用流 求解

    增广路径 匈牙利算法 二分图 https blog csdn net qq 37457202 article details 80161274 增广路径取反 xff1a 增广路上的边性质改变 xff0c 连上的变为可以连的 xff0c 可以
  • 区块链DAPP开发 以太坊智能合约框架有哪些

    一 truffle xff08 JavaScript xff09 Truffle 是一个在以太坊进行 DApp 开发的世界级开发环境 测试框架 使用 Truffle 开发有一以下优点 xff1a 内置智能合约编译 xff0c 链接 xff0
  • 区块链DAPP开发 智能合约开发工具IDE有哪些

    Remix http remix ethereum org ChainIDE https chainide cn zh CN ChainIDE提供云端编译功能 xff0c 无需繁琐的安装设置 xff0c 加速开发迭代速度 ChainIDE提
  • NFT和数字藏品的区别

    来源 xff1a 德勤 Web3 0模式分析及中国应用创新探索
  • Pycharm 增加 run 控制台缓冲行数

    找到 pycharm 安装目录的 bin 目录下 idea properties 文件 xff0c 修改 idea cycle buffer 值 xff0c 原来默认为 1024
  • python 类的定义一定要注意静态变量

    class A 静态变量 a 61 12 def init self a 成员变量 self a 61 a 静态变量通过 类名 变量名 来访问 print A a 12 成员变量通过 对象 变量名 访问的 print A 0 a 0 cla
  • python open按行读取txt 去掉\n

    加 strip 39 n 39
  • OOQP安装指南

    文章目录 1 OOQP的github链接 xff1a 2 准备工作 xff1a 3 安装OOQP xff1a 4 简单使用 xff1a 1 OOQP的github链接 xff1a ompl的官网网址为 xff1a https github
  • 海康摄像头实时显示与字符叠加详解

    1 说明 文章详细叙述了海康摄像头的两种实时显示方法 基于SDK 解码显示和基于数据流回调显示 xff0c 并且讲述了这在两种显示方法下如何往画面添加字符和图像 xff0c 最后比较了这两种方法的优劣 文章全程给以详细的程序说明 xff0c
  • Proto3序列化协议

    Proto3序列化协议 简介 对于互联网应用来说 xff0c 客户端 客户端 客户端 服务端之间需要数据的交互 xff0c 其数据传输是二进制流的方式在互联网上传输 xff0c 因为需要一种手段将数据对象编码为一种可以在网络上传输的二进制流
  • 一文读懂数据库分库分表

    阅读此文你将了解 xff1a 什么是分库分表以及为什么分库分表如何分库分表分库分表常见几种方式以及优缺点如何选择分库分表的方式 数据库常见优化方案 对于后端程序员来说 xff0c 绕不开数据库的使用与方案选型 xff0c 那么随着业务规模的
  • 从操作系统漫谈GOLang GPM模型

    前言 本文从操作系统谈起 xff0c 简单介绍操作系统基本知识 xff0c 引出进程 线程调度的基本原理和基本模型 xff0c 然后从0到1设计Golang调度器 xff0c 通过方案的逐步演进升级 xff0c 可以了解到GPM模型设计理念
  • 卡尔曼滤波经典讲解,C++算法实现

    请移步跳转文章排版更加清晰 在学习卡尔曼滤波器之前 xff0c 首先看看为什么叫 卡尔曼 跟其他著名的理论 xff08 例如傅立叶变换 xff0c 泰勒级数等等 xff09 一样 xff0c 卡尔曼也是一个人的名字 xff0c 而跟他们不同
  • 解决linux不能安装g++问题

    问题描述 xff1a Ubuntu如何通过重新安装G 43 43 编译器 xff0c 修复不能安装使用g 43 43 的问题 我刚安装的Ubuntu 14 10的g 43 43 编译器不能使用 xff0c 用sudo apt get ins
  • MySQL系列之源码浅析

    源码才是王道 真正的高手从来不是临场发挥 xff0c 随机应变是外人看来的错觉 1 主函数sql mysqld cc中 xff0c 代码如下 xff1a span class hljs keyword int span main span
  • 卡尔曼算法精讲与C++实现

    在学习卡尔曼滤波器之前 xff0c 首先看看为什么叫 卡尔曼 跟其他著名的理论 xff08 例如傅立叶变换 xff0c 泰勒级数等等 xff09 一样 xff0c 卡尔曼也是一个人的名字 xff0c 而跟他们不同的是 xff0c 他是个现代
  • 腾讯后端面试经验

    终于等来腾讯的面试 4 3号 机试 机试包括选择 xff08 30多 xff09 简答 xff08 2题 xff09 编程 xff08 2 xff09 选择和简答编程分别一小时 xff0c 选择题考的比较广 xff0c 概率 Linux 操