面试蚂蚁金服、头条、拼多多的面试总结(干货献上)前言:金九银十跳槽的法式员也多了起来,可是有许多人也表现渺茫困惑,担忧自己面试不上,今天干货献上,希望可以资助到大家,文章有点长,耐心看完哦,文末有惊喜。准备历程蚂蚁金服面试分享拼多多面试分享字节跳动面试分享总结准备历程先说说我自己的情况,我2016先在蚂蚁实习了快要三个月,然后去了我现在的老东家,2.5年事情履历,可以说结业后就一直老老实实在老东家打怪升级,虽说有蚂蚁的实习履历,可是因为时间太短,还是有点虚的。所以面试官看到我简历第一个问题绝对是这样的。
“哇,你在蚂蚁待过,不错啊”,面试官笑嘻嘻地问到。“是的,还好”,我说。“为啥才三个月?”,面试官脸色一沉问到。
“哗啦啦解释一通。”,我解释道。
“哦,原来如此,那我们开始面试吧”,面试官一本正经说到。尼玛,早知道不写蚂蚁的实习履历了,后面仔细一想,当初写上蚂蚁不就给简历加点料嘛。言归正传,准备历程其实很早开始了(固然这不是说我事情时老想着跳槽,因为我明确现在的老东家并不是终点,我还需要不停提升),详细可追溯到从蚂蚁去职的时候,其时出来也面了许多公司,没啥大公司,面了或许5家公司,都拿到offer了。事情之余经常会去分外研究自己感兴趣的技术以及事情用到的技术,力图把原理搞明确,而且会自己实践一把。
此外,买了N多书,基本有时间就会去看,补补基础,什么操作系统、数据结构与算法、MySQL、JDK之类的源码,基本都好好温习了(文末会列一下自己看过的书和一些好的资料)。我深知基础就像“木桶效应”的短板,决议了能装几多水。此外,在正式决议看时机之前,我给自己列了一个提纲,主要包罗Java要掌握的焦点要点,有不懂的就查资料搞懂。
我给自己定位还是Java工程师,所以Java体系是一定要做到心中有数的,许多工具没有常年的积累面试的时候很容易露馅,学习要对得起自己,不要骗人。剩下的就是找平台和内推了,除了蚂蚁,头条和拼多多都是找人内推的,谢谢蚂蚁面试官对我的浏览,以后说不定会去蚂蚁咯。
平台:脉脉、GitHub、v2蚂蚁金服一面一面就做了一道算法题,要求两小时内完成,给了长度为N的有重复元素的数组,要求输出第10大的数。典型的TopK问题,快排算法搞定。
算法题要注意的是正当性校验、界限条件以及异常的处置惩罚。另外,如果要写测试用例,一定要保证测试笼罩场景尽可能全。加上平时刷刷算法题,这种考核应该没问题的。
二面自我先容下呗开源项目孝敬过代码么?(Dubbo提过一个打印accesslog的bug算么)现在在部门做什么,业务简朴先容下,内部有哪些系统,作用和交互历程说下Dubbo踩过哪些坑,划分是怎么解决的?(说了异常处置惩罚时业务异常捕捉的问题,自界说了一个异常拦截器)开始进入正题,说下你对线程宁静的明白(多线程会见同一个工具,如果不需要思量分外的同步,挪用工具的行为就可以获得正确的效果就是线程宁静)事务有哪些特性?(ACID)怎么明白原子性?(同一个事务下,多个操作要么乐成要么失败,不存在部门乐成或者部门失败的情况)乐观锁和灰心锁的区别?(灰心锁假定会发生冲突,会见的时候都要先获得锁,保证同一个时刻只有线程获得锁,读读也会阻塞;乐观锁假设不会发生冲突,只有在提交操作的时候检查是否有冲突)这两种锁在Java和MySQL划分是怎么实现的?(Java乐观锁通过CAS实现,灰心锁通过synchronize实现。mysql乐观锁通过MVCC,也就是版本实现,灰心锁可以通过select... for update加上排它锁)HashMap为什么不是线程宁静的?(多线程操作无并发控制,顺便说了在扩容的时候多线程会见时会造成死锁,会形成一个环,不外扩容时多线程操作形成环的问题再JDK1.8已经解决,但多线程下使用HashMap还会有一些其他问题好比数据丢失,所以多线程下不应该使用HashMap,而应该使用ConcurrentHashMap)怎么让HashMap变得线程宁静?(Collections的synchronize方法包装一个线程宁静的Map,或者直接用ConcurrentHashMap)两者的区别是什么?(前者直接在put和get方法加了synchronize同步,后者接纳了分段锁以及CAS支持更高的并发)jdk1.8对ConcurrentHashMap做了哪些优化?(插入的时候如果数组元素使用了红黑树,取消了分段锁设计,synchronize替代了Lock锁)为什么这样优化?(制止冲突严重时链表多长,提高查询效率,时间庞大度从O(N)提高到O(logN))redis主从机制相识么?怎么实现的?有过GC调优的履历么?(有点虚,答得不是很好)有什么想问的么?三面简朴自我先容下监控系统怎么做的,分为哪些模块,模块之间怎么交互的?用的什么数据库?(MySQL)使用什么存储引擎,为什么使用InnnoDB?(支持事务、聚簇索引、MVCC)订单表有做拆分么,怎么拆的?(垂直拆分和水平拆分)水平拆分后查询历程形貌下如果落到某个分片的数据很大怎么办?(根据某种规则,好比哈希取模、range,将单张表拆分为多张表)哈希取模会有什么问题么?(有的,数据漫衍不均,扩容缩容相对庞大 )分库分表后怎么解决读写压力?(一主多从、多主多从)拆分后主键怎么保证惟一?(UUID、Snowflake算法)Snowflake生成的ID是全局递增唯一么?(不是,只是全局唯一,单机递增)怎么实现全局递增的唯一。
本文关键词:2022世界杯登录官网,面试,蚂蚁,金服,、,头条,拼,多多的,总结,干货
本文来源:2022世界杯登录官网-www.jackcrenshaw.com