腾讯元宝客户端-三面-面经

这次是个有点口音的面试官,听着很亲切🥰。主要是深挖项目,各种点都问到了,最后从他的角度给我讲了很多客户端的东西,收益多多,一个小时也很快过去了。最后没有考算法,我问他没有算法吗?他问我之前面试做过没有?我说一面写过一个。他就说那就不用了。看来客户端是挺缺人的。

二面过太久忘记了,也没记录。基本也是根据简历问的,和三面差不多,就是他把我一个破烂实习经历问穿了,说项目最后失败了没什么成果,给面试官整乐了。最后也没考算法。感觉挺好玩的说是。

提问环节:
提问环节:
1. 自我介绍
2. 讲一下你做的这个项目

项目相关的问题(可以跳过🤔,针对项目问的,可能没什么参考价值):
3. 日志记录的数据有哪些,关心什么指标?
4. 有没有触达率之类的数据?
5. 如何判断用户下发消息到达?有没有回执?
6. 考虑选择第三方API云厂商时,是出于什么因素考虑的?成本还是综合什么考虑的?
7. 具体接入了哪些厂商的服务?
8. 相同功能但调用接口不同API调用,你是如何抹平它们的区别的?
9. 为什么用负载均衡?这个负载均衡的策略是什么?如何实现的?
10. 项目的Redis内存优化是怎么做的?
11. 这个数据结构变化具体是什么变化,你怎么去设计它的?
12. 你提到通过牺牲存储的内容来减少redia内存占用的负担,你是如何过滤的?有优先级吗?还是无条件去过滤?
13. 你们这边的负载是怎么样的?对应的指标大概是多少?
可能是我前面没说清楚,或者他没听明白我的项目,然后又重新问一些介绍的东西
14. 你们这个是个怎么样的服务?
15. 它的挑战在什么地方?(又被我逮到了✌🏻)

