腾讯云智后台实习一面

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 面。。。闲下来总是不自觉想些有的没的。

#腾讯云智研发2025实习生招聘#
全部评论
大佬,前两天收到了腾讯的笔试,已经考完笔试了,然后明天进行面试,云智的面试是几面?怎么看自己的base地的
点赞 回复 分享
发布于 04-27 17:18 湖南
mark hashmap细节
点赞 回复 分享
发布于 04-24 12:28 广东
二面已更家人们
点赞 回复 分享
发布于 04-23 22:21 黑龙江
礼貌问佬base在哪
点赞 回复 分享
发布于 04-21 15:00 四川
为啥 lun zi 会是敏感词啊带*号的两个词都是 lun zi
点赞 回复 分享
发布于 04-21 12:24 黑龙江
,15号面完一面,也是到现在还没约2面
点赞 回复 分享
发布于 04-21 11:24 广东

相关推荐

04-24 22:37
门头沟学院 Java
#腾讯云智研发2025实习生招聘# 发面经攒人品刷到说没有hc了,感觉是kpi,面试官没有开摄像头,无手撕,拷打了一个半小时1. 自我介绍2. 有没有想留在现在的公司转正?3. 介绍一下你简历上这个项目4. 你说到你使用到短信注册登录,你讲讲你实现发送短信登录的流程5. 你说你把用户信息存在ThreadLocal中,你讲讲你主要存储了哪些用户信息6. 那如果你将用户信息存在ThreadLocal中,我现在有多个线程使用你这个产品,你怎么知道哪个线程对应哪个用户呢?(这里有点没太理解,没答上)7. 你说用到了拦截器,你讲一下你用到的拦截器(后续询问是否用到了AOP)8. 讲一下SpringBoot启动器 (这里我回答的SprintgBootApplication,不知道是否正确,或者应该回答starter相关?)9. 讲一下依赖注入10. Bean对象存储在哪里?11. 你项目中用到了哪些表(后续问了很多表结构相关的问题,不一一列举了)12. 如果当前有很多用户在抢购你的秒杀优惠券,你会怎么进行设计能够让用户有个比较好的体验?13. 讲讲你了解的索引14. 你讲到B+树,那么为什么要使用B+树作为数据结构呢?它好在哪里?为什么效率高?15. B树和B+树的区别?既然B+树每次都需要查询到叶子节点,但是B树某些情况下不需要查询到叶子节点,那效率不应该更高吗?(应该是上个问题没答好,进行的追问)16. 你讲到B+树使用叶子节点存储数据页,这个数据页的含义是什么?是分页的那个数据页吗?17. 哪些情况下会进行回表18. 讲一下事务的隔离级别,分别解决了什么问题19. 可重复读可以解决幻读吗,如果不能,要怎么操作来解决幻读20. 读提交和可重复读的区别?21. 你使用到Redis的哪些数据类型?22. 讲一下Redis集群23. 详细讲一下哨兵模式,哨兵的作用是什么?24. 你了解集群分片吗(答:不了解)25. Redis持久化26. 讲一下动态代理27. 具体讲讲JDK动态代理和CGLIB动态代理的实现方式28. 讲讲类加载过程29. 讲一下Java 程序编译和解释的过程30. 讲一下垃圾回收期,有哪些算法?31. 线程池参数32. 你讲一下Java中所用到的锁(这里答了乐观锁,悲观锁,读写锁)33. 讲一下CAS,Java是怎么实现CAS的34. CAS和乐观锁有什么关系?35. 讲一下volatile的作用,实现原理是什么?它的使用场景是什么?你举个例子。36. TCP比UDP的优势37. 讲一下四次挥手38. 可不可以不需要第四次挥手?为什么第四次挥手之后要等2MSL?39. HTTP是基于哪个协议?(答 TCP)40. HTTP的方法有哪些?(答 GET PUT DELETE)41. HTTP是明文传输吗?HTTPS用什么方式保证了数据加密?42. 讲一下怎么进行CA证书校验43. 你能讲一下红黑树吗(不了解)44. 讲一下你所知道的排序45. 具体讲一下插入排序的实现(到这里已经被拷打昏了,应该答得不太好,实现方式应该答错了)46. 你说插入排序时间复杂度是O(n²),那么这个时间复杂度是怎么算出来的?你具体想想真的会到O(n²)吗47. 讲一下你实习的内容48. 你讲用到了K8S的API,那么你可以操作K8S上所有的资源吗?这个权限具体是怎么进行设置的?49. 讲一下pod和service的关系50. 你讲一下docker build 的执行过程51. 你讲讲CI\CD的使用?52. 讲一下git怎么回滚版本?53. 讲一下maven的命令54. 你怎么学习新技术?反问
打个响指吧c:逆天,54个问题
点赞 评论 收藏
分享
评论
13
43
分享

创作者周榜

更多
牛客网
牛客企业服务