编程导航腾讯云智话题讨论

腾讯云智

12 参与
分享

快来分享你的内容吧~

点击登录,快来和大家讨论吧~
表情
图片
话题
打卡
综合
交流
文章
问答

被面试官锤醒后,我才真正开始准备 | 明天腾讯云智实习面,求最后一波冲刺建议!

**还是先谢过各位老爷点进来看。** 我是武汉某二本软件工程大三狗,Java方向。说句实话,从5月初开始找实习,找得我有点怀疑人生——尤其在武汉这个“互联网坟场”里。面了不少小厂,线上线下都有,偶尔有点机会,但总是无疾而终。 第一个面试是个常出差的,虽然在武汉上班是965,但一出差就变996,一跑就是一个月起步。我直接没去二面。后面面的一些小厂,要么没消息,要么面试聊着聊着感觉就凉了。 我开始怀疑是不是自己太菜了,菜的很全面啊。 但我不服,我不能接受自己“菜”这个结论。 于是我开始**狂刷八股文**,**每一场面试我都录音+复盘**,分析自己到底哪一步出错了。这两周面得多了,也有点总结想分享一下。 ## 一些思考 ### 01 | 底子不硬,一锤就碎 你可能听腻了“基础重要”这种废话,但我还是要讲。真的很重要。 我面试这么多场,面试官基本没问什么高大上的东西,MVCC、线程池、JVM啥的,几乎没涉及。也许是看我简历一坨史,怕问了直接当场去世,也可能都是小厂。但有一场问了个异常处理的小题,`try-catch-finally` 的执行顺序,加入了一个文件写入的场景,我回答地还行,但也意识到一件事: **JavaSE 一定得系统学,有结构的学。** 什么集合、并发、异常、I/O、反射,不只是会用,更要**成体系地理解**,否则就是背八股,一问场景就暴露。 ### 02 | 会不会表达,直接决定你能不能进下一轮 也就是表达的逻辑能力,我吃过亏,脑子里一定要知道自己在讲什么有一场问 `ArrayList` 和 `LinkedList` 的区别,我开始背底层结构,什动摇数组,链表啊,性能啊...,然后面试官问我项目中有没有用到ArrayList转换成数组的场景,然后讲到一半脑袋宕机,空白。 其实回头一想,这种题除了讲原理,更应该讲**场景**。你项目中用过吗?你怎么用的?哪种结构适合哪种需求?你讲这些比“ArrayList底层是数组”更打动人。 如果项目中没用过?编!真的编一个合理的场景也比干讲八股强一百倍。 ### 03 | 原理 + 场景 + 项目结合 = 面试黄金表达公式 懂原理 + 能落地 在第二点提前讲了一些,但是这里想说的更加详细一些,第一次面试的时候问我java的三大特性,我张口就来,面向对象啊,封装啊,多态啊,继承啊....,然后他问项目有哪些用到了这些特性,笑了我能说哪哪都用到了吗,然后思考了一些就说 MyBatis-Plus 的分页查询用到了 Java 的继承特性,还有一些实体类,用了封装 Service 层 将复杂的业务逻辑封装在 service 方法中,对外只暴露一个接口 还好哥们反应快,不然真有可能就G了,也可能是太菜了,没学的透彻,,纸上谈兵没用,你得能把原理落地到项目场景里,不然就是背书小学生。回去我问了也在找java实习的同学,他没回答上来,md也是一个菜B...... 反思了应该是自己的学习方式有问题,死学习了,要去复盘面试、系统补课、练习表达、整理知识框架,每天都像在补偿之前浪费的时间。我认为这就是和哪些牛B同学拉开距离的本质,再加上别人比你会卷,我靠,比你会学还比你卷,拿什么和他们拼,拿命吗,不被优化谁被优化,好在不太晚怎么说也是有些东西在身上的,这段时间脑子乱乱的需要整理思考的东西,好好思考去实践自己的想法 ## 明天要面腾讯云智,真的有点慌 但是话又说回来,明天要面腾讯云智有点紧张了,我寻思着我着简历放面试官电脑里都嫌多了一坨史,还能过腾讯的简历啊后面了解了才知道 武汉腾讯云智是腾讯云的一个重要组成部分,它**并不是传统意义上的外包公司** ,我去这个已经是哥们面试最屌的公司了,带个腾讯的,今晚狠狠的突击一下,把面试鸭刷穿,搏 要是你也经历过这种迷茫和锤醒,欢迎来评论区交流;要是你面过腾讯云智,求分享一手面经; 这是我的简历还请大佬们狠狠“羞辱”我 ![微信图片_20250605214845.jpg](https://pic.code-nav.cn/post_picture/1742363828022181889/svISmOQmc60j18BN.webp) ![微信图片_20250605214937.jpg](https://pic.code-nav.cn/post_picture/1742363828022181889/IAN721AC1JTU4zvx.webp)

腾讯云智Timeline

