技术面试

自我介绍

个人经历背景、经历过什么大起大落 做过什么有挑战的事情  每家公司自己的成长和挑战是?

项目:

项目怎么讲清楚? 面向的用户和客户是谁?体量有多少? 业务流程是什么样的? 有哪些模块? 用到了什么样的技术? 每种技术是如何选型的?为什么是这样的一个技术架构?架构有没有哪里不好的?

业务痛点和客户价值&衡量指标

衡量做的好坏的数字指标是?

角色:

项目负责人,1人负责整体工程端工作,架构设计 项目管理?

架构:

模块+模型+表结构+挑战+结果;

依赖了什么?对外输出了什么? 沉淀了什么?

都有哪些模块?相互之间的关联关系是什么? 各模块的解决的问题是? 为什么要这么设计? 为什么要这些表? 为什么要分库分表?

技术亮点&擅长的技术

挑战&难点&怎么解决的?

达成目标 业务和产品策略是什么?运营节奏是?

在技术选型上有没有其他的对比?为什么选择这个方案?

做这个项目,你最大的收获是什么?你觉得哪些地方可以改进?再来一次会怎么做

学到了什么?

团队定位

  • 整体的产品&技术架构是什么? 你们团队在里面的定位是?背的核心kpi是?
  • 团队组织架构? 分多少团队 各自负责什么? 你们团队负责什么?你负责什么?你这一趴的定位是什么?
  • 跟业务整体目标有什么关联? 你对目标体系做的增量价值是? 有什么创新方案?推动了谁?过程中经历过哪些困难? 怎么克服?

业务理解-目标驱动和行业对比意识

  • 业务竞对分析:他们是怎么做的? 体量 ? 优劣势?
  • 使命&愿景&用户价值?
  • 团队背的核心KPI是?衡量的核心指标是?
  • 有没有跟业务或者主管不一致的想法? 后面如何处理?如何证明自己? 后期的效果如何?
  • 你对客户是否有拜访 跟客户有什么联动 自己有没有主动推动过一些事情并落地带来好结果?
  • 有没有收到了什么负面反馈? 什么原因?如何改善? 成长是什么?
  • 除了开发需求 有没有自己自己主动推动过业务产品发展的事情?

主动性&担当&工作成果&贡献-业务推动能力及其结果

  • 主动发起并构建了统一的....平台,并解决了协同实习性等诸多问题问题,引入了规则引擎等技术框架,有非常好的发现问题、解决问题能力,对细节把控也比较好;
  • 主动发起了...项目,在模型设计、数据存储、信息加密方面做了比较多的工作, 对业务与技术的理解不错。

技术-深度和视野

基础

  • 基础数据结构的实现:linkedList arrayList hashmap treemap
  • hashmap 实现? 红黑树特性和原理? 复杂度?
  • HashMap在JDK8中如何解决死循环问题?
  • HashMap和HashSet关系
  • concurrentHashMap实现
  • 常见的并发模块和类? -
  • volatile的作用和原理
  • ThreadPoolExecutor用法与关键参数关系?核心参数理解
  • 进程间如何通讯,线程间如何通讯? 线程通讯:信号量、信号、锁
  • Threadlocal是怎样实现的? 注意些什么?
  • sleep()和wait()的区别,
  • 进程间通信方式有哪些?各有什么优缺点,挑一两种说下使用场景
  • synchronize和重入锁的区别:
  • aqs 逻辑, 加锁和释放锁
  • 重入锁下有几条队列?
  • cas理解、产生的问题、怎么解决?哪些类通过版本?
  • jvm内存结构?
  • 栈溢出情况、新生代内存结构及其比例划分&为什么这么设计?
  • 垃圾回收器类型和算法?G1 CMS使用场景?-
  • jvm常见参数? 常见分析指令? jps jmap jstack zprofile等?- 没怎么做个调优 Integer
  • 类加载机制  双亲委派 为什么这么设计?  如何打破? Tomcat osgi jdbc如何做的? 其他语言 怎么做的额? node里的npm? -
  • 自定义类加载器如何实现?注解的原理?如何实现自定义注解?
  • maven jar包 冲突解决方案? spring cloud 怎么做的? 版本代号-
  • 如何排查类冲突?如何隔离冲突?如何自定义类加载器
  • spring aop的理解?用了哪些设计模型?动态代理理解? 有哪些实现方式?jdk cglib asm ?选型对比?
  • BeanFactory和ApplicationContext的差异?
  • spring 容器启动顺序和流程,扩展点BeanFactoryPostProcessor的加载流程?
    • springcontext 管理bean 加载插件  , 没看过
  • spring事务传播机制 ?异常处理?
  • Spring IOC的初始化和生命周期?
  • spring的ioc启动流程简述:refresh方法、解析xml文件或注释、BeanDefinition、初始化上下文ApplicationContext
  • 相互依赖 死循环问题 - 三级缓存 提前曝光 还没初始化先放到缓存里
  • springboot 和spring 的区别?何自定义stater、spring.factories实现自动配置,加载所有需要加载的bean?
  • bean factory和factory bean的区别 - ok
  • BIO/NIO/AIO各自特点及对应场景
  • NIO的在netty中的封装的模型及底层操作系统epoll的实现; select实现对比?
  • 粘包 拆包
  • DDD的理解? 解决什么问题? 遇到什么问题? 如何建模? 做个 用例分析没?  怎么确定领域边界?问题域的划分?
  • 单点登录,cookie,session理解

