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. 反向提问( 业务的社会意义和市场)

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

面试-PA和XSYX面试小结的更多相关文章

  1. Android开发面试经——6.常见面试官提问Android题②(更新中...)

    版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/fi ...

  2. Android开发面试经——5.常见面试官提问Android题①

    版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客: http://blog.csdn.net/f ...

  3. 一名十年Java程序员回忆阿里面试经历——揭开阿里面试的“遮羞布”

    阿里面试经历 去阿里面试可以说非常非常的偶然和戏剧性,因为本人根本没投简历,以至于阿里hr给我电话的时候我一度认为是诈骗电话.因为深圳这家公司不错我还想在这里干个两年左右再考虑考虑. 这个时候的本人已 ...

  4. [Interview]读懂面试问题,在面试官面前变被动为主动

    面试是供需双方心理的较量,作为求职者来说,了解对方问题的内涵,做到“明明白白他的心”,就能变被动为主动.因此,读懂面试问题,掌握面试考官的提问的目的,有准备.有针对性地回答,对提高应聘的成功率是有很大 ...

  5. 如何准备Java面试?如何把面试官的提问引导到自己准备好的范围内?

    Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神或许也能通过面试,但能力和工资有可能被低估.再仔细分析下原因,面试中问的问题,虽然在职位介绍里已经给出了范围,但针对每个点, ...

  6. 字节跳动上传了一份“面试官版Android面试小册”,不讲一句废话,全是精华

    前言 金三银四马上就到了,很多粉丝朋友私信希望我出一篇面试专题或者分享面试相关的笔记来学习,这不今天就给大家安排上了?(都是干货,错过就是亏.) 下面的面试笔记都是精心整理好免费分享给大家的,希望新朋 ...

  7. 面试贴:java异常小结

    java的异常处理在面试中通常是个敏感的话题,这里我从整体框架方面稍微作一下我的小结. java的异常都继承Throwable这个类,也就是都可以抛出来的异常,在这个祖先类下,又分为如下子类: 1.E ...

  8. 今天进行了一次IOS面试,分享一下面试结果

    IOS开发工程师岗位职责:1.负责移动产品IOS版客户端软件开发:2.可根据需求独立完成客户端软件的设计和开发;3.日常工作包括手机软件系统开发.单元测试.维护以及文档编写:不定期的公司内部培训.任职 ...

  9. 谷歌技术面试要点(Google面试)(14年5月20日交大专场)

    技术面试的主题 1.简要自我介绍: 姓名.学校.专业 做过的项目与实习 个人主要成就 2.技术评估: 构建与开发算法 编程 计算机基础知识 数据结构 现实世界问题解决能力 设计问题(主要针对博士生) ...

随机推荐

  1. 去重sort|uniq -d

    #!/bin/bash ############################################################### #Author :Bing # #Create ...

  2. 3 JavaScript正则表达式

    正则表达式:Regular(有规则的) Expression 正则表达式是由一个字符序列形成的搜索模式,可用于文本搜索和文本替换 常见于字符串的search和replace方法 var str = & ...

  3. Python学习第十五课——类的基本思想(实例化对象,类对象)

    类的基本思想 类:把一类事物的相同的特征和动作整合到一起就是类类是一个抽象的概念 对象:就是基于类而创建的一个具体的事物(具体存在的)也是特征和动作整合到一块 对象写法 # 对象写法 def scho ...

  4. CSS3-背景(background-image、background-size、background-origin、background-clip)

    CSS3中新的背景属性:background-image.background-size.background-origin.background-clip 背景图片:background-image ...

  5. redhat 7.6 密码破解(无光盘)

    开机,在下面界面按e 找到linux16  在最尾输入 rd.break 按 Ctrl+x 输入 mount -o remount,rw /sysroot 输入chroot   /sysroot sh ...

  6. vue项目真机测试

    1.在项目中重启命令行运行ipconfig(如果是ios系统运行ifconfig)获取到项目在本机运行的ip地址 2.在项目的package.json中修改允许访问ip地址(--host 0.0.0. ...

  7. 三 基于Java数组手写循环队列

    Code: package dataStucture2.stackandqueue; /** * 手写循环队列 * * @param <E> */ public class MyLoopQ ...

  8. change事件和input事件的区别

    input事件: input事件在输入框输入的时候回实时响应并触发 change事件: change事件在input失去焦点才会考虑触发,它的缺点是无法实时响应.与blur事件有着相似的功能,但与bl ...

  9. JavaScript内置对象Array、String 的方法

    Array push() //将一个或多个数据加入到数组的末端,并返回新的数组长度. pop() //取出数组中的最后一项,修改length属性,并返回被删除的数据 shift() //取出数组中的第 ...

  10. 【JS 常用操作】

    正则表达式 <script> var str = "(08:30-10:00)"; var patt = /^[(][0-9]{2}:[0-9]{2}-[0-9]{2} ...