4.23 投递简历 5.7 笔试 5.15 一面 当天更新状态 5.20 二面 当天更新状态 5.21 三面(HR面) 5.23 OC ### 一面 一面完感觉自己要挂了,问的场景题居多,而且感觉面试官心情不太好,声音低沉,但最后给过了。 **1.如果让你插入100万的数据,选择什么数据结构比较好一点?** 分析各种数据结构的优缺点。 **2.微服务架构中,如果让你设计一个注册中心,你会怎么样设计** 可能是因为我项目经历中有些微服务相关的。说了服务注册、服务拉取、心跳检测、集群、数据一致性相关的内容 **3.如果你的注册中心中,某一个服务实例宕机了,如何解决宕机的问题** 又把心跳检测重复了一遍 **4.那你心跳检测的时间应该如何设置?如果在间隔时间内,出现了很多失败的请求呢?** 面试官大致是这个意思,当时不知道怎么说了,随便往限流熔断方面说了说。 **5.分页查询实现的原理是什么?会遇到什么问题?** **6.深度分页的问题应该如何解决?** (在面试鸭上面背过,但是忘了) **7.如果客户端打开一个页面非常慢,应该如何去分析?** 从前端、后端、数据库三个方面说的。 **8.说一下函数式编程和面向对象编程的理解** 随便说了说面向对象的特征,然后说了一下写前端的时候拿函数式编程很简洁,举了个promise的例子(面试官说看到了有些Lambda表达式,所以问的这个问题) **9.Redis为什么这么快?** 吟唱八股。 **10.有没有线程池参数设置的经验** 推荐线程个数=(cpu执行时间+线程等待时间)/cpu执行时机*CPU核数。说到了cpu密集型和IO密集型。 **11.如何判断CPU密集型和IO密集型?说几个应用场景** 懵逼了,举了个电商高并发的例子,然后随便说了几句。 **12.给你一个英雄 一个武器 一个怪兽 如何去设计类** 也有点懵,说了一下继承和接口。后面面试官还问如果有多个英雄、多把武器、多个怪兽呢。 ### 二面 二面比较常规,一些场景题,一些常规八股,算法是有效括号。 **1.Java中的hash比较常用,请你说说发生哈希冲突的原因以及解决方案** 吟唱八股。 **2.你也提到了一些解决哈希冲突的方法,你认为他们几种方法使用的场景是什么?** 从时间复杂度和空间复杂度对不同的方法分析了一下。 **3.对于hash还有什么要补充的吗?** 说了一下自己的观点,我认为hashmap这种数据结构创建的一个目的就是以O(1)的时间复杂度去查询某个key对应的value,如果下标对应的链表中存储的数据太多的话,那查询的时间复杂度就会到达O(n)级别,或者O(logn),那这样就和我们hashmap的设计理念相违背了。本质上还是时间复杂度和空间复杂度无法兼得 **4.现在我们有一个日志文件,记录了所有客户端请求的相关信息(比如说ip地址 端口号 url等),那我们如何统计出来访问我们网页前N的用户。** **5.网页上输入一个url地址执行的全过程,越详细越好。** 吟唱八股。 **6.问了一些mysql的常规八股** 吟唱八股。 其他问题有点忘了。

腾讯云智后台hr面

### 1、自我介绍 答:相比于一般的技术面介绍报一堆菜名,我减少了对技术栈的描述,加了点大学的学生工作经历,但是hr听完也没问我学生工作经历相关内容。 ### 2、说一下你团队竞赛的经历 答:举了哈尔滨CCPC例,三人一组在一定时间内写算法题,根据通过题量排名,我在团队担当队长,主要负责贪心、并查集、模拟等算法。 ### 3、讲讲贪心算法是啥 答:一下猛住了,想举个例子没举出好的,最后大白话说的就是在遍历过程中不断寻找最优解。(现在想想或许可以说苏格拉底的麦田的反例) ### 4、讲比赛的过程 答:因为比赛的题有简单题有难题,比赛开始时我们三人分别寻找并解答简单题,在比赛的中后段我们共同思考并分析一道题,最终取得了30%左右的排名成绩。 ### 5、有了解我们这面的业务吗? 答:开始犯蠢。我在前几轮技术面时有通过反问了解到贵公司的业务,其中一项是手搓数据库 orm 轮子,我个人也对手搓轮子系列十分感兴趣,我认为自己搓好底层工具以供他人使用是一件十分酷的事情,我在项目中也实践了自己从 0 到 1 的手搓 RPC 框架;此外我从高中接触到腾讯会议,觉得这个项目的功能十分完善,并有强烈的愿望加入贵公司,和优秀的人一起研发优秀的软件你。 #### 面试官指正 他们的部门不负责腾讯会议。(前几天云智来我们学校办招聘会了,我明明记得他们是搞腾讯会议业务的😢,尽管面试官没开摄像头,我已经能从语气中感觉到对方的无奈了) ### 6、有其他的 offer 吗? 答:继续犯蠢?可能。有几家小厂的 offer,不过都拒掉了。(后续和朋友聊天,他们说我该说我一个 offer 和流程中的都没有,我想这样说可能显得自己没人要,是不是技术上有问题,自己太菜了投哪家被哪家嫌弃?想问问鱼友是怎么看的) ### 反问 #### 反问1:贵公司的人才培养方案是怎样的? 现在想想,整个 hr 面里我最犯蠢的地方在这。。。问的问题太庞大,而且像是领导在问话一样,感谢 hr 姐人脾气好。 面试官答:在前一阵校园招聘会有讲过,她又简单重复了一遍,说什么有专业的人带,这个时候我因为前几轮的犯蠢自己有点尴尬,听不进去了。 #### 反问2:有幸通过这轮面试,后续流程? 面试官答:等通知。他们可能周日也有上班的,大概率在周日或下周一回复。 ### 感受 整个 hr 面只有十分钟,感觉问的不多。听到最后一句等通知我以为自己太蠢被 hr 刷掉了,第一次做 hr 面,当时有点心死,没想到下午就 oc 了,祝鱼友们也好运,后续如果我闲下来的时候,我可能会再写一篇文章,整理一下自己的学习流程和整个找实习的心路历程。