设计模式

有哪些设计模式?在哪些源码中看到过使用场景?如何设计? 如何实现?

线上问题经验

有没有遇到线上问题?怎么解决的? 有没有其他方案?解决效果如何? 有没有被复用?

  • 什么情况会出现 Full GC,什么情况会出现yong GC
  • 调优经验? 为什么调整?分析过程是怎样的?调整了哪些参数?效果如何?(老系统 4g 堆空间 768M 当时 Young区比较频繁,dump日志 结合 zprofile 做分析,大量for循环创建对象,后面结合代码优化以及 堆空间升级 )
  • 常见的cpu load过高 一般是什么问题。引申出是否用过top,jstat,jstack等    使用过top,jmap、jstack、jstat没有使用过。
  • 查看任何进程下线程运行状态?jps
  • 如何诊断java线程死锁?jstack;
  • while(true){new thread().start();},内存和cpu飙高;
  • 诊断死锁?1)看堆栈;2)select;3)java线程状态,死锁blocked;4)cpu占用率很高;

数据库

  • 数据库引擎及其区别, 主键索引实现方式对比 ? 对于为何B+树比B树更适合做索引?优劣势对比?索引类型 ?
  • 隔离级别、幻读理解和解决方案 间隙锁 mvvc的理解-
  • 读写分离&分库分表 做过没?数据量有多大?分多少可库?基于什么做分库分表-用户id OR 时间 为什么?主键唯一主键id生成方案是?选型对比- shardding tddl mycat? 优劣势是什么?有没有什么限制? 各自核心原理是? -
  • 分库分表的主键唯一主键id生成方案?
  • 分表之后会遇到哪些问题  ?跨库分页如何解决? 如何实现数据的整体排序?
  • 常见sql优化方式? 如何做分析?explain的使用和理解 每一列的含义是? 慢sql经验?

中间件&分布式:

  • 分布式事务哪些实现方式?二阶段&三阶段等的区别和理解
  • 跟memcache相比 Redis有哪些优缺点?Redis如何实现扩容?如何解决redis热点数据问题?
  • redis集群模式&对比 汰换&失效策略
  • redis的持久化方式?aof和rdb的区别?
  • 缓存击穿 雪崩及其解决方案
  • 其他 缓存 数据库? 对比? -
  • 一致性hash 解决什么问题 、原理 -
  • 分布式锁实现方式有哪些? 有没有什么可优化的空间?如何减少远程服务调用?
  • 分布式系统如何做幂等设计?
  • netty的reactor线程模型   select? zero copy , TCP粘包/拆包?
  • es和solr & rpc 序列化 & netty mina & mq(kafka rocketmq metaq redis) & orm & 分库分表 & 缓存数据库(redis memcached) &
  • 状态机 & 工作流 等中间件 实现有哪些?对比选型?优缺点是?为什么选择这种方式 跟其他的对比是? 背后的原理?遇到什么问题 怎么解决?取舍是什么?业务特点是怎么样的? 有遇到什么什么问题? 怎么解决?各自核心原理是?
  • mq底层实现? 乱序&丢失&延时 如何解决?kafka的数据如何存储的? 查询索引如何设计的? 日志索引。
  • rocketMQ的如何保证不丢以及消息是否能够一定被消费
  • sentinel 本身的开销、集群限流 、 滑动窗口和令牌桶等实现对比(开销更大 但精准度更高)
  • dubbo实现?有哪些模块?各个模块负责什么?选型和对比? 软负载是怎么实现的? -
    • RPC的原理是?服务是怎么注册的
    • rpc监控、运行容器,底层通信等细节;
    • 服务注册技术选型,负载均衡机制、网络传输重失败试机制、网络传输框、客户端代理、服务端服务查找映射调用如何设计计与实现
    • 怎么做全链路的追踪?
  • zookeeper 节点类型?  集群部署节点角色和各自负责什么? 一致性协议理解?
  • zk的读写过程和作用
  • zk什么时候要选主及选主的逻辑;
  • 公司自研中间件 相对 开源的 有什么不同?开源上有哪些类似的解决方案? 为什么要自研?能解决什么特殊问题?

