#蚂蚁金服
1\.
首先介绍了项目和架构,然后问了dubbo和Zooker的关系,为什么不用其他中间件,Zooker在dubbo中扮演什么角色,是否可以用别的东西代替,以及dubbo和Zooker的一些配置参数。
2\.
然后我们讲了mysql,mysql的索引,为什么不用二叉树,有什么问题,红黑树,为什么不用,hashmap和B树哪个用的多,B是什么样的结构,B能解决什么样的问题,然后我们讲了索引引擎,myisam是什么样的,什么时候用,innodb,里面是否有聚集索引。innodb是如何实现其行级锁的?谁能支持交易?你对交易了解多少?浅谈交易的七种沟通行为。告诉我在你的项目中你可以在哪里使用这个作品,你认为它应该如何使用?
3\.
只是说说mysql,除了索引优化,你还做过哪些优化(子数据库子表Barabara),有没有用过解释?mysql如何优化慢查询?你知道参数是什么吗?比如ket_len、extra和table分别是什么意思?
4\.
让我们了解一下Jvm,谈谈它的内存结构。各有哪些功能?例如,我有一个影响几个区域的对象。例如,如果我给它加上一个常数,这个对象的常数在哪里?如果我用静电装饰它,它会在哪里?我们都知道gc是在堆中完成的。现在最新的气相色谱设备是什么?和别人不一样吗?你知道哪些垃圾收集算法?简单说说优缺点,嗯?新生代中伊甸园、s1、s2的比例是多少?它和老年呢?两者的gc相同吗?较小的
你见过gc吗?会引发什么样的情况。
5\.
Spring,除了常见的单体模式和工厂模式之外,你还知道哪些关于设计模式的知识?他们会分别做什么?Ioc和di,beanfactory和applicationcontext在这方面有什么不同?您刚刚提到了singleton模式,并简单介绍了singleton模式中的双锁模式。这个锁叫什么名字,这个重入锁和同步锁有什么区别?你了解同步源代码吗?简单告诉我。它能保证原子性和安全性吗?易挥发在哪里?
6.好吧,我在这里没什么好问的。你有什么要问我的吗?
我:你对应届毕业生的数据结构要求高吗?
答:对数据结构的要求不高,都是基本的。你的数据结构还不错吧?我再问你一个问题。关于平衡二叉树的红黑树和AVL,你更了解哪一个?
我:红黑树。
答:为什么红黑树会旋转?
我:巴拉巴拉
啊哈,好了,今天的面试就到这里。
#滴滴领袖脸
之前前两边都是电话面试的范畴,没有出圈的问题,所以很顺利。总的来说,无非是对java foundation的考察,数据结构的应用,两个事务的对比(为什么选择这个而不是那个,这样会给你的项目带来什么上面的好处,你必须熟悉你的项目使用的技术),然后进入正题:
1.先介绍一个我最擅长的项目,然后我说的时候打断了,问搜索模块是怎么实现的,然后讲了solr及其后续建立的索引数据库,比如我想找一只英国的短毛猫,我用英文输入了短毛猫,如何获取一些我能找到的英国短毛猫的品种,以及一些相关信息(这里不模糊查询),然后提到了solr和elasticsearch。
2.简要提到了索引相关的,mysql优化,具体怎么做,比如子数据库子表,讲了如何划分横向子表和纵向子表,对子数据库的理解似乎和leader有些不一样(当你觉得面试官的表达有问题的时候,请思考一下东西方向是否有问题),然后就是数据库的一般优化比如慢查询。在这里,如果是并发项目,你要清楚知道你项目的tps、qps、pv等数据,比如优化前多少,优化后多少。业绩提升最好有明确的数字提取,比如增加2.2%。
3.然后我开始讲项目,然后讲集群容灾的问题,比如是不是集群,如何处理redis数据的一致性,然后我问如果主服务器出了问题,下面的从服务器怎么办。这里我提到了哨兵模式,它会检测并培养一个奴隶成为新的主人,然后我问应该培养哪个巴拉巴拉。
之后,我给出了一个简单的算法问题,从一个有序数组中找出某个数字是否存在,并返回它的索引,[1,2,3,4,7,8,8,9],这样就有了一个重复数字的数组。我的想法是由二分搜索法发现。有什么好的想法可以讨论。
最后,礼貌的问你还想让他知道什么,有些问题你想问也没什么。领导重视你的解决问题能力和防错处理能力,还需要努力。
关注Java知识堂,每天给你充足的干货。
作者:千影西利瓦
原文:https://blog.csdn.net/qq_40901379/article/details/85237360