这个面试官不讲套路,怎么上来就问个架构问题|面经分享
共 2206字,需浏览 5分钟
·
2021-01-14 18:13
点击蓝色「小黑十一点半」关注楼下小黑哥😏
点击下方卡片可搜索文章👇
前言
Hello,大家好,我是楼下小黑哥~
最近有个朋友出去面一圈大厂,一些独角兽公司,积累一些面试题。
这不马上就要过年了,过完年就要开始传统跳槽月了,现在在看文章的你,应该已经在摩拳擦掌了吧。
所以为了各位读者,小黑哥牺牲了色相,去跟朋友要了这些面试题,并且也跟朋友交流了当时的一些回答,基于这些斗胆做了解答。
当然了,本篇很多题目,都是一些主观题,并没有所谓的标准答案,每个人都有自己想法与理解。所以下面的回答,大家参考即可。
如果有其他答案,欢迎评论区留言~
进入面试
今天这篇文章,主要介绍哈啰单车一面的面试题。
这次面试题,朋友跟我说的时候,一直在吐槽,面试官不按套路。
朋友本来心里想着,面试官会根据自己简历,项目介绍,针对性问一些技术点。
可是谁知道上来就来问整体架构性质的问题,所以朋友刚开始慌了,不过好在也有了解,也能回答出些许。
下面开始面试题,「Come On」~
自我介绍
这个没啥好说的,提前准备一下,主要介绍自己的背景,经历过的项目,会的技术栈等。
如果刚开始面试,那还是很容易介绍过程中卡壳,所以可以讲自我介绍打印出来,自我介绍的时候可以看。
但是记住了,不是照本宣科,让面试官觉得你在背一样。
面过几次之后,说了几次之后,都会成为老司机了,自我介绍就都记住了。
项目介绍
这一环节,主要介绍自己的项目,面试官后续就会根据这个项目中的技术点针对提问,所以一定要对自己的项目非常熟悉。
「项目介绍的时候,不要一上来就说一些复杂的项目方案。」
因为在不了解的项目的背景和一些问题的情况下,大家理解的上下文是不一样的,这样就会造成双方之间理解的误差。
所以项目介绍的时候,「首先介绍一下项目的背景」。
在面试官的了解之后,那我们可以开始介绍项目的一些整体架构等等。
介绍完成之后,面试官就会根据你说到技术点,然后开始提问。
下面是这次面试官提出的一些问题。
微服务如何拆分
两大拆分原则:
垂直拆分原则 水平拆分原则
基于这两大原则,然后举一个例子,如何使用这两原则。
为什么从单体服务过度到微服务
首先介绍一下单体服务优点:
架构简单 系统复杂度低 部署简单 等等
简单而言,当业务场景简单,开发人数少,功能并不复杂的时候,就比较适合单体架构。
随着开发人数变多,功能变得复杂,单体服务就会出现痛点:
服务耦合,互相影响 团队开发变得复杂,版本管理变得复杂,容易出现打架情况 等等
微服务监控怎么做的?
基于自己公司的监控体系回答,如果实在没有什么监控,可以说说自己了解的监控体系。
如何评估服务应用需要扩容?
这个可以参考沈剑老师的
评估总访问量 评估平均访问量 评估峰值访问量 压测,单机极限 qps 适当的冗余服务
如何及时发现系统异常的情况?
系统监控,对于异常日志,使用 ELK 进行关键日志报警。
另外针对关键接口进行响应延时,吞吐量等监控,一旦出现下降,进行报警。
微服务通讯方案如何选择
现在主流就是以下两大方案:
Dubbo RPC Spring Cloud
分别介绍一下,Dubbo 与 Spring Cloud,介绍优缺点,然后说一下你的选择方案,你为什么这么选。
分布式中间件如何选型?
思路同上题,可以举个例子,然后列出可以用中间件,比较中间件优缺点,横向对比分析,最后基于业务场景选择。
微服务分布式事务如何解决
如果没有实际用过,可以说下分布式事务一些解决方案:
2PC TCC 等等
具体解决方案可以详细看下下面这篇文章。
如果有实际使用经验,那就说下自己项目中如何使用。
MQ 系列问题
下面这些常规问题,网上一般都能找到答案,这里就不详细解释了。
mq 消费失败,如何重发 重复消费问题 消息丢失问题
Dubbo 系列问题
负载均衡在消费者实现还是服务提供者实现? 负载均衡如何实现 服务动态发现如何实现?
看你介绍,会研究源码,看过什么源码
又回到主观题了,介绍一下自己看过的源码。
可以从一例子介绍一下源码。
现在换工作,主要注重什么
这个问题不用说了吧~
「最后,常规问题,你有什么要问的」
根据面的轮数不一样,进行相应的回答。
比如一面的话,那就不要问薪资待遇这些问题,问了也没啥用。
我通常问他,你们负责业务到底是什么,具体架构是什么等等。
总结
其实从面试题来看,面试官真的就是一环扣一环的提问,每个问题之间都存在些许联系。
个人觉得最最开始的架构类问题,不是很好回答,因为这些不像技术问题直接是有标准答案的。
回答这些问题,需要阐明自己对架构的一些理解,实际使用过程一些使用经验。
这些如果没经历过,可能真的就抓瞎了。
所以对于这些平常的时候,还是需要积累一下,提高一下自己对架构有一定认知。
剩余技术点问题,其实没啥好说的,面试的时候,基本都会问的一些常规问题,这些根据自己使用分布式中间件专门准备就好了。
好了,我是楼下小黑哥,下次再给你们分享其他面经,886~
一条失去条件的动态 SQL,到手的年终奖飞了|文末彩蛋