synchronized,放在各个地方锁的是啥,一个synchronized静态方法,一个普通的synchronized方法,访问静态方法后还能访问普通方法吗,锁的对象是一样的吗。
synchronized的底层实现,知道多少说多少,和ReentrantLock的区别
redis单线程为什么这么快(之前美团问过,但是还是有点记不清。。。)
。。。还有很多底层的问题记不起来了,一面问的都很底层基础。
求一个二叉树里的2个节点的距离,二叉树每个节点的值是唯一的。
当时写的是用递归的先序遍历方式去写,面试官说往这个方向想是对的,就继续卡了挺久,面试官提醒说可以吧走过的路径记录下来,
提醒到这差不多有思路了,就用栈去记录遍历的节点,还是递归先序遍历,当遍历到2个节点中的一个时当前的 栈轨迹就是那个节点的路径(从根节点开始算起的),最后比较这2个栈轨迹就行,类似最近公共祖先,比如找节点4和5的距离如果得出是[1,2,3,4]和[1,2,5] 那他们的距离就是3,及4->3->2->5.
--------4.20 二面50min
一度以为一面能过的概率不大,结果过了还是比较惊喜。
二面面试官特别和善,心情很好,上来就活跃气氛,说我这里天气很好啊,在寝室吗。。。
自我介绍
问项目,问具体实现,怎么使用redis的,myqsql有优化过吗,说说过程,登录流程,拦截器,jwt,2级缓存,部署,docker,git,
都是简单的聊,没有深入,这些技术是怎么开始去学的,碰到问题怎么解决的。
问了个ConcurrentHashMap
问了项目的实际使用情况,一个在商用一个没落地
问什么时候可以实习,能实习多久(我还以为结束了。。。)
继续问了几个底层:讲讲volatile,JMM,垃圾回收过程,字节码角度解释return i++,mysql的事务原理;
为什么喜欢java,怎么开始学的(感觉面试官特喜欢java)
算法题,面试官吧函数啥的都码好了,例子也给我写了( 🤣,码子速度惊人)
一个字符串,找是否存在一对AB-BA或者一对BA-AB, 重复的不算
直接遍历一遍吧AB和BA出现的数量记录下来,根据他们出现的次数分类讨论
(算法是可行的,复杂度O(n),面试后发现有更好的方法,双指针2端往中间扫描(左边有AB则右边就找BA这种思路))
----------4.23主管面30min
面试官看着就像大佬( 🤐)
问项目,项目里哪里可以优化,第一个项目如果落地了,如何保证高可用,数据库主从,后端服务多开几个,怎么保证
前台访问的接口一定能找到后端服务,用一个网关,怎么保证网关高可用,。。。(不清楚了,下来想了下,nginx+keepalive就可以
当时咋就想不起来泥。),引入了redis,redis挂了怎么办,系统还能正常运行但是很慢,所有redis异常都被捕获了,最终都会查询数据库,当时候人工维护。
怎么部署https的。https的加密流程。
最近在看什么书,推荐下,并发编程的艺术,学到了什么,里面很多思想都和操作系统的联系起来了与学校的纯理论课相比更加形象(实践起来了那种,比如阻塞队列,cas,管程)
什么时候可以实习,有什么想问的
什么技术栈:dubbo,没学过,面试官说SpringCloud那一套也可以,消息队列是自研的,去学RabbitMQ就行,缓存用的C++,
-------------4.29HR面20min
pdd HR小姐姐,声音很好听,很年轻(不知道是不是也是实习生),期待薪资,项目(说功能就行),怎么学的,家庭情况,学业情况,等通知,一周能
-------------5.12
base上海,是我向往的996作息,工资也给到了期待的最右区间,包吃,有转正,总的面试体验都很不错
----------------------------------蚂蚁金服花呗部门
======================================================================================================================================
--------------2021-04-29 支付宝蚂蚁花呗2面 电话面试20min
3月底就已经一面了, 当时面试官十分满意, 第2天就拉我2面, 发现已经投了阿里其他部门了,
就去转流程卡了这么久才来安排2面…
2面的面试官很忙, 原本晚上78点左右, 因为开会就调到晚上10:30安排(下班了还要面试, 很感激)
直接介绍项目(校园水站系统和奶茶店点餐系统外包)
问项目(负责的模块(全部是一个人做),为什么写水站, 水站项目的流程, 具体功能,
可以帮助送水员送水吗(每栋楼舍有实时叫水概览图), 奶茶项目的支付功能怎么实现的(微信支付),
把下单流程说下(选商品, 下订单, 微信统一下单预支付, 小程序调起收银台, 回调填入交易号,
账单回查, 商家自己负责配送))
项目用了哪些技术(SpringBoot, MySQL, Redis, JWT, Linux, Docker, uni-app, Vue)
为什么用JWT, 作用, 怎么用的?
说下二叉树和B树的区别和各自优缺点?(没答好,B树效率高且适合数据多的情况,节点二分查找,磁盘块读取,二叉树适合数据量少的直接全部加载到内存去读)
说下Redis的2中持久化的机制?(RDB和AOF) 各自优缺点?
Redis为什么用单线程?(简单专一, 不用考虑并发不用锁, 高效无线程切换, 私下查了还有: 瓶颈在内存不在CUP, IO多路复用)
JMM里堆里分代的原因?好处?
以后打算从事那个方向或者发展方向?
最近在学的技术(目前认知停留在微服务阶段)
说说微服务的理解?(将整个项目拆成不同个子项目(服务), 服务集群, 像是RPC调用那种, 没答好(服务注册发现, 网关, 熔断, 服务通信等))
微服务的优缺点?(提高并发, 模块化服务解耦, 编程复杂, 分布式事务)
最近有在面其他公司吗?(美团oc半个月了offer还没下来,拼多多明天第4面HR面, 携程1面挂了5.8有个复试, 最后表明自己真的很想去蚂蚁)
有什么问的?(什么部门的, 主要业务)
问题都不难, 阿里这边比较喜欢问项目,这个面试官更想听你的理解, 20分钟就结束了, 算法也没问, 可能是大晚上了吧
-----最想去蚂蚁,一面面试官师兄也一直在帮催流程
面试官说在安排hr了,拼多多还有几天考虑时间,如果等不到去拼多多也很不错
--------------------------------字节
===================================
找的内推,没有笔试(之前投的笔试挂了)
内推人很给力 5.11投的,当天就安排了一面时间。
----------------------5.11 上午一面50min
面试官很年轻,问的都很基础底层
自我介绍
项目说了一点点,面试官说他们是c++/go方向的,我是java到时候可能要转c++( 🤣我说我就是从c++基础转去学java的)
InnoDB的页机制
ACID,事务如何实现,redolog很大怎么办
redis的数据结构,各个使用场景,过期淘汰策略
进程线程的区别,进程的切换过程
虚拟内存,为什么要有虚拟内存,进程的虚拟内存联系起来 (盲区。。。)
HasnMap和ConcurrentHashMap的区别
内存可见性(我当时回答大致说每个线程对应一个cpu,每个cpu有自己的cache,cache和主存之间通过总线缓存协议维持一致性,不知道对不对)
还有几个简单的基础底层
算法题:将一个句子的每个单词原地翻转,不难,但是面试官看着我一行一行敲完,敲完就把我的错误全部指出一遍跑通(堪比调试器 🤣这面试官以前莫不也是java的)
提问,问完当场说下午安排2面。
(算法还好,运气好不难,面试官把控的很好,很多学过的操作系统那些都快忘了也会去引导你慢慢想起来)
-----------------------5.11 下午二面40min
面试官全程半站着,可能坐着累了。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/9343a45a54825e48109800b7d9328748.jpeg)
最后
面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?
掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
最后
面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?
掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。
[外链图片转存中…(img-WDabWezY-1713535162881)]
[外链图片转存中…(img-DYlIMf0M-1713535162881)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!