腾讯云智后台二面

### 1、自我介绍 答:公式背诵,多的不谈 ### 2、谈谈你对大模型的应用 答:早在 DeepSeek 开源前通过配置文件直接调用过星火 3.5,SpringAI 等框架发行后分别通过本地部署 DS 和调用豆包 API 的方法实操过 AI Chat 开发,发现使用了这些框架后程序运行速率显著提高。值得一提的是,我学习这些框架最早接触的是 LangChainGo,我在没发现这个框架有 history 包的前提下自己实现了可记忆化的 AI Chat。 ### 3、如何自实现可记忆化 AI Chat? 答:维护一个 historyMsg 的 struct,用户每次向 AI 聊天时,将用户的问题与大模型的 response 去 append 到这个 struct 的后面,对于后续每一次用户的提问,动态修改大模型的 Prompt 为 historyMsg 加上用户最后一次提问的内容。 ### 4、用户向大模型聊天时,大模型如何处理用户的信息? 答:把用户的信息分词做成向量,再根据自己的知识库进行检索。检索方式有 RAG 与 MCP 两种方式,RAG 是检索自己已有知识库的向量,MCP 是调用其他应用以获得答案,这些应用被称之为”工具“。例如用户问现在的天气怎么样,MCP 可以使用用户本地的天气系统获得答案。在 SpringAI 框架中,只需要靠一个 @Tool 的注解即可将某个方法定义为 MCP 的工具,非常方便。(有的是胡诌的,我自己也不知道哪句说得对,看点知识全看混了,好在面试官好像也不知道答案,懂的大佬别喷我) ### 5、说下你手搓 RPC 项目中的注册中心 答:Etcd 实现,首先 Server 向 Etcd 发起服务注册,写入键值对的同时通过租约 Lease 保证它在一定时间内是有效的;Server 第二次向 Etcd 交互是每个服务向 Etcd 写数据,把自己的前缀 prefix 和服务地址 addr 写进去;Server 第三次与 Etcd 交互就是做一个心跳检测,每 10s 向 Etcd 发个请求以表示自己存活,Etcd 就做一个续约处理;对于客户端,第一次 Client 与 Etcd 交互是做一个 GET 请求,获取到全部的服务地址,把这个做成一个列表放在本地维护;Client 第二次与 Etcd 交互是做一个双向的 watch 监听,如果 Server 有的服务 down 掉了或者有的新服务上线了,Client 同步一下本地服务列表。 ### 6、说说虚拟内存 答:通过操作系统的分页与页表实现,需要时做数据交换,很好解决物理内存不足的问题。 ### 7、TCP 的三握四挥 答:分别说了 TCP 的三握流程、二握的前提与场景;四挥的流程、三挥的场景。四次挥手有时是三次挥手可能很多人知道,个人觉得三握到二握是一个很好的展开,具体二握的条件我在这就不写了。 ### 8、TCP UDP 区别 答:分别说了 TCP 优缺、UDP 优缺;扩展说了 TCP 粘包现象及原因、HTTP 如何解决 TCP 粘包、UDP 为啥没有粘包、UDP 如何向 TCP 一样保证数据有序性。这一段感觉自己自顾自讲了很多,面试官也一直没有打断我。 ### 9、手撕:给定二叉搜索树的后序遍历,输出前、中、顺序遍历 答:其实撕得不太好。搜索树是啥我反应了半天,其次平常写算法题根本碰不到这类的。稀里糊涂讲了思路,面试官好像觉得我讲得对,我就开始写代码,说搜索树就是有序的,从数组的第一个元素开始遍历,找到第一个大于根节点值的元素,那这个元素之前的所有元素就是左子树的后序遍历。越到后面思路越乱,好在面试剩下时间不多了,面试官说你把 dfs 函数写出来就行,我凭直觉瞎敲了几行,面试官好像觉得 ok,就先到这了,开始反问。 ### 反问 #### 反问1:假如我有幸通过这次面试,后续的流程是怎样的? 本人内心:刚手撕代码已经给我脑子搞宕机了,我以为我可能过不了这轮面试,再加上反问来得太突然,一时间没做好准备,我想问面试官您看我今天有机会吗?想了想太直接了,就莫名其妙问了这句话,顺便好奇我有没有第三场技术面。 面试官答:只有一场 hr。 ### 感受 感觉今天没啥状态,手撕代码像是在韬奋,好在面试官放过我了,我猜我今天的表现也就在及格线吧,感谢面试官放我一条出路。

腾讯云智后台一面

