记一次java开发技术面试

约好的下午两点的电话面试,等了半个小时,等待的过程还真有点紧张,毕竟这家公司是我挺想去的几家之一,到了两点零3分,电话如期而至了。
面试官开口就表明了他的身份,还道了个歉说晚了几分钟挺不好意思,然后让我开始自我介绍,可能他听我说话时语气有点急促和拘谨,特意提示了下说介绍一下你自己和你的技能及项目经验或者课设。我做完了简短的自我介绍后,
问:从你的项目介绍和技能中,感觉你是前后端都会的会吧?
答:是的,但是前端方面可能了解的并不深,只会基础的一些。
问:你那个Springboot中的模态框的技术,如果光用js和jsp界面你会怎么实现类似的?
答:把要显示的组件设置为隐藏,用js设置他的触发显示以及用盒子模型来设置他的位置。
问:嗯,你的Springboot是学校有相应的课程教,还是你自学的?
答:学校有开spring这门课,但是课时很少,老师只会讲spring中简单的概念啥的比如IoC、AOP啥的,基本是任务驱动模式,我们自学多一些,这样的模式对培养我们的自学能力还是挺好的。
问:嗯,你在做项目时有没有遇到过什么问题,不管有没有解决,挑两个你记得最深的
答:简单地说了下项目中的问题和解决方案(略过)。
问:那我问一下你java基础的一些东西行吗?你能简单地介绍一下面向对象语言的几个特点吗?
答:简单地说了一下抽象、封装、继承、多态。。。
问:你知道在abstract抽象中static关键字的用法吗?
答:简单说了一下静态变量、静态方法、静态初始化块。。。
问:好,你知道内存屏障吗?
答:具体的不太清楚,但是我在一个地方看到过,然后说了一下关键字valotile和他的两个特征以及java内存模型以及内存屏障出现的地方等。。。
问:嗯,好。你知道java中有个并发包吗?
答:是util包下的Concurrent包吗?
问:是的,你有使用过这个包吗?
答:嗯,有使用过ConcurrentHashMap
问:你对ConcurrentHashMap有深入的了解吗?
答:讲了下ConcurrentHashMap的底层实现。。。
问:这是jdk1.7的策略,1.8的知道吗?
答:简单说了一下1.8是Node + CAS + Synchronized来保证并发安全进行实现(深入的我也不知道了)
问:嗯,那咱就不深入了,说到这个HashMap,你知道hash冲突吗?有几种解决策略吗?
答:讲了下hash冲突是啥。。。然后说了一种策略。。。
问:你平时喷到问题怎么解决的?
我:说了下百度、博客和GitHub
问:嗯,最后一个问题(此时2点半了),你做前后端开发的肯定对数据库不陌生吧?你们现在使用的是什么数据库?
答:学校有教过SqlServer和oracle,但是我们了解到外面企业大多是使用mysql,但是我只会常用的sql语句编写,并没有太深入的了解(数据库是我的弱项啊!)
问:********
答:********
结束了。
通过这次面试,我发现了自己还要很多的不足和需要学习的地方,以此偏博文记录我的面试历程

你可能感兴趣的:(java基础)