java输出所有三位数的水仙花数,分享面经!

前言

说起来开始进行面试是11月倒数第二周,上午9点,我还在去公司的公交上,突然收到蚂蚁的面试电话,其实算不上真正的面试。面试官只是和我聊了下他们在做的事情(主要是做双十一这里大促的稳定性保障,偏中间件吧),说的很详细,然后和我沟通了下是否有兴趣,我表示有兴趣,后面就收到正式面试的通知,最后没选择去蚂蚁表示抱歉。

当时我自己也准备出去看看机会,顺便看看自己的实力。当时我其实挺纠结的,一方面现在部门也正需要我,还是可以有一番作为的,另一方面觉得近一年来进步缓慢,没有以前飞速进步的成就感了,而且业务和技术偏于稳定,加上自己也属于那种比较懒散的人,骨子里还是希望能够突破现状,持续在技术上有所精进。

进入正题,先后进行了蚂蚁、拼多多和字节跳动的面试。

蚂蚁金服一面:分布式架构 50分钟

  1. 个人介绍加项目介绍20分钟
  2. 微服务架构是什么,它的优缺点?
  3. ACID CAP BASE理论
  4. 分布式一致性协议,二段、三段、TCC,优缺点
  5. RPC过程
  6. 服务注册中心宕机了怎么办?
  7. 微服务还有其他什么组件
  8. 分布式架构与微服务的关系
  9. 你有什么问题要问我的。

阿里蚂蚁金服五面,血与泪的总结(附面试题)

蚂蚁金服二面:1个小时

上来不用自我介绍,项目介绍,直接开始

算法来两道

  1. 各种排序算法、未排序常规数据查找第K大的数,时间复杂度。
  2. 二叉树的深度

操作系统来两道

  1. 虚拟内存分页了解不?
  2. 进程和线程区别?

数据库来三道

  1. 第一二三范式是什么?
  2. 一个表一千个列值为true和false,写sql 查询 有300个列值为true的行。
  3. 脏读和幻读是什么?

JVM

  1. 什么对象会从新生代晋升到老年代

多线程

  1. 一个任务分成十个任务,最后汇总计算,不能用fork/join
  2. 开源框架源码了解不?
  3. 数据建模两道、个人题开放性题

安全方面的问题

  1. 对安全方面了解多少?
  2. 安全协议有哪些 、https是啥?

介绍你做的项目和其中的难点。

三面

个人感觉着重技术深度。

  1. 从ConcurrentHashMap一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas等诸多技术细节;
  2. 从hystrix一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams);
  3. 从简单的生产者消费者模式设计到如何高效健壮实现等等。

四面

  1. 如何倒序输出单向链表?
  2. 个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。
  3. 有更好的实现方式吗?
  4. 主要问项目情况,然后根据一个项目,问如果量级扩大1000倍,你会怎么做?有哪些优化措施?高性能&高可用措施?

五面:HR面

给大家抛出几大深坑问题:

  1. 个人的职业规划是什么
  2. 你遇到的最大问题或者是困难是什么
  3. 你如何看待阿里
  4. 你能为阿里带来什么
  5. 你的优缺点是什么

这几个问题,大家深思啊,不多说。

面试总结:

  1. 技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。
  2. 技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。
  3. 技术原理深入:重点还是提前准备好JVM、多线程高并发这块。
  4. 参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。
  5. 很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。
  6. 最好,提前准备一个大数据访问,比如pv扩大1000倍,你的架构或者技术方案应对措施。
  7. 最后,千万不要倒在HR面试环节,避重就轻是重点,特别是优点和缺点,如果问到你的规划是什么,请记得一定告诉HR你想成为一名优秀的技术专家!

以上就是我的总结,这些都是不断面试积累来的经验,分享出来避免更多同学少走弯路,早日进入BAT等一线互联网公司!

给大家分享下我的复习的面试资料

这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)

资料获取方式:戳这里前往我的腾讯文档免费下载

  • 第一部分:Java基础-中级-高级

image

  • 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)

image

  • 第三部分:性能调优(JVM+MySQL+Tomcat)

image

  • 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)

image

  • 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)

image

  • 第六部分:其他:并发编程+设计模式+数据结构与算法+网络

image

进阶学习笔记pdf

都已整理好,需免费下载点击这里即可

  • Java架构进阶之架构筑基篇(Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法

image

  • Java架构进阶之开源框架篇(设计模式+Spring+SpringMVC+MyBatis

image

image

image

  • Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)

image

image

image

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

image

image

380)]

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

[外链图片转存中…(img-ICmuBUh3-1621487454381)]

[外链图片转存中…(img-ltU8TaAC-1621487454381)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值