### 1、自我介绍 答:公式背诵,背完后聊了些简历上写的算法竞赛获奖的详情,他说他不太熟悉几等奖几等奖的获奖要求。 ### 2、我看你会 Java、Cpp、Go,说一下这些语言的区别 答:生态不同,Java 生态很好,可直接调用的 api 很多,其他语言可能部分业务要自己手搓轮子,开发成本高。 ### 3、可不可以说一下其他方面的不同? 答:Cpp、Go 有指针,数组中存的是元素,Java 无指针,数组存的是地址。 ### 4、你觉得这两种设计的哪种更好?你更喜欢哪种设计? 答:各有优劣,性能高的内存开销也会高(现在想起来当时应该说指针可能造成内存泄露)。我本人更喜欢指针设计,又聊了 Java 浅拷贝拷地址,深拷贝实现麻烦,所以喜欢指针。 ### 5、聊一聊你对 hashmap 的理解,想说哪方面就说哪方面。 答:JDK1.8+ 是数组链表红黑树实现,元素超过负载因子 0.75 * 16 = 12 后树化,元素小于 8 退回到链表。我对于 go 的 map 也有所了解,我认为 go 的 map 比 java 做的好的一点是扩容是渐进式扩容,包括 java 中hashmap的线程安全版本 concurrenthashmap 也是渐进式扩容,就是触发扩容条件后每次对 map 处理时将旧的桶的两个元素搬到新桶中,缓解扩容带来的性能开销。 ### 6、hashmap 的扩容是怎样的? 答:扩成二倍长度。 ### 7、扩成二倍长度有什么风险? 答:OOM Out Of Memory,可以调 JVM 参,增大堆内存大小,也可优化其他对象的开销。 ### 8、说一下布隆过滤器 答:直接说的 redis 的缓存雪崩,背八股背到一半被面试官打断了。 ### 9、布隆过滤器一定要用在 redis 上吗?有没有可能你这个布隆过滤器在过滤的过程中造成的性能开销要比缓存雪崩带来的性能开销大? 答:我了解到布隆过滤器是基于位图实现的,对于一般的请求不会出现上述情况,同时我们可以使用 postman 等测试工具做一些请求时间记录,根据记录做适当调整决定要不要使用布隆过滤器;此外 Elasticsearch 等只要是查询数据的中间件都可以使用布隆过滤器,只是 redis 是一个十分典型的例子,所以我一上来就提到了 redis。 ### 10、如何手搓一个布隆过滤器? 答:状态压缩,搞一个 int 类型的值,其二进制的每位 01 表示数据是否存在。手搓位图会导致代码可读性差难维护、开发难度高易出错,如果要我手搓一个布隆过滤器,我会详细在方法前写好注释,以防止其他同事读我的 i 左移 j、i 右移 j 时造成混乱。(还好他没真让我搓布隆过滤器) ### 11、为啥 mysql 用 B+ 树? 答:因为刚在聊 redis 所以先说为啥不用跳表:插入查询随机,且范围查询效率奇低;再聊为啥不用红黑树:kv存储导致空间利用率低,同时并发要靠 cas,太重了。 到这面试已经进行50分钟了,自我介绍与闲聊10分钟,问这些问题40分钟,面试官说时间不多了,他看我的项目经历啥的能看懂,手撕算法笔试撕过了今天就不撕了,开始反问。 ### 反问 #### 反问1:贵公司核心业务是怎样的?实习生多久可以接触到核心业务? 面试官答:做数据库 orm 轮子,用 cpp 和 go,所以他刚刚一直问底层的东西,包括他对二倍扩容很敏感。 #### 反问2:如本人有幸通过面试,我最近学习哪些知识以更快融入贵公司? 面试官答:go 和 k8s。(k8s看了几天没咋看懂,倒听说这个不是开发干的是运维干的,最近看别的去了)。 ### 感受 首先面试官人挺好,对于底层知识与设计聊的有来有回。一面是 4.14 这周一面的,现在是周六的晚上十一点。当天面完官网的应聘状态就从业务初试改为业务复试了,等到今天也没有邮箱说哪天二面。。。等得太煎熬了把拖了近一周的面经给写了,有一些焦虑,怕官网状态更新错了、怕腾讯云智已经招满人了所以不准备面我了、怕真有下一次面试碰到 kpi 面。。。闲下来总是不自觉想些有的没的。

腾讯云智一面面经

