首页 > 腾讯IEG二面凉经
头像
pis14
编辑于 2020-10-14 22:50
+ 关注

腾讯IEG二面凉经

10号早上,突然收到二面邀请。然后今天计划全部取消,老老实实的准备面试了。
面试题目:
1. 介绍一下半年内自己的一个收获很大的项目。
答:说了一下实习项目,然后问有什么收获,我说的是:学会了团队合作。但是其实还学了微服务框架tars,php,RPC框架thrift,这些都看了源码了,但是没有说出来。反而把最简单的收获说出来了。哎,引以为戒
2. 讲了一个场景:腾讯新闻是高并发,并且有大量数据的,这时候如何设计系统可以支撑起来?
答:高并发就上redis兜住,大数据就进行分库分表+集群。
3. 分库以后,如果面对全局搜索,那怎么处理?
答:一个库专门为其存储关系。在全局搜索前,先去该库进行查找。(就是分库基本必定带来的一个跨表问题)
4. 微服务的边界了解吗?
答:我是通过数据库的关系进行边界划分的。(这一步其实涉及到领域驱动设计啥的,我当时看来看去,也觉得划分就是根据业务需求划分即可。)
5. 熔断了解吗?
答:有,就是下游服务出现了问题,为了防止整个系统出现问题,当下游迟迟没有响应的时候,会进行熔断处理。提供降级服务之类的
6. 那熔断半开状态可以说一下吗?
答; 我说了一下下级恢复的时候,此时调用远端服务,熔断器还会进行一个限流,判断刚刚重启的服务是否可以支持住,如果可以,滑动窗口变大,流量调用恢复。但是,面试官说不是这个。我去查了一下:说熔断器有三个状态。开启,关闭和半开,其中开启状态恢复到关闭状态(代表下游服务可以提供正常服务了),此时是先进入半开状态的。半开的具体定义如下:
```
当服务接口对应的熔断器状态为open的时候,所有服务调用方调用该服务方法时候都是执行本地降级方法,那么什么时候才会恢复到远程调用呢?Hystrix提供了一种测试策略,即设置了一个时间窗口,
从熔断器状态变为open状态开始的一个时间窗口内,调用该服务接口时候都委托服务降级方法进行执行。如果时间超过了时间窗口,则把熔断状态从open->half-open,这时候服务调用方调用服务接口时候,
就可以发起远程调用而不再使用本地降级接口,如果发起远程调用还是失败,则重新设置熔断器状态为open状态,重新记录时间窗口开始时间。
```
7. epoll,poll,select的区别
答: 这个算是很基础的东西了,主要是数据结构的差别,还有是文件描述符复制和不复制(共享内核内存)的优化。
8. redis常用的数据结构
答:说了string,list,set,zset,hash。
9. redis的list可以用来实现消息队列,那么和kafka的区别是?
答:kafka没怎么用过,之前看过原理,但是忘得差不多了。。。主要是kafka是专业的,有分区,一对多之类的。
10. 那说到一对多,kafka的patition你了解吗?
答; 一对多消费吗?
面试官:你没有用过吗?我说,确实没有。那好,下一个问题。(这里补充一下kafka和redis的list模式实现的消息队列的区别:https://blog.csdn.net/qq_40673345/article/details/103781879
11. c语言熟悉吗?虚拟xx了解吗?
答:不了解,没怎么用过
12. 那设计模式你了解吗?说一下命令模式
答:嗯嗯,都看过。不过命令模式有点忘了。
13. 那你说一下观察者模式吧。
答:嗯嗯,观察者我感觉有点类似消息队列了。就是被观察者发生改变,那么,像我java实现的话,我的被观察者会持有一个观察者队列,我会循环队列去一一通知观察者,我的状态改变了。
14. 你有什么要问的吗?
答:问了一下自己的表现,部门的情况,还有剩下的面试轮数。

——————————————————————
面试后4天
其他人比我晚面试的都收到了三面,我还没有,听说16号腾讯校招就结束了。感觉估计凉了。哎,和腾讯也许真的差点缘分。春招的时候要发论文,太晚投递了,也投递太匆忙。秋招的时候,被光子面完了,最后突然决定不发意向书。然后一直到了10月多才又被捞起来,感觉现在又没有消息了。真的是,一波三折。

更多模拟面试

全部评论

(9) 回帖
加载中...
话题 回帖