#面试# 迟来的腾讯后台一面凉经

回顾了面试录屏,实在是太丑陋太狼狈了呜呜,还是准备地不够。┭┮﹏┭┮


自我介绍,面试官让我主要讲技术就好了,校园经历、个人评价不用讲太多。


🟪项目

接下来让我讲最有挑战性最复杂的项目(api项目)


技术栈是存储mysql,spring是吧


项目背景是什么?是一个实训项目还是?


相当于做了一个聚合是吧?


提供的是什么协议?http协议吗还是?


做这个项目最大的难点,困难是什么?

回:架构设计,获取调用次数接口,用网关和rpc实现远程连接,限流染色降级路由等


那这个是网关的常规操作吧我理解是,那这个当作设计层面吧,有没有一些定位层面上,代码层面上的,比如遇到一些case,定位好几天没定位出来,比如超时、内存泄露、性能优化的case

应该是要问实现层面上的,然后我本来想答网关调用接口时的异步操作的原因,本来想调用接口后打印响应日志,但是事实是接着往下执行,直到返回filter,它才去调用模拟接口。 但是我这里解决方法答的不好,面试官一直问我具体场景是什么,当时脑子里思路都不清晰了,得好好看看流程和解决方法。


dubbo和springmvc都是rpc框架是么,区别有什么?是在同一层级实现?


简介的两个项目的技术选型有什么考虑?


接口行为监控可不可以通过上报的形式,就是调用后接口次数+1做了什么异步的操作,拉一个消息队列?


🟨计算机基础


Tcp/Ip模型,每一层实现了什么功能,包头信息,最主要的字段是啥,每一层单位是什么 ?


看我答不上来让我讲讲osi七层模型也行 ?


三握四挥 服务端如果没有数据需要传输了,它的两次挥手可不可以合为一个?



进程、线程、协程


java有轻量级的微线程吗?就是由java层面,jvm直接去做调度切换的,不是由系统去做的。


操作系统的中断处理,比如键盘按了下回车,然后这个时候会发生什么?触发了一个信号,这个信号怎么给到cpu,cpu怎么给到应用程序,之间怎么做切换调度的?


java创建线程需要触发软中断吧,软中断流程怎么样的?了解系统调用吗?


IO多路复用了解吗?


redis这种单线程模型有什么缺点吗?


我还乱答了什么无法支持高并发,结果面试官:单线程为什么这么好,不就是用了IO多路复用,所以才能支撑并发量吗?我:......(无地自容)


🟩两道算法 出的已经很简单了

1.字符串的压缩(map或双指针都可以)

2.计算天数差


🟦最后面试官甚至给了我几十分钟的交流时间,包括我的简历写法,技术名词太多了,写得多问的就多,然后错的就多,还建议我学的时候要保持好奇心,去钻研,这个项目里面做的事情的实现原理,要懂,(rbac,aabc权限模型),技术选型要探讨,把项目吃透,然后看关键源码,jvm,垃圾回收,threadlocal线程隔离怎么做的,aop能讲清楚吗,api签名认证做什么的,项目做好是不能停留在使用层面,基础要过关,计算机网络、操作系统得掌握牢靠。


总结:虽然答得很狼狈,但是收获了好多东西,真的很感谢这位面试老师!!!

后续规划:

1.优化api项目,丰富一些功能和添加一些中间件,同时多去学习一下rpc、dubbo、java、springmvc,api网关等框架和技术的源码和八股,才不至于被问实现原理就倒了。

2.计算机基础:数据结构、操作系统、计算机网络系统回顾,做总结记录多啃点底层原理;然后坚持每日2-3道算法题。


多记录记录技术心得,不要浪费每一天!

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
尺v尺
下载 APP