1. <font style="color:#262626;">我直接问你一些我们这边技术栈可能用得到的基础问题,看你这边的掌握情况。</font> 2. <font style="color:#262626;">你简历上的两个项目都是自己学习练手做的项目是吧?</font> 1. <font style="color:#262626;">是的。</font> 3. <font style="color:#262626;">你认为哪个项目对你的知识掌握的提升是比较大的,或者说哪个项目你比较能讲一些?</font> 1. <font style="color:#262626;">商城项目(微服务)。</font> 4. <font style="color:#262626;">扩展讲一下这个项目里面用到了哪些东西。</font> 1. <font style="color:#262626;">主要用到了微服务相关的一些知识点,用 JWT 实现了登录时的鉴权,用 docker 进行了集群化部署,用 nacos 作为配置中心,实现了服务的注册和发现。</font> 5. <font style="color:#262626;">你提到了微服务,微服务的优势在哪里,和常规服务有什么不同,为什么要用微服务呢?</font> 1. <font style="color:#262626;">微服务是将多个小的服务,形成一定的联系,按照它的业务功能进行拆分,可以在一定程度上实现解耦合。</font> 6. <font style="color:#262626;">微服务之间是通过什么进行通信的?</font> 1. <font style="color:#262626;">通过 feign 实现通信。</font> 7. <font style="color:#262626;">走的是什么协议?</font> 1. <font style="color:#262626;">走的是 http 协议。</font> 8. <font style="color:#262626;">为什么要用 http ?用 tcp 可以嘛?http 和 tcp 有是什么区别?</font> 1. <font style="color:#262626;">http 是超文本传输协议,在分布式用的比较多,基于请求-响应模型。</font> 2. <font style="color:#262626;">http 和 tcp 所在的层不同,tcp 属于传输层协议,主要是为应用层提供一些可靠的数据传输的服务,http 是应用层协议,是基于 tcp 之上的,在一定程度上依赖 tcp 。</font> 3. <font style="color:#262626;">相较之下,http 和 tcp 的功能和应用场景不同。功能上来说,tcp 提供的是可控传输,http 提供的是请求-响应,场景上来说,tcp 对数据的可靠性要求较高,http 常用于和 web 相关的一些场景,比如说客户端向服务端发请求,以及网页 API 之类的。</font> 9. <font style="color:#262626;">简单介绍一下 ES 是用来存储什么数据,是怎么存的?</font> 1. <font style="color:#262626;">ES 主要是为了提高查询效率,搜索时可能只输入一部分关键词,通过 ES 实现通过部分关键词,查找有哪些商品是具有这个关键词的,查找方案上来说,主要是用的分词器,用 ES 的话查找效率能高一些。</font> 10. <font style="color:#262626;">Redis 用来做什么的?</font> 1. <font style="color:#262626;">Redis 主要是用于缓存,主要用用于缓存热点商品。在二次三次查询时,可以直接从 Redis 中获取数据,可以降低数据库的压力,提供读取的速度。</font> 11. <font style="color:#262626;">Redis 中如何解决一致性的问题?</font> 1. <font style="color:#262626;">通过一些同步方案解决。旁路缓存、双删缓存等方案实现数据同步。</font> 12. <font style="color:#262626;">Redis 中的数据最终是要保证和谁的数据一致?谁来控制?</font> 1. <font style="color:#262626;">跟 MySQL 中的数据保证一致。</font> 2. <font style="color:#262626;">用的比较多的策略是延迟双删策略,是binlog监听控制的。</font> 13. <font style="color:#262626;">Redis 和 MySQL 的数据同步是怎么实现的?</font> 1. <font style="color:#262626;">比如现在有一个数据更新了,先是把 Redis 中的缓存删掉,再写删数据库,然后再删一遍缓存,防止在此期间内进行数据查询时读到脏数据。</font> 14. <font style="color:#262626;">在删除时会出现击穿问题嘛?</font> 1. <font style="color:#262626;">有可能会发生击穿现象。</font> 2. <font style="color:#262626;">击穿现象是指,某一个缓存突然过期了,正好在过期的这个时间点,有大量用户在查询这个数据,就可能会发生击穿。</font> 3. <font style="color:#262626;">击穿的解决方案有两个,一个是给热点数据在高访问期临时设置永不过期,另一个是自动续期。</font> 15. <font style="color:#262626;">MySQL 有哪些存储引擎?</font> 1. <font style="color:#262626;">MySQL 中存储引擎有 Innodb 和 myisam ,还有一些我没太了解过,主要用的就是这两个。</font> 16. <font style="color:#262626;">Innodb 中有哪些索引?</font> 1. <font style="color:#262626;">有聚簇索引和非聚簇索引,有主键索引、普通索引、空间索引、前缀索引。</font> 17. <font style="color:#262626;">一个表设计索引的时候要遵循什么原则?</font> 1. <font style="color:#262626;">有一个最左匹配原则,最左匹配原则的前提条件是使用了联合索引。</font> 2. <font style="color:#262626;">最左匹配原则大概是,如果索引是联合索引,在查询时,查询条件必须包括索引中的第一个列的信息,然后才是第二个列第三个列。</font> 18. <font style="color:#262626;">有没有什么情况是不适合使用索引的?</font> 1. <font style="color:#262626;">读少写多,经常修改的。</font> 2. <font style="color:#262626;">某一列有很多重复值,比如性别,只有男和女或者0和1,有大量重复元素,就不适合作为索引。</font> 19. <font style="color:#262626;">如果我设计一张表的时候,我让表里面的每一个字段都创建一个索引,这样做好不好?有没有什么问题?</font> 1. <font style="color:#262626;">不好,可能会造成资源浪费,索引也需要占用空间,导致存储所需开销较大。</font> 2. <font style="color:#262626;">查询优化器,索引过多会导致查询优化器决策时间变长,可能反而会降低效率。</font> 3. <font style="color:#262626;">如果表经常有写操作,在更新数据时,对索引数据也需要进行更新,降低了写操作的性能。</font> 20. <font style="color:#262626;">怎么判断一个链表是否有环?</font> 1. <font style="color:#262626;">快慢指针。一个指针每次走一步,另一个指针每次走两步,如果会相遇,就有环。时间复杂度是O(n)。</font> 2. <font style="color:#262626;">哈希表。遍历链表时,把每个节点存在哈希表里,如果某个节点在哈希表中已存在,就有环。时间复杂度是O(n)。</font> 21. <font style="color:#262626;">有 n 个数字,怎么计算出最大的 k 个数字?</font> 1. <font style="color:#262626;">最简单的方案就是直接排序,取出前 k 个数。</font> 2. <font style="color:#262626;">用小根堆。用一个大小为 k 的小根堆,维护最大的 k 个数字。当堆里面的元素数量小于 k 时,直接加到堆里面,堆内元素的数量达到 k 个时,将加入元素和堆内元素比大小,如果加入元素更大,就替换,循环,最后保留的就是最大的 k 个数。</font> 22. <font style="color:#262626;">TCP 里面滑动窗口是用来做什么的?</font> 1. <font style="color:#262626;">流量控制。类似于生产者消费者,防止两边的效率不一致,导致有一方一直等待。</font> 23. <font style="color:#262626;">通过什么实现的流量控制?</font> 1. <font style="color:#262626;">作为接收方的这一边会告诉发送方,自己有一个滑动窗口,并且告诉他滑动窗口的大小,发送方会根据窗口大小来控制自己发送数据的数量,防止发送方发的太快,接收方跟不上。</font> 24. <font style="color:#262626;">各个微服务之间使用 http 协议进行通信的,为什么不用 tcp 呢?用 http 找到一个服务和用 tcp 找到一个服务有什么区别嘛?</font> 1. <font style="color:#262626;">当时做的时候,认为 http 更简单容易上手一些。</font> 2. <font style="color:#262626;">tcp 没有请求-响应模型,可能有一部分内容需要自己进行处理,http 就不需要进行这些处理。</font> 25. <font style="color:#262626;">我没有问题了,你有什么想要了解的嘛?</font> 1. <font style="color:#262626;">本次面试中哪块答的不太好,需要巩固学习一下的?</font> 2. <font style="color:#262626;">后续流程?</font>

