蘑菇街凉面
首先前台小姐姐很好!送了杯咖啡券,虽然我不喝咖啡,但是这样的体验也很棒
因为来的早了点,看了下公司的环境,感觉还是很棒的,很符合时尚集团的氛围。
一面:
首先看了看我的简历,聊了一下项目
Q:看我用了SSM,让我聊一下Mybatis
A:Mybatis的配置原理,运行周期。
Q:然后小哥问了问我对Mybatis的优缺点理解
A:我说了一下二级缓存的缺陷,优点讲了他的轻量级,上手修改都很方便。、
Q:问我与Hibernate的区别
A:我直说没用过Hibernate
Q:说说SpirngMvc
A:SpringMvc和servlet的关系,处理的流程balabala
Q:JDK8 的新特性
A:Lambda
Q:说说Spirng中Bean的生命周期
A:循环依赖balbalabla 前置后置初始化方法balabalba
手写链表的增删改查
我觉得比较简单,就随便写了一下,讲了一下思路...
Q:使用过分布式吗
A:没有,在学校里主要做的项目都是以比赛评判为主,不会涉及到并发量。
Q:碰到过内存泄漏吗
A:碰到过当使用ThreadLocal的时候,由于弱引用,产生过内存泄漏
Q:那你是怎么排查堆栈的问题的
A:Jprofiler,查看引用情况
Q:现在给你一个场景题,如何在代码正在商业运行的时候,同时对其进行测试,并且对于测试与实际运行的场景,各自使用的数据库与输入内容可能不同。
A:.......我不会
Q:提示一下可以使用ThreadLocal,考虑多线程的影响
A:....这题真的很厉害,我不会
(其实使用ThreadLocal对于不同场景进行判断,我认为是否就已经可以做到切换数据源之类的作用了?还希望有大佬能解释一下)
之后就是一些RPC和微服务的知识,还有主从同步之类的知识...我对这方面没什么了解,就结束了一面
其实面试官还是很好的,会慢慢的引导你,只是自己还是比较的嫩吧。
面试官表示和我是老乡,说这里的温州人挺多的嘿嘿。
二面
二面的面试官看起来会年纪稍大一些
主要和我聊项目
问我的表结构
我实现的功能
后端的通信方式为什么选择socket
我说我为了解决socket连接的问题,模仿druid,写了一个socketPool
问我为什么不直接使用线程池加固定socket的方式
情景题:
银行扣款,共一百元,第一次取50,同时取60,如何加锁,我按照RR的事务隔离情况讲了一下加锁思路,然后叫我写对应sql代码,我并不了解...
在项目中有哪些困难的地方。
对RPC和微服务知识的了解
大概就是这样,二面之后,面试官告诉我回去等通知,如果有下一步,再叫我来线下面HR(估计就是备胎加婉拒的意思了)
一面面试官对我的总结是,基础还可以,但是实际业务还不行,广度不够,二面大概也是觉得我对实际业务了解太少了吧。
蘑菇街给我的感觉确实是技术不错,对招聘人才的要求也很高,对于项目以及实际业务并发需求的了解要求很高,面试官也说看到有些问题网上都有答案,所以都会自己想一些场景,还是挺感谢这次面试机会的,虽然极大概率没有结果了,但是还是让我多少知道了自己前进的方向。
也希望大家能学到一些新东西吧。
两位面试官我问了同样的问题,在学校学习,缺少真正的应用环境的时候,到底如何去学习高并发的知识框架,记得比较粗糙,大家勉强看看吧