Formax金融圈面试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36092584/article/details/79932950

约的三点半,三点就到了,差不多等了50多分钟,HR小姐姐挺好的,还特意拿了一瓶水过来。其实刚进来的时候扫了一下办公区,感觉也不是很大,后来借着上厕所的机会逛了一下公司,发现其实办公区蛮大的,人也挺多的。

没笔试,直接面试的,二对一面试,面试官还挺好的,来的时候还说怎么不叫他们,害得等了这么久,还是挺暖心的,而且不知道为啥,他们看起来好面熟啊。整个面试过程五十分钟左右吧,挺轻松的,而且问到有些回答得模棱两可的问题会进行纠正,这是面试体验最好的一次。就是有点奇怪面试完都没和人事谈一下,就直接和我说可以了,回去等通知(所以是挂掉了吗?······)。

整个过程都是针对简历关联发问,楼主凭不靠谱的记忆将面试过程中的问题零零散散的整理一下。
Q1介绍一下自己:都是搞技术的,就直接说了下公司、工作内容,比较短

Q2介绍一下最近做的项目:这部分说得太散了,技术应该更详细一点,;项目产品应该说清楚一点,搞得介绍完他们都不知道是干啥的,最后他们说是一个平台系统,才画龙点睛

Q3只做服务还是有写页面,前端用的啥框架

Q4为啥hibernate与mybatis同步使用:这个地方真的是纠缠了好久,不停地追问,有点措手不及
Q4.1hibernate与mybatis区别
hibernate:是一个标准的ORM框架(对象关系映射)。入门门槛较高,不需要写sql,sql语句自动生成,对sql语句进行优化、修改比较困难
mybatis:专注sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全的ORM框架,虽然程序员自己写sql,mybatis也可以实现映射(输入映射,输出映射)
Q4.2一级缓存与二级缓存区别
作用域不同,一级缓存是session,而二级缓存是sessionFactory(这应该是特指hibernate吧)

Q5讲述了一下自己负责的整个模块,发消息怎么发的

Q6springmvc的工作方式

Q7用过的注解

Q8怎么捕获service异常的:面试官居然直接说应该不是直接在service抛出异常吧,这么多方法一个一个去写很麻烦,事实上项目里面好像就是这样的,而且需要抛出异常的方法也挺少的啊,估计是想让我说采用AOP吧,因为后面有问到用过切面吗,而且追问为啥不采用这种方式去捕获异常。不太懂具体的捕获异常是指啥......

Q9AOP

Q10关于zookeeper:这个应该是他们觉得最搞笑了,为啥会选择单用zookeeper,也没结合dubbo等啥的,感觉百口莫辩解释都解释不通,总之他们就觉得太奇怪了

Q11多线程有用过么
Q11.1四种多线程实现方式
1、继承Thread类创建线程
2、实现Runnable接口创建线程
3、实现Callable接口通过FutureTask包装器来创建Thread线程
4、使用ExecutorService、Callable、Future实现有返回结果的线程(线程池吧)

Q12事物怎么实现的
Q12.1事务实现方式共有两种:编程式事务管理实现;声明式事务管理方式
基于AOP技术实现的声明式事务管理,实质就是:在方法执行前后进行拦截,然后再目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务.
声明式事务管理又有两种实现方式:基于xml配置文件的方式;另一个实在业务方法上进行@Transaction注解,将事务规则应用到业务逻辑中

差不多应该就是这样的了,最后问了一下他们,这边是互联网产品,这边都是用的Java做的,这点很好,而且技术也是与时俱进,springboot,springcloud,H5开发,没下文,太悬。。。

猜你喜欢

转载自blog.csdn.net/qq_36092584/article/details/79932950
今日推荐