面试-PA和XSYX面试小结

XSYX

1.自我介绍

2. 最近一个项目的业务和技术栈

3. 分布式锁解决库存问题

4. spring的IOC和AOP讲解

5. 类加载器层级

6.线程池核心参数和问题

7. 期待的团队是怎样的?

8.反向提问(对docker和k8s的应用以及技术栈的升级的态度和规划)

PA

1. 自我介绍

我是x,y年毕业于z大学a专业,现在已经工作了b年,先后在c,d,e等领域做研发工作。我的技能栈是:xxxx;
我最近做的一个比较贴合岗位要求的项目是A,主要做健康saas平台,我主导了整个健康saas云平台的架构设计,封装了一整套公共技术组件,各种saas平台碰到的问题,我基本也踩过相关的坑了。

接下来你看是先讨论项目还是跟项目无关的技术。

结合面试前整理的岗位技能要求,背书一遍,比如下面是职位要求。

Java架构师

工作职责

  1. 参与SaaS云平台系统架构设计;
  2. 分布式云平台系统开发;
  3. SaaS云平台公共技术组件设计和开发;
  4. 参与解决各类疑难技术问题。

任职资格

  1. 本科学历, 计算机相关专业,5年以上开发和设计工作经验 ;
  2. 有千万级云平台架构设计和开发工作经验,精通Java编程;
  3. 深入理解网络编程模型,对各类开源框架有深入的了解;
  4. 熟悉并能熟练运用Redis、Kafka、Solr/ES、MQ等开源组件 ;
  5. 熟悉MySQL或Oracle数据库;
  6. 在微服务系统设计(基于Dubbo或Spring Cloud等)、开发和运维领域有相关经验。

我背书技能栈的时候,结合自己的技能点,一一对应上做介绍。

我成功的主导和参与过日请求量过亿,日活过百万的云平台的架构设计和开发工作,比如我在A公司主导设计的XAPP项目;
我精通Java8,对源码有一定程度的研读,对网络,集合,并发,io使用娴熟,理解深刻;
我熟悉Netty,对编写无阻塞高并发的网络通信模型有一定研究,比如我在B公司主导研发的Y设备连接中间件;
我热爱研究开源框架,spring,springboot,springcloud,dubbo的源码有一定研究,封装过团队使用的公共组件,适合团队使用的传统的技术开发栈,最新的springboot开发栈我都搭建过。
Redis,Kafka,Es,MQ(kafka,rabbitMQ,rocketMQ)是分布式场景下的架构的基础组件,这些我都能熟练使用,并0运维的搭建相关集群;
熟练使用MySQL多年,数据库调优,冷热库分离,读写分离,分表分库等都熟练掌握和操作,数据库中间件zebra,Mycat都重度使用过;
最后服务的这两家公司,A公司采用的dubbo为主要RPC通信手段的微服务架构,而B公司采用的是SpringCloud为主要技术栈的微服务架构,我可以搭建全套的技术栈,开发,自动化测试,部署,监控,调优等有亲力亲为过的,也有跟运维的同事合作搭建过。
运维方面,我熟悉docker和k8s,会写简单的shell脚本,python脚本,ansible有多年使用经验,不客气的说,100台左右数量的服务器,可以让我来做运维。

2. 最近一个项目的技术架构和业务架构

当时没回答好,幸好拿了一个本子和笔头,一步一步倒豆子一样给面试官画。
现在用专业的工具planuml

3. 限流的实现原理和漏桶算法

4.日志中心如果队列满了的处理策略

5. redis的bitmap算法(布隆过滤)

6. 秒杀的解决方案如何不超发(分段锁)

7.线程池的核心参数,AQS模型

8. JDK8的CompletableFuture的掌握

9. 反向提问( 业务的社会意义和市场)

原创不易,转载请注明出处。

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...