钉钉二面+三面+京东数科一面(附Java复习资料)
前言
首先恬不知耻的放上我的博客,这是我近期总结的所有知识https://blog.csdn.net/aaahxz
JUC这块下了很大的功夫,希望能帮到大家!如有错误请提出我做更正(认真脸)!
本人为双非学校本科生,因为对技术特别热爱,加上有老师带队做开发,
可以说有一丢丢技术的技术水平吧,所以三面和面试官聊得还算可以
哈哈哈咱也是大三的学生,我看怎么评论走向把我喊老了呢😅
钉钉二面
二面就是码代码了,考一下基本的算法
1. 判断链表是不是回文链表
2. 数组子数组最大的和
还是蛮简单的,阿里嘛,主要挖源码多一些
钉钉三面
三面如期而至,大概隔了一两天
首先,怼项目。前面也有所提到,我一直在学校跟着老师做开发
项目经历还是比较丰富的
就提了一个简历里没有写的项目,因为用到了nginx集群+tomcat集群+redis集群等也算得上是半个分布式项目吧
主要是讲述了如何抵抗高并发的实际处理手段:MySQL主从复制搭建好然后用mycat做读写分离
还有一些优化手段:页面静态华、缓存技术、集群间的负载均衡
最主要聊到了我的秒杀系统那里:主要涉及到Redis的预减库存这一部
第一要保证原子性,第二要保证处理速度
Redis采用I/O多路复用,即可以并发接受网络请求,而且一个网络请求控制为一个机器指令
假如不能满足当前需求的话,还可以用LUA脚本,期间还提到了Redis事务,感兴趣的可以去了解一下,和MySQL的事务是不一样的
然后聊了聊Redis集群和Redis cluster的相关特点
为什么哈希槽是2^14个,以及哈希一致性(Redis集群)和哈希槽()的区别
然后就开始问了:你对未来的打算,之类的,最后面试官说后续会有其他的的面试环节,希望我顺利加入阿里
=======================================分割线==========================================
3.24 补充:后来想想,面试过的原因大概是因为我在学校的创业经历可能和钉钉比较相符,因为丁丁也是内部创业的产物
和面试官大概聊了十多分钟这些经历,创业的坚信可能只有经历过才懂,所以也能获取大老板相应多一些的认可吧
人生啊~没有白走的路
后续:
我不是什么大佬,只不过是喜欢总结一些东西~
由于今年 情况有变
加了一个笔试,本来觉得稳的,现在变得缥缈起来,无奈自己没有准备笔试,答得一团糟 简历一直处于评估状态 不给面试的机会 唉!
人生总是处处充满惊喜!
补充:
陆续有小伙伴私信我说分布式的架构如何如何,其实短期内的话,学好分布式还是挺难的,因为每一步都可以揉碎了讲
我先贴个图吧,不知道从哪里站来的,反正项目如果做到这个程度,可以说是很牛了,尤其是本科生阶段
分布式也好,微服务也罢,个人认为都是将模块拆分,例如商城系统可以有会员系统、商城首页、商品详情、热点数据这些
单机扛这些高QPS肯定是不行的,所以要进行拆分,如何将拆分的单个模块进行调用,这时候就得dubbo登场了,在zookpeer注册,dubbo进行远程调用这些
往下就有什么SSO(单点登录啦)、各种服务、甚至分布式锁(Redis可以用sentx,不知道拼的对不对)这些
体量更大的话还可以用消息队列(削峰、异步、解耦)、再往下就是缓存、DB层了,搜索方面可以用ElasticSearch来进行大规模数据的检索,
缓存搭建redis集群或者Redis-cluster的方式、DB用中间件mycat、先做好主从复制、在做读写分离,具体其他优化还有一些CDN啊,nginx方向代理啊、页面缓存啊这些
至于dubbo和SpringCloud的区别以及为什么选择dubbo,感兴趣的同学可以去搜搜嘛,这里就不细说了
大概的思路就是这些,要学的还是蛮多的,我是菜鸡、大佬轻喷
也不一定要回这些,但话说回来,技术永无止境吗,基础扎实实习生就没问题了,但是想让自己的竞争力变得更加强,多学点总没坏处
前提是对这个行业很感兴趣
京东数科一面
时间有点久远能记得起来的不多了
基本上还是JUC这一块,数据库的事务、隔离级别、RR级别的运行原理,左右连接
常见的集合collection和collections的区别
list和set区别,以及各自的子类
Hashmap,问到死,幸亏这块掌握的还算熟练,居然问到了问什么要无符号右移16位(减少哈希碰撞)、为什么不能用B+树等等
ConcurrentHashMap问细节put的过程:先判断,为空则CAS***去,若数组正在扩容则帮他一起扩容,不为空则锁住头结点巴拉巴拉
start、run的区别,线程状态,操作系统级别的
线程池,核心参数,怼细节,阻塞队列如何如何,两种常见阻塞队列有何不同,主要是线程池工作原理
开放型题目:如何将任意对象输入转化为Json格式输出
很简单,内省或者反射,其实内省也是基于反射的啦就是ClassForName那些
因为我暑假才能去实习,然后内推人叫我好好学学dubbo、SpringCloud这块
因为内推人是我老师的哥们的原因,还是个leader,emmm应该差不多
总之好好准备啦,希望大家上岸!