之前发过一篇本菜鸡的春招之旅,本来已经躺平准备去cvte了,在六月这个神奇的月份里又收到了安恒的面试,顺利的过了,这几天又被阿里给捞了......
自我介绍+项目介绍(微服务项目和rpc项目)
微服务项目
• JWT
• 可能会被截取 , 让他人盗用
• https,降低被截取的风险
• JWT设置过期时间
• 特殊接口使用二次验证
• 阿里巴巴全家桶
• 热点新闻,点赞和评论,使用redis作为缓存减少查询压力
• 使用redis自增XXX...
• 在我的项目中可能不会,因为用的是单机的redis,redis是单线程写入 , 你所有的点赞请求其实都是队列操作
• 我觉得应该要用分布式锁解决
• 讲了下什么是分布式锁 , 能用zk和redis这类去实现,具体讲了下怎么用redis去实现,以及项目中我的用法
介绍一下
• 网络传输方式,序列化方式
• dubbo的具体注册发现流程我忘记了,我给他讲的是我实现的rpc框架的具体流程
• 服务中的通信问题
• 对比了一下springCloud的feign
• 头部开销比http要小,序列化方式可以选择kryo之类的高性能方案,可以做到高效率传输
• 可以维持原本的编程习惯 , 因为是本地调用
• 这里应该是要实现一个消息机制,可以通知到客户端有新的机器加入了 ,但是我是没有考虑这方面的东西,就老实说了
为什么要使用nacos作为注册中心
• redis我也支持,只不过我发现redis需要自己去实现心跳检测机制,所以我就另外加入了nacos
• zookeeper , 后续更新之一
• 我觉得应该也是使用了netty之类的网络框架去实现吧。。
• 那必须有。。没有都得有
• 有测过性能
• ioc
• 记得不太清楚那几个超长的方法名 , 随便口胡了一下
• 构造器注入(官方推荐方式 , 但是不能够解决循环依赖问题 , 因为必须要先把对象创建出来才能放到缓存里)
• seter和geter注入
• 注解注入 (@Autowired和@Resource)
• 如何判断是垃圾 (GCROOT)
• 怎么回收 (标记清除,标记整理,标记复制),各个方法的具体执行过程和优缺点都说了一遍
• 垃圾回收器(CMS)
• 事务的特点 ACID
• redlog和undolog
• 隐藏字段 ,事务版本和历史版本指针
• MVCC和隔离性的实现
这部分太久没组织了,说的有些乱
先问了下我是不是科班
• 进程是资源最小分配单位
• 线程是资源调度的最小单位
• 线程隶属于进程,线程只能访问进程的资源
• 请求于保持
• 环路等待
• 互斥条件
• 不可剥夺
• 原理就是去破坏刚刚说的几个死锁产生的条件 , 比如没有申请到锁的话立马释放 , 类似java里的wait方法 , 还有使用银行家算法去进行资源分配预防死锁等等
平时做项目有没有进行过哪些测试
• 单元测试 , 前后端集成测试 ,性能测试 ,安全测试
• 3-5年成为高级开发,再用3-5年成为架构师
• 需要对业务很熟悉,了解市面上的大部分解决方案 , 了解市面上的最新技术
一道多线程交替打印
一道类似任务传递的题
个人介绍
项目介绍,对着微服务问了很多设计上的问题
对redis缓存和接口安全这块聊了特别多,因为是支付宝的部门原因吧...
最后15分钟开始了聊天模式,聊了很多阿里的技术,说我技术挺符合他们这边的
最后问我愿不愿意来杭州,这肯定愿意了,说保持联系,会帮我加快一些后续的流程。
希望能通过后续流程收到offer!
上来说是XXX部门技术负责人
1.自我介绍一下,包括你的大学,以及所有的技术栈和项目经历
2.你对比985硕士实习生的话,你有那些优点和缺点(这里开始有点破防,导致下面回答的不是很好)
3.考不考研,为什么不考研,家里人为什么不支持
4.有没有什么比赛经历,获得了什么奖项,为什么没获奖,是哪个部分做的不好,如果让你来做会不会好一点
5.说说你的兴趣爱好
6.挑一本你喜欢看的书,说说印象最深刻的几个章节内容
7.你有什么想问我的
8.你还有什么其它offer
第一次面这种形式的内容,有点压力,面试官也全程扳着脸,导致中间心态有点小崩,面完结束一刷新就挂了,哎,还是实力不配了,秋招再努力吧!!!