源码

看过那些源码? 背后的原理? 设计的如何巧妙? 涉及到什么设计模式? 同类框架是如何做的?

著名开源项目的源码。 dubbo zookeeper redis mybatis spring tomcat netty等 相关源码如果看过最好

项目管理

为什么做这个项目?价值是?痛点是? 带领过多大的 项目 ?涉及多少团队 多少人力 过程中遇到什么阻碍 如何解决?风险应对?成长是?怎么做好项目管理?

团队管理

团队管理 上 有什么经验?如何发挥每个人的潜力? 如何保证成员成长? 如何能做好沉淀?

个人成长&影响力

  • 负责统一调度系统等多个产品,有主导中大型系统经验
  • 公司考核机制?目前级别? 工资情况?绩效情况 是否top? 在OYO2年都是A 优秀员工,在陆金所 第一年是C(后面还有E) 后面几年都是A? 有没有参加过晋升?晋升结果?
  • 最近有没有面试过其他公司?进展如何?给到的薪资层级如何?上家公司薪资多少?期望薪资多少
  • 在团队内会做个分享没?分享什么内容?
  • 团队里有什么特殊贡献没?分享?分享什么?内推 内推几人? 专利?价值是?影响力如何
  • 自己有很棒的开源项目
  • 个人博客 有没有?
  • 一周的工作任务是什么? 项目架构设计?一天写代码的时长有多少
  • 业余时间在干什么(抽时间学一些课程、领域知识/)
  • 成长经历是怎么样的? 每一年 半年 自己有哪些成长? 经历了什么?
  • STAR模型,T和A,你做了什么样的Task,用了什么Action,取得什么结果,就是TAR。特别关注S,Situation,你在什么条件下做什么事情 (你这个部门多少人,跟你合作的上下游,上下左右都要看,你跟谁合作,汇报给谁,你下一个是谁,哪些活是你独立干的,独立干的时候起点是什)

学习习惯

  • 学习方式?学习来源?github 技术群 公众号(具体哪些)
  • 最近学习那些技术?接触了哪些新技术? 新技术 jdk9 10 新特性 ;云原生;servless理解;
  • 每天花多少时间学习?
  • 是否参与 过开源项目?影响如何?
  • 最近看的一些书? 技术上的书籍- 阿里高可用架构、paper、github ? 项目管理? 软技能? 创新? 产品?
  • 写技术文档,公众号,jdk源码、高并发、spring;我的IT技术路
  • 分享 举行多次code review , 怎么阅读源码
  • infoq参加过一次;
  • 想法:希望得到多方的反馈以提升技术能力,关注行业内技术大牛

个人规划:

  • 3-5年的规划是什么?--短期想接触更多有挑战的项目成为资深工程师,进一步提升知识深度,长期成为架构师。

在线笔试

评估面后的1到2天左右,注意代码规范 和 答题思路 , 写点注释 ,代码整洁, 主要是 并发基础+设计模式+基本的数据结构和算法题(、排序算法、二叉树、红黑树、平衡树 等) [常见笔试题-自己也多在网上找找资料]

给定一个字符串,输出不含有重复字符的最长子串的长度。

输出杨辉三角,10行即可

例如:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

两个线程A,B按序输出 0-100之间的元素,线程A只负责输出质数,线程B负责输出其他元素。