腾讯云智一面面经

双面试官拷打 忘了录音,导致有些问题记不清了 自我介绍(1min) 实习拷打(10min),做的算法,最后面试官锐评:就是调了几个接口。又问难点,我只能把看的很多论文什么之类的难点讲了讲。 项目拷打(直接说项目是自己做的学习项目): 1. 这个项目的难点是什么?回答代码沙箱,说是主要用来执行代码。面试官问这有什么难度的,不就一行代码就完成了吗?我直接绷不住了,说了一堆这个代码沙箱怎么执行代码的,要考虑内存占用、时间、安全等,以及用到了模板方法设计模式。 2. 安全是怎么实现的?内存和时间怎么统计的?我回答了安全管理器,docker中的seccomp,在系统调用层面限制用户。又回答了内存是通过docker的api监测的,超时是通过另开启一个线程sleep来控制的,超过一段时间线程唤醒后抛出异常。 3. 项目是否部署上线?没有,但是做过压测。 4. 是否每一个请求都要开启一个容器?非也,只用了一个容器,但是为防止一个容器崩溃,可以仿照线程池的思想,用容器池。 5. rabbitmq怎么使用的?回答了生产消费的流程,后面又回答了rabbitmq的消息可靠性,采用的是手动消息确认。没有消费成功就返回nack 常规八股拷打: 1. HashMap的了解,开始吟唱 2. mysql索引的了解,吟唱。in、between、or会不会走索引,怎么查看是否走索引(explain语句) 3. 超大分页优化,黑马视频原题。900万条数据的分页查询 ```sql SELECT * FROM stu LIMIT 9000000, 10; ``` 优化为 ```sql SELECT * FROM tb_sku t, (SELECT id FROM tb_sku ORDER BY id LIMIT 9000000, 10) a WHERE t.id = a.id; ``` 4. 进程和线程的区别。吟唱。 5. 线程是否安全?(没搞懂在问什么)我说这要看是否做了保证线程安全的措施,不安全的场景举了hashmap的例子说明多线程访问会不安全。又问线程的数据存放在哪里(栈私有,堆存放的是共享的),hash数组存放在jvm的哪个地方(堆) 6. StringBuilder和StringBuffer,为什么能保证线程安全? 算法:最长回文字串(动态规划),忘记咋做了。。 总体来说有点压力面,感觉面试官一直在质疑做的这些东西(实习和项目),不过讲清楚了后续还行,但是回答问题时面试官又喜欢反问一下,可能是看你确不确定自己的答案。好在我还比较自信。 最后没撕出来,以为g,结果查看状态发现秒过了。只能说是运气好

腾讯云智客户端开发三面

