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

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

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

提问环节:
提问环节:
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 四川

相关推荐

07-04 17:12
已编辑
门头沟学院 Java
1. 我看你是做服务端的,但是你投的是客户端开发,你后面是倾向于安卓还是IOS?2. get和post的区别是什么?3. 实现用户登录功能该用post还是get?为什么用post?post就安全吗?body不也可以通过抓包看见吗?3. HTTPS加密的过程?我答的是公私钥结合的方式其实就是TLS协议交换密钥的过程。追问如果代理人攻击如何解决?提示CA证书机制没答出来具体的机制是如何实现的4. TCP三次握手,为啥不是二次握手?为啥不是四次握手,这样岂不是更能保证可靠我说四次的话,感觉没有必要三次就能保证建立连接的可靠5. UDP协议在那一层?那我传输的时候可不可以绕过UDP协议直接交给IP层?这里没答好正确答案应该是,传输层负责端到端的通讯,屏蔽底层细节,通过ip协议可以把数据传输到对应的主机,但是如果没有端口信息不能定位到具体主机的应用进程,还有就是传输层的作用,可靠传输、拥塞控制、流量控制5. 线程和进程的区别?线程与线程之间是共享内存的吗?进程与进程之间呢?6. hashmap的put和get过程7.arraymap 和hashmap如何选型的?我不知道arraymap 是什么java中没有后来才知道是客户端的8. equal和hashcode那些经典八股9. 如何判断一个对象能否被垃圾回收?可达性分析算法 gcroot,那些可以作为gcroot?虚拟机栈和本地方法栈中引用的对象、方法区中静态属性引用的对象和方法区中常量池引用的对象10 .垃圾回收机制,分代回收机制,老年代新生代那一套11 .threadlocal 底层实现原理12 .单例模式懒汉和饿汉的区别?然后分别用在那些场景中,你实际用的话?13 .为啥设计双亲委派机制手撕1.单例模式2.删除链表重复元素手撕2翻车其实是有点紧张加上第一次面字节,也不太习惯飞书的编译器,双指针一直有BUG很慌就没调出来,反问还有那些需要提升的点?面试官说基础知识掌握还可以,编码习惯有待提升,下去再练练吧。败在了本来最擅长的点😣,这手撕已经很给我机会了,自己没把握住
查看16道真题和解析
点赞 评论 收藏
分享
评论
5
20
分享

创作者周榜

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