a线程质数 1

a线程质数 2

a线程质数 3

b线程元素 4

a线程质数 5

单例的实现(懒汉 和 饿汉)  工厂模式 策略模式 模板模式等的实现

共计9个苹果,有2只猴子,一个猴子每次拿2个苹果,一个猴子每次拿3个苹果,如果剩余的苹果不够猴子每次拿的数量,则2只猴子停止拿苹果,请用java多线程模拟上面的描述并打印出过程

个人特质&潜力&稳定性面试:

面试岗位的理解?

可以了解了解我们做什么,自己也可以在网上找找相关资料。

面向的用户是谁?给用户带来了什么价值?商业模式是什么?是否看好?为什么?竞对是?优劣势?

本科-大学在哪里读的?

大学期间:参加SAP公司的举办的比赛:项目使用机器学习算法,预估二手车价格。前后端开发。获得一等奖(一等5个,还有1个特等将)。

大学2次获得人民奖学金,成绩前20%。

当了三年的班长,比较看重学习,倡导学习氛围,整个班三十几人,考研考了二十几个211 985。

获奖的情况

大学和公司期间 参加过什么比赛?是否获奖?

虽然是刚毕业三个月自己争取带项目,年度协作奖评选获得这个奖项。

为什么来杭州&离职原因

各个公司离职的原因?怎么积极回答好

家是上饶的,小孩刚出生。全家都过来,老婆目前全职带娃,支持来杭州。

加入阿里的诉求是?

其他考核点

  • 过往历史的环境中有哪些东西是自己主动变的,有哪些东西是被动变的。主动变,怎么抓住主动变革的机会以及变革的成功的概率,结果怎么样?
  • 当你跟你上司意见不一致你怎么处理?
  • 哪些事情是别人都不赞成你做成了的
  • 这个事情你在做的过程中,你最失望最灰心的是什么时候
  • 你自己觉得最骄傲和自豪的事情是什么? 为什么?

其他

面试流程:

简历评估面 1面+笔试  2面 3面(包括HR面)  如果想快点面试,可以主动和面试官反馈 可加速流程

面试要心得体会

  • 简历上的技术点  : 所有写上去的都可能被问到 一定要准备好 如果不熟悉 尽量不要写进去
  • 可以投一些小公司面试面试 锻炼下自己, 准备好了之后在面试阿里,如果面试挂了会被记录在档,半年后才有机会在下一次面试
  • 回答问题前先听清楚问题 如果没听清楚可以跟面试官确认 然后结构化 简要回答 要有重心 别太扯一些无关的
  • 阿里面试的关键不只是技术基础,还有 个人潜力、思考等,不能只看技术

面试的一些经验分享

可主动在网上搜索下其他人的面试经验

  • 干货 | 和Java程序员谈一谈阿里的面试心得  https://mp.weixin.qq.com/s/0DHCEFEzOlVvAV7U0OCpLg
  • 2019年阿里技术面试题集锦(28道含答案) https://mp.weixin.qq.com/s/cZLpwNINT0GjSYKNC2grjA
  • 一位阿里P7的面试题经验分享,希望能帮助到你 https://www.lmlphp.com/user/10804/article/item/424127/
  • 阿里 P8 大牛的建议,工作 1-5 年的 Java 工程师如何让自己变得更值钱 https://xie.infoq.cn/article/ef604e55de0cd55bf3e970ca0
  • 手握美团offer,结果背调红灯,哭了,网友:别小瞧背调公司 https://maimai.cn/article/detail?fid=1487089506&efid=F-S446BZaNjJFPqEeYLhGA&use_rn=1

最后

如果 有职业困惑、职业挑战不知如何解决、遇到瓶颈想换个工作的同学 加我个人微信:yaogao000, 备注:招聘_姓名

可扫码加微信,如果有好的朋友 也麻烦帮忙推荐推荐