<html> <head></head> <body> <div class="content ql-editor"> <h1>腾讯云智客户端开发三面</h1> <p>三面就是 HR 面了,暑期实习,可能有的部门还有技术面,大概 2- 3 天会出结果,可能会到下周。</p> <p>我这边就简单阐述了,不是技术面。</p> <p>1)自我介绍</p> <p>2)base 地点</p> <p>3)学校实习方面</p> <p>4)绩点</p> <p>5)考研 or 就业</p> <p>6)四六级</p> <p>7)为什么想来?</p> <p>8)实习经历阐述</p> <p>9)开源项目</p> <p>10)项目难点、优化,升级</p> <p>11)其他 offer?</p> <p>12)AI 模型看法、使用等等</p> <p>13)反问面试结果,业务</p> <p>base 地点是西安,近期有云智面试的小伙伴可以参考一下,我前两期的技术面都写了,然后给了一些回答的思路,可以稍微看看。</p> <p>AI 智能图书馆开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system</p> <p>Github &amp; Gitee 总计已经 1000+ Star,2 W+ 访问!</p> <p>⭐点赞⭐收藏⭐不迷路!⭐</p> #面试经历# </div> </body> </html>

腾讯云智客户端二面面经

<html> <head></head> <body> <div class="content ql-editor"> <h1>腾讯云智客户端二面面经</h1> <p>约面了半小时,实际时间也差不多,在 38 分钟左右,主要是做两个算法,一个快排、一个二维 dp,面试官肯定不是 Java 的然后问的 408,面试官让等后续面试,不知道几轮。</p> <p>1)自我介绍?</p> <p>面试官:先来个简单的自我介绍吧?</p> <p>我:xxxx,现在自我介绍开始乱讲.jpg。以前说的比较全,现在主打一个特点,开源项目千 Star + 书籍阅读情况,建议按时间顺序去讲就可以了,大一学了xxx,有xxx成就,为什么要做?做了的结果是什么?自己有什么成长?围绕这几个点展示</p> <p>2)设计模式?</p> <p>面试官:你了解哪些设计模式?</p> <p>我:单例、简单工厂、静态工厂、抽象工厂、策略、适配器、门面(外观)、注册器、装饰器,xxxx 不报菜名了,重点提及项目实践过相关设计模式即可,因为下一个问题大概率就是~。</p> <p>3)项目设计模式实践</p> <p>面试官:你项目用到了哪些设计模式?</p> <p>我:这边简略说一下,大概是门面模式,然后结合 CompletableFuture,并行获取三个不同的接口,没有先后顺序,用 allOf.Join(),然后 CompletableFuture 形参可以放线程池,会线程池的话可以引导一波,一个题可以一直延伸,但可以适可而止,看面试官会不会打断,我一般说的差不多就主动中止.jpg,可以适当留下点问题。</p> <p>4)实习这边就不细说了,没问什么详细的东西,入职没多久,混子一个~</p> <p>5)学校课程学习?</p> <p>面试官:学校学过哪些课程?</p> <p>我:408,主要引导计算机网络、操作系统、计算机组成原理、数据结构,其他课程也能讲,面试官肯定不问,计网+操作系统基本是必问项,无论是哪个方面,后端?客户端?前端?测试?测开?都可以问基础.jpg。我建议是牛客有几千道题,能刷烂 408 和 Linux ,并且把 Guide 和 小林的看完,基本是理论这块可以说是入门了,实践题还是得自己动手。</p> <p>6)TCP 连接过程</p> <p>面试官:说说 TCP 连接过程?</p> <p>我:是三握四挥吗?得到肯定回答,这边直接背个流程图两张就可以了,然后你想讲一些额外的延伸也行,引出 UDP ?引出 OSI 模型?只要是计网的,越底层越好.jpg。</p> <p>7)HTTP 和 HTTPS 的区别?</p> <p>面试官:介绍下 HTTPS?</p> <p>我:思路,先介绍 HTTP 和 HTTPS 的区别,端口?协议?加密过程?粗略介绍,比如项目我申请了 SSL 证书,怎么申请的?怎么上传的?密文?明文?CA?很多知识点可以被提到,因为后续必问这些,尽量将自己能 cover 主的概念,因为后续会深入,假如你不会加密算法,尽量别引导就是了。</p> <p>8)HTTPS 加密过程?</p> <p>面试官:HTTPS 加密过程说一下?</p> <p>我:按流程图记忆,图像记忆&gt;文字,可以自己绘制,思维导图?流程图?时序图?功能图?加密算法可以说一下,后续要问也行。</p> <p>9)做题....</p> <p>面试官:有刷题吗?题量?</p> <p>我:有有,不多,几百道...不敢说多,我怕 hard 两个。</p> <p>第一题是快速排序,边界搞了几分钟...大概点了10次运行,没蚌住,第一次是区间越界,然后递归栈溢出。</p> <p>第二题最长回文子串,二维dp,做完了,然后发现第二次测试用例不对,调了2,3分钟,也解决了。</p> <p>10)HashMap 线程安全吗,后续加了个问题,答完收工了。</p> <p>11)面试官问业余时间干什么,自由发挥即可~学习和非学习都讲。</p> <p>12)反问面试表现和建议,然后面试官问 base 地点的问题。</p> <p>AI 智能图书馆开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system GitHub:https://github.com/luoye6</p> <p>Github &amp; Gitee 总计已经 1000+ Star,2 W+ 访问!</p> <p>⭐点赞⭐收藏⭐不迷路!⭐</p> #面试经历# </div> </body> </html>

腾讯云智一面客户端开发面经