然后就莫名过渡到了八股╭(°A°`)╮
16. 消息队列是如何实现的,背后的底层原理是什么?
17. Redis是如何保证一致性的?它的线程模型是怎么样的?
单线程模型,按顺序处理请求
18. 它采用单线程模型的话,它是如何在解决一致性问题的前提下,保证它的性能的?
内存存储,单线程模型处理请求+IO多路复用处理socket
19. 你刚刚提到的IO多路复用是什么概念?说一下你的理解?(又老又难背的八股🥺)
20. 你主要的语言是Java吧?能说一下它的优缺点吗?
21. 按刚才说的Java因为虚拟机编译导致执行效率慢,对于这个语言,它有什么方式去优化和提升呢?
JIT即时编译,把热点代码块编译器成静态机器码
22. 为什么它不提前把代码全部编译成静态的呢?
和Java本身的设计思想和特性有关,多态,反射
23. 为什么它编译之后就不能做多态和反射了?
讲jvm执行流程
然后他跟我讲了下安卓中Java的执行流程
24. 你有没有试过用Java去调用C语言之类的其他语言?
没有试过,但是jvm底层有本地方法来调用操作系统层面的其他语言函数。然后他给我讲安卓Java的一些知识。
25. 最后一个问题,我看你的经验更多的是偏后端的,但是现在面试的岗位更多的是偏客户端的,你自己的想法和考虑大概是什么样的?
(早有准备😎)讲自己对客户端的理解,表达感兴趣的点和之前面试官讲解的体会,最后说一下自己顾虑语言和岗位适应。
(估计是看我挺有思考深度的😙)然后面试官开始客户端上的各种东西,语言,cpp学习曲线,客户端挑战,客户端和后台的不同:用户机器性能和内存,响应式框架,业务逻辑,学习曲线更多,离用户和产品更近(讲了6,7分钟)
26. 然后说完了,就问我有没有什么想问的?

反问:
客户端的核心竞争力是什么?是偏向业务的提升还是技术?
日常工作的工作中心是什么?(大白话,具体工作一般干啥
涉及多部门协作的话?大概的协作模式是什么样的?
全部评论
咋还有radis
1 回复 分享
发布于 05-16 11:00 湖北
点赞 回复 分享
发布于 05-15 13:15 四川

相关推荐

项目相关问题不多说。12.rocketMQ在项目起到的作用13.rocketMQ消息丢失了的处理?14.有没有考虑别的实现。比如中间件,项目的实现方案优势在哪里。15.用到过的注解有哪些?16.项目中有用到@configuration注解吗,@configuration注解用和不用的区别在哪,一定要用吗。17.假如我现在在项目要创建一个对象,比如说来自一个第三方库,那你在spring框架里应该使用什么注解18.讲讲aop?你是怎么用的?19.项目里面有用过设计模式吗,讲讲设计模式20.说说hashMap?21.了解ConcurrentHashMap吗,说说ConcurrentHashMap22.volatile关键字怎么保证数据的可见性23.既然ConcurrentHashMap 用到了Synchronized关键字+cas了,为什么还要加上volatile关键字呢,非加不可吗24.volatile关键字是用在concurrentHashMap的哪里呢,修饰了什么变量25.Volatile关键字除了保持可见性,还有什么作用吗26.Volatile能保证原子性吗27.说说你在项目中用到的垃圾回收器,以及你是怎么配置的。28.G1垃圾回收器用到的垃圾标记算法是什么29.说说这个标记算法的流程?30.你有做过jvm的调优吗,说说你调过哪些参数。31.有没有看过垃圾回收日志什么的,根据这个调参32.你在项目中用到的索引有哪些,能说说吗33.这句语句要不要加索引,怎么加?select * from table where a=1 and b>2 order by c,d,f34.项目里的分页分表具体是怎么分页的呢?35. 这个项目里面的表都有什么,怎么设计的36.mybatis-plus在项目里是做什么的
查看25道真题和解析
点赞 评论 收藏
分享
11-07 12:17
已编辑
门头沟学院 golang
1.go中goroutine的调度机制,即GPM模型?2.详细说说这个调度的机制,从不同的角度?底层数据结构,协程的构建,从产生到最终销毁是怎么调度的一个过程,然后在里面的话?这个有多个协程,协程之间是怎么互相进行调度的?3.网络相关的知识,有一个TCP的游戏客户端,建立了一个长连接请求,由于某种情况或者bug导致异常退出了,当客户端异常退出后,服务端能感知到异常吗?4.假如说没有TCP Keep-Alive的这种机制?服务端可以感知到客户端的流程是什么样的?如果服务端没有发送数据呢?5.从刚才讨论的话题展开,你觉得从客户端的这个操作系统OS层面,一个详细的操作系统会做哪些事情?假如说客户端的进程异常退出了,操作系统会做哪些事情?操作系统会做一些回收吗?那你觉得在做这个过程中,对方即服务端能感受到异常吗?6.登入到一台linux服务器上,发现大量tcp连接处于time_wait状态,是什么原因导致的?有哪些场景导致的?7.登入到一台linux服务器上,发现大量进程跑在这个机器上,可能进程会越来越多,物理内存可能越来越少,对服务器上跑的服务,有什么影响?8.如果我们想要实现一个高并发的服务,我们采用多线程的方式,8核16g的机器上,你觉得我们线程的数量是开多少合适的?(和IO时间密切相关)9.聊聊中间件,redis中可以高并发的响应的设计?即为什么redis快?10.IO多路复用,epoll在操作系统是怎么实现?整体思路是什么样的?数据结构?异步召唤的模式?11.redis中的数据持久化机制?12.redis中的RDB和AOF都适用于什么样的业务场景?无算法智力题:1.《决胜21点》电影中的场景。主持人在桌子上放三个倒扣的杯子,三个杯子下面只有一个杯子有硬币,你的目标是找到含有硬币的杯子。一开始,你可以从三个杯子任意选择一个,放在你旁边,但不能查看。然后桌子上还剩两个杯子,主持人从两个杯子中拿掉一个空杯子。此时桌子上还有一个杯子,你旁边还有一个杯子,请问是否选择交换?2.30个关键词,就是一些随机的中午词组,比如你好,浏览器,参加,这些词并不一定是常见的词,也可以选择一些字,拼在一起,比如选择猪,屏,合起来就是“猪屏”。一亿篇文档,文档里面就是800~1500左右的文章,段一段的文章,让你设计一个程序去统计出来这30个关键词,在一亿篇文档中出现的次数,效率要尽可能高?反问:做什么业务?面试这个岗位,你觉得需要什么的特质和品质,才能胜任这个岗位?
点赞 评论 收藏
分享
评论
5
24
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务