阿里 面试那些二三事相关推荐

  1. 腾讯,阿里面试(二)

    写在前面 结果? 决定实习的公司:腾讯CDG 拿到实习offer的公司:腾讯CDG.阿里巴巴蚂蚁金服.欢聚时代YY.中国平安 未通过或者主动放弃或者石沉大海的公司:百度.网易.百度.京东.华为.360 ...

  2. [Java面经] 关于面试的二三事.

    今天终于闲下来了, 那么也好总结下这几天面试的经历. 四天的时间一共面了七家, 有一家是自己推迟了没有去. 声明:如若转载请注明出处:http://www.cnblogs.com/wang-meng/ ...

  3. 西邮Linux小组2019-2021面试试题二三事

    目录 1.关于static 2.)关于printf()返回值 3.sizeof 和strlen() 4.数据的溢出 5.有关运算符 1.)|和|| 2.)<<和>> 6.关于c ...

  4. 学生党如何拿到阿里技术offer:《阿里面试(成功)》

    这次和大家分享的文章来自一位学姐,她这篇博文的题目和之前一篇相同,都是<阿里面试>,但是她与之前的学长不同,这位学姐成功拿到了阿里的数据研发工程师的offer.从两轮技术面试就可以看出学姐 ...

  5. 【撷英采华】阿里面试Linux基础笔试题-含答案

    文章目录 一. 阿里面试流程 二. 阿里原题限时答题 三. 参考答案: 四. 总结 一. 阿里面试流程 阿里的面试一般分为笔试和电话面试. 很多大的外包公司都在帮阿里招聘,所以他们的候选人很多. 所以 ...

  6. 6面阿里拿下30K*15薪Offer!聊聊面试要注意的二三事...

    两周前,学弟通过了阿里六轮面试,顺利拿到了 Offer!负责高德地图的前端部署. 薪资待遇很不错,30K*15薪.在此之前,他在国营公司干了3 年,这次回到大厂,用他的话说,真的做足了准备! 阿里在互 ...

  7. 2021年4月16日 阿里供应链Java研发实习面试(二面)

    title: 2021年4月16日 阿里供应链Java研发实习面试(二面) tags: 面经 2021年4月16日 阿里供应链Java研发实习面试(二面)(70min) 自我介绍 介绍自己的研究生项目 ...

  8. 刚参加完阿里面试:一面+二面+三面+HR四面,我的复盘经验总结!

    阿里中间件团队一面: 第一步先自我介绍? 介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力. 第二步:项目中做了什么,难点在哪里? 主要是想了解参与过技术难度最大的项目难点, ...

  9. 刚参加完阿里面试:一面+二面+三面+HR四面,我的复盘经验总结

    阿里中间件团队一面: 第一步先自我介绍? 介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力. 第二步:项目中做了什么,难点在哪里? 主要是想了解参与过技术难度最大的项目难点, ...

最新文章

  1. python学习书籍推荐-Python语言之6本机器学习书籍推荐
  2. iOS计算输入字符数
  3. 安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法...
  4. 在创建表时,对于auto_now=True与 auto_now_add=True 的区别
  5. OpenWrt 之 MT7628 使用GPIO中断
  6. leetcode74. 搜索二维矩阵 ,你见过吗
  7. 高性能HTTP加速器Varnish(管理维护篇)
  8. braft中AppendEntries逻辑
  9. leetcode—19.二叉树遍历相关题目leetcode总结
  10. Mysql数据库详解
  11. Linux学习--CentOS可视化配置网络
  12. keystone 存储 android,KeyStone存储器架构
  13. simulink AWGN信道使用要点
  14. Nodejs Playwright 自动识别验证码登陆B站
  15. android 粘性控件,RecyclerView 粘性标签库: 可结合 BRVAH 使用
  16. mysql1526_MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx
  17. 数据可视化8_数据分析的一般流程
  18. Android 模拟手指滑动
  19. 201571030314/201571030316《小学四则运算软件软件需求说明》结对项目报告
  20. 爬虫-自动化完成上百题目

热门文章

  1. 第9章 EBASIC脚本语言及应用
  2. 通过可视化图了解您的 Spark 应用程序
  3. Apollo planning之hybrid A*
  4. 数学建模学习(55):Flesch Reading Ease阅读评价实现
  5. 私活利器,时薪翻一番,推荐几个SpringBoot项目,建议你改改
  6. 中小银行如何可持续运营
  7. dojo 开发资源_使用Dojo掌握面向对象的开发
  8. 【论文笔记】Decoupling Representation and Classifier for Long-Tailed Recognition
  9. 做一个正气的杭电人--hdu2500
  10. 2022年中国工业电子雷管市场现状研究分析报告