<html> <head></head> <body> <div class="content ql-editor"> <h1>腾讯云智一面客户端开发面经</h1> <p>总体来说不算压力面,但二叉树没做出来,蚌埠住了,二叉树给中序和后序,让我说前序(大二学的忘记了),本来其实可以用IDE,直接构造树,然后我直接打个前序遍历的,力扣原题。本次面试大致涉及以下内容:滑动窗口、动态规划(滚动数组)、二叉树构建和遍历、签名算法、爬虫、QPS、网络延迟、TCP 和 UDP、HTTP、TCP 用户数据报、HTTPS 加密过程、非对称加密和对称加密、单例模式、OOM 场景、链表找中间节点、双亲委派机制、Volatile。</p> <p>1)自我介绍(传统)</p> <p>面试官:先来个自我介绍吧</p> <p>我:xxxxx,省略几百个字,讲了2,3分钟结束,这时候面试官根本没听,其实在找算法题,没蚌住。</p> <p>2)最长无重复子串</p> <p>面试官:先做个算法吧</p> <p>我:好的好的,共享屏幕启动!5分钟解决了,稍微放慢点速度,2 分钟有点不礼貌了,然后介绍下原理,结束。</p> <p>3)二叉树中序和后序</p> <p>面试官:有带纸笔吗?二叉树给中序和后序</p> <p>我:整了半天,还写错了,其实力扣原题我反而背完了,大二数据结构画图忘了,只会算法递归+哈希表~</p> <p>4)实习经历</p> <p>面试官:介绍下你的实习经历</p> <p>我:阿巴阿巴,这边不阐述了,反正流水账。</p> <p>5)签名算法</p> <p>面试官:你签名算法是怎么做的,利用的什么?</p> <p>我:SHA 256,安全哈希,请求参数和 SK 做了加密,然后网关做一层判断,主要目的是中间人拦截修改问题。</p> <p>6)数据获取方式?</p> <p>面试官:你这个接口的数据是怎么获取的?</p> <p>我:Jsoup 解析 2345 天气预报的网站,然后存数据库持久化,缓存结合定时任务做一个性能的优化,还有一个 Expire 的过期时间。</p> <p>7)QPS ?</p> <p>面试官:你这个项目的 QPS 有测过吗?</p> <p>我:服务器是 2 C 2G,3M 带宽,20 - 50 的 QPS,还要考虑到服务器所在地区,会有一个网络延迟的问题,Jmeter 测试.jpg,本机能跑一两千(14核 20线程 I9)</p> <p>8)TCP 和 UDP</p> <p>面试官:TCP 和 UDP 的区别?</p> <p>我:是否面向连接?可靠?有状态?传输效率?传输形式(字节/报文)?首部开销?广播、多播?我这边简单提一下就行</p> <p>9)HTTP</p> <p>面试官:HTTP 在哪个层?基于哪个传输协议</p> <p>我:应用层、TCP 用户数据报</p> <p>10)HTTPS</p> <p>面试官:HTTPS 的作用和 HTTPS 加密过程?</p> <p>我:这个问过很多次了,这篇面经不讲了,没啥玩意,记忆个图就行了,追问了下 SSL 对称加密的算法,其实我不知道,把 DES、AES 都说了。</p> <p>11)单例模式</p> <p>面试官:单例模式的优缺点有哪些?</p> <p>我:暴露唯一实例,缓存池,节省资源开支,举了个 Spring 源码的单例注册表,缺点没讲出来,可能是单一职责原则(过于重),资源浪费(可能饿汉式?),并发问题?(非线程安全?)可能内存浪费?(大量单例对象存在)、没有抽象层</p> <p>12)OOM</p> <p>面试官 OOM 的场景?</p> <p>我:就讲了个内存泄漏的 ThreadLocal,元数据区可能是类加载过多,栈的话可能是递归问题,顺便讲了下新生代、老年代的垃圾回收,晋升机制,Dump、可视化分析工具讲了下,粗浅.jpg</p> <p>13)链表</p> <p>面试官:链表找中间节点</p> <p>我:一个是链表长度/2,或者快慢指针</p> <p>14)双亲委派机制</p> <p>面试官:讲一下双亲委派机制</p> <p>我:先讲过程、然后讲好处(安全、统一、防止重复加载)、怎么打破双亲委派、谁打破了?面试官问用了什么设计模式,我还真不知道?我说了责任链,但不确定,面试官也没说对,应该就是,链式感觉就是责任链。</p> <p>15)Volatile</p> <p>面试官:Volatile 的作用?</p> <p>我:常规的题目,就不详细说了,大家看博客即可,举个双重静态检索的例子?</p> <p>16)动态规划(滚动数组)</p> <p>面试官:做道题吧</p> <p>我:爬楼梯?...这我真熬不了 5 分钟,2分钟就秒了,直接 O(1)空间,不考虑先 O(n) 再 O(1)。</p> <p>17)反问技术栈、业务、面试表现、建议、面试结果大概几天</p> <p>估计得清明节过后了,可能二面也轮不到,毕竟可能排着排着,我就溜溜球了...明天美团二面,下一份面经已经在准备了,xdm 等等我.jpg。</p> <p>AI 智能图书馆开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system</p> <p>Github &amp; Gitee 总计已经 1000+ Star,2 W+ 访问!</p> <p>⭐点赞⭐收藏⭐不迷路!⭐</p> #面试经历# </div> </body> </html>

下载 APP