链家java面试经历
链家一面,问的问题很多,很全面。大致有java基础知识,优化,数据结构,linux,mysql语句。一面面试官也很nice。讲一下一面的具体内容。
首先自我介绍,再对项目的具体内容进行分析,期间问到,在项目中碰到的具体问题,如何解决。
之后对简历上的知识点进行提问。
数据结构问的是实现一个树结构,我先写的是个二叉树,之后面试官立即让实现多叉树,这个可以用数组来实现。
在源码上,我回答了HashMap的源码和CocurentHashMap源码分析。如果了解Spring的源码也是加分项java并发包要了解,在问并发的时候可能会直接问你的并发的认识。这个需要你自己找到问题的切入点。
JVM的内存结构。GC优化(这个点是我自己提及的)
Linux查看内存大小,查找指定字符位置,我掌握的不是很好,就没有继续展开。
mysql语句也问了几个基本语句。join和left join区别。
事务也有问到,具体是在Dao中调用一个带注解的事务操作,此时操作失败执行异常,问事务会不会执行。
设计模式让我讲一下介绍原型模式及其应用,应用我当时没有想出来具体应用。然后被教育说,设计模式不是单纯的看看就ok了,光画uml也没用,一定要真正的理解。
二面面试
一面面试问的都是很基础的知识点,但是二面没能很面试官具体展开也是非常遗憾的事情。二面先说的是SpringMVC的运行流程,谈到HandlerMapping问对HandlerMapping的具体应用。Ajax错误提示500转为自己定义的200之类,我回答后没有回答到点上,没有很明白他的意思,事后说其实想考察的是过滤器。这里要明白过滤器和拦截器的区别。二面还问了一个联合查询,我没有写正确。