前言
当我们的网关Gateway程序开发完成之后,需要部署到生产环境,这个时候你的程序不能是单点运行的,肯定是多节点启动(独立部署或者docker等容器部署),防止单节点故障导致整个服务不能访问,网关是对客户端的入口与出口,在生产运行中极为重要,哪怕是简单的重启也会导致部分请求的丢失。
网关的路由配置这个时候就是一个大问题,是代码里面编写还是配置文件配置?他们都有一个致命的缺点,当有新的程序需要接入到网关进行路由或者有服务需要下线时候需要修改代码或者配置,然后重启整个网关程序,导致其他正常的服务路由受到了影响。
所以在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启网关,所以实现动态路由是非常有必要的;
本文主要介绍Spring Cloud Gateway 实现的思路,并且把路由信息存放在外部源中,这粒以Nacos为数据源来讲解。
一面
-
自我介绍
-
项目难度介绍
-
如何实现延时任务
-
如何实现限流
-
线程池的参数
-
能不能自己实现一个java.lang.String并加载
-
Redis为什么这么快
-
epoll和poll的区别
-
进程同步的方式
二面
-
MySQL的索引机制
-
如何自己实现内存分配和管理?不太懂,然后说了jvm的垃圾回收机制
-
你们公司内部的RPC框架,介绍一下
-
Redis的key过期策略
-
缓存穿透和缓存雪崩
-
分布式锁
-
如何实现全局的id生成策略
-
悲观锁和乐观锁
-
红黑树了解么
三面
-
如何实现群消息已读
-
消息推送如何保证不重复
-
Kafka如何保证消息的可靠性
-
RPC是什么,和http调用有什么区别
-
说一说你项目的架构
-
GC
-
MySQL的索引原理,给了一个场景,如何优化
-
。。。。。。
面完3面后居然又来了一个笔试题(内心无比崩溃~~)
附加笔试
-
producer-consumer
-
两线程交替打印
-
多线程模拟100分钱随机分给20个人,每个人最少分配到2分钱
四面
-
写个producer-consumer吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2分钟写完完事。
-
项目难点
-
MVCC
-
HTTPS
-
ElasticSearch的查询过程
-
Kafka如何保证高可用
-
Reids的集群和选主
-
知道什么分布式一致性算法
-
如何实现定时关单
-
。。。。。。
HR面(唉,阿里的hr面真是让我难忘。。。)
-
说说看,假如你是部门技术经理,线上商户数据丢失怎么办
-
怎么将一个产品推荐给其他的团队,怎么界定边界
-
怎么样协调关系(到这里我已经快冒汗了,生怕最后一关毙掉了)
-
你和同事相处的情况怎么样,说说你帮助同事的一次经历
-
薪资
说真的,阿里面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,这次虽然面的忐忑,最终三天内还是收到了offer,真的很庆幸。
最后
现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。
所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。