本文目录导航:
Java面试有哪些疑问?
普通来说面试我都记下印象深入的面试题,其余觉得都没什么好记的,然而当天这个面试的环节觉得是我职业生涯中比拟无心思的一次性面试,遂分享出来。
当天顶着大太阳进来面试,找了良久终于找到了这家公司的位置,貌似是群体办公区域,就是一层楼有N个公司在办公,也没什么隔断。
心想守业公司吧,这样也反常。
在这之前曾经面过三家公司都挺顺利,公司规模都还可以,还有一家一面也是过了等二面。
之所以来这家公司面呢是由于对公司的产品还挺感兴味的,想来看看。
而后到中央前面试官先给了我一份卷子做,都是些很繁难的题,写完后等了良久面试官来了,开局启动面试。
面试官先看了下我的简历,而后说你怎样两年才做这么4个名目,尤其是第一家才1个名目。
我说外包公司名目多,没必要挨个写上,写上最近一家公司的名目,和之前公司代表性的名目就行了。
而后他就教育了我一番,说怎样写这么点儿呢,很容易让人觉得你啥都没做,做过的都得写上。
我之前不时认为我这种两年多阅历的写一页简历足够了,不过他说了下我觉得确实可以思考思考多写一些。
。
。
不过诚恳说我在想。
。
难道他毕业四五年了还把刚毕业的名目往简历上写?吐槽完名目。
面试官不知道为什么看着我的简历认为是培训班出来的,而后就拐弯抹角的问我毕业能否有加入过什么培训啊。
我满脸黑线,我简历写的我第一份上班毕业就出来的,而且我名目都是专业畛域性很强的名目,这是从哪儿看出来的。
而后这面试官又问我那你大学都学什么课程啊,我又耐着性子解释了一圈。
而后他看问不出啥的就没问了。
而后就问了一个名目无关的反常疑问。
开局问我技术了。
第一个技术就问我spring框架,而后问我spring关键器重哪些技术,我说了就依赖注入和智能化性能,而后这人问我如何学习spring,我说看了spring实战,深化了解spring架构,而后还看了源码,而后这人说你看了官网文档吗,我说看了小局部,而后他说你怎样不多看官网说明文档呢,我说我更多青睐间接看看源码设计,而且官网文档更多就是说明书的意思,我觉得用来入门还行,要真正了解必需还是要深化底层去看下。
而后争执了一番后他问我springboot智能化性能如何成功的。
我从成功原理,源码流程说了一圈,我预计他应该疑问这块儿,而后我说完后他和我说你觉得看这些物品用途大吗,你为什么不看官网文档。
我过后真是满脸黑线,合着这官网文档在他眼中是圣经啊。
而后又问我springboot如何成功的tomcat启动,我源码解释了一圈后我预计他还是疑问源码这块儿,所以又和我死磕说你这些物品为什么不看官网文档说明呢。
。
嗨,我第一次性看到对官网文档如此执着的人..。
。
当然了他举了个无心思的例子,说比如你买了个冰箱,你不看说明书你怎样知道如何经常使用呢。
。
我真的很想说我看过这台冰箱深化引见的几本书并且连外部整机结构都了解你觉得我不会用这台冰箱吗。
。
而后框架就没问了,诚恳说我觉得或者是他也不太了解。
。
而后就问我sql了,说有没有用过索引,sql提升。
我说了一些,而后他说下mysql索引类型呢?我说你指的哪种类型,是hash/b+tree,还是汇集索引/非汇集索引,还是普通索引/惟一索引/主键索引/..... 这种。
而后我预计他对前两个应该不了解,而后恼羞成怒的来了句你觉得我问的是哪个? 我去,这个我哪能知道。
而后我就说了下 hash/b+树索引,而后这团体来了句b+树你觉得是什么,是一种算法,还是xxx,我过后很无语,名字都叫树了这难道不应该是一种数据结构吗。
而后又解释了一圈我觉得他或者也不了解这块也就没问了。
而后问我算法。
其实就繁难的问了句,你了解哪些排序,我说冒泡排序,拔出排序,快排,堆排序.....,而后这面试官讥嘲的笑了一声,我连忙回顾了哪个有疑问,结果想了下没想到哪个字说的有疑问我就问 你为什么笑,而后他说堆排序是什么物品。
诚恳说听到这句话我是真的很想间接走的,然而想下这对不起我请的一上午假。
而后我很抑制的说了句,你不知道不代表没有,这是任何一本讲数据结构与算法的书都应该会讲到的物品,倡导去网络下。
而后这个时刻我预计他本就有点儿恼羞成怒的心境被彻底点着了,而后开局问我jmm。
哦对了,他看着我写口试题的时刻排序那儿说了句这是什么排序。
(我觉得快排方法应该还是挺好认的)jmm问我五大数据区域,我说了后最后我提了一下间接内存,而后这人我预计也疑问,而后就开局说我问你这个了吗?我让你说五大区域你为什么提这个? 你有听分明我的疑问吗? 我过后就???,合着我这多提了一嘴间接给戳高潮了。
。
。
而后连忙闭嘴了,让他接着问前面的疑问。
而后问了我希冀薪资,我说了个希冀薪资,结果这人说,你觉得你在名目中能承当部门担任人? 还是名目经理? 合着我希冀的薪资在这家公司是部门担任人才有的待遇,看这意思应该是觉得我漫天要价。
我觉得我要再说我曾经有的三个offer都比我刚提的要多怕不是能让他当场爆炸。
。
当然了,为了不自讨没趣我就说我只能承当个中级开发吧。
。
。
最后问我有什么想问的,我就照例问了下公司技术栈,而后他说后端用javanodeJs,我就问为什么后端会用两种技术栈?而后他回答道,这么用必需是处于公司技术考量啊,巴拉巴拉的,反正最后也没说个明确为啥会用两种技术。
。
而后这个时刻提了一嘴既然驳回nodeJs是觉得愈加繁难为什么不思考思考经常使用Python。
诚恳说我觉得我这句话作为大家都是技术人员,技术讨论性的疑问应该很反常吧,结果这句话不知道为什么又把他戳高潮了,他间接回到 为什么要用Python?我在轻薄的和你讲公司技术栈,你觉得这样好吗? 你觉得这样提问好吗?你这样轻易的一问觉得适合吗? 最后随同着这几个疑问,面试完结了。
。
。
诚恳说我被面的有点稀罕乖僻的,虽然他问的疑问我觉得我应该全都回答上了,但看他的样子仿佛很不快乐。
。
。
面完后我的心坎形态应该如下吧
阿里怎样谈n+1
关键的还是靠自己,波动的态度比拟关键
下列是面试的方法流程
1 第一步,自我引见:
团体答题形式:精练的说出自己毕业于什么大学,何时毕业;[本科],自学入行,往常钻研java的形式,长于哪些两边件,技术;自己上班中触及的一些亮点名目,github自己的两个名目【tcc,分库分表】
管理在2分钟左右,长于的物品务必相熟知晓,接上去很有或者基于你的名目切入
2 第二步:面试疑问
由我名目中触及的自己开发的分库分表组件切人
1 我的路由算法: hash分歧
1.1 名目怎样成功的分歧性算法
1. hash分歧性算法怎样成功,有什么好
1.3 会有hash碰撞疑问吗,切到hashmap的hash碰撞相关疑问
2 还有哪些路由算法: 取模,期间片等
2.1 为什么不用取模
2.2 取模长处:[算法更繁难,免去hash环的加载],取模更容易平滑扩容
2.3 如何成功多个算法 多个路由算法引发的一些概念疑问:面向形象编程,依赖倒置
3设计形式:[选几个自己相熟的讲 我讲了上方三个]
模板方法
工厂
单例:单例的场景:[大对象一次性加载,降落内存,IO,带宽等]|[spring单例降落内存消耗] 懒汉单例安保的两者成功[同步,静态外部类]
4 由分库分表引入到mysql
1 mysql 设计架构
2 innodb存储引擎相关疑问
3 b+树,查问复杂度,b+树如何成功平衡,树如何防止成为链表 ,b+树的成功
4 索引如何建设:
5 索引如何调优:
5 最后:
面试官的倡导倡导基础待增强,设计形式须要系统深化
询能否现局面:回答可以
原文链接:
java面试名目中遇到的疑问与处置
java面试名目中遇到的疑问与处置如下:
1. 疑问:请解释面向对象编程(OOP)的概念以及在Java中是如何成功的。
解答: 面向对象编程是一种编程范式,它将数据和操作数据的方法组合到一个对象中。
在Java中,面向对象的个性经过类和对象来成功。
类定义了对象的属性(成员变量)和行为(方法),对象是类的实例,可以访问类中的属性和方法。
2. 疑问:什么是Java的多态性,如何成功多态?
解答: 多态性是指一个对象能够体现出多种外形。
在Java中,多态性经过方法的重写和接口来成功。
方法重写准许子类笼罩父类的方法,而接口定义了多个类可以成功的方法,成功了多态性的个性。
3. 疑问:Java中的意外处置机制是什么?
解答: Java中的意外处置经常使用try-catch-finally块。
在try块中编写或者引发意外的代码,假设出现意外,管理会转移到catch块,其中可以处置意外。
finally块中的代码无论能否出现意外都会被口头,理论用于监禁资源。
4. 疑问:请解释Java中的线程和多线程。
解答: 线程是口头程序的单元,多线程是指一个程序中蕴含多个并发口头的线程。
在Java中,可以经过承袭Thread类或成功Runnable接口来创立线程。
多线程可以提高程序的性能和照应速度,但也须要留意线程安保疑问。
5. 疑问:Java中的汇合框架有哪些?
解答: Java的汇合框架包括List、Set、Map等接口及其成功类,如ArrayList、HashSet、HashMap等。
汇合框架提供了高性能的数据结构和算法,繁难了数据的存储和操作。
6. 疑问:什么是Java的设计形式,你能举例说明吗?
解答: 设计形式是一套被重复经常使用、少数人知晓的、经过火类编目标、代码设计阅历的总结。
经常出现的设计形式包括单例形式、工厂形式、观察者形式等。
单例形式确保一个类只要一个实例,工厂形式用来创立对象,观察者形式定义了一种一对多的依赖相关。
7. 疑问:如何在Java中启动数据库操作?
解答: 在Java中,可以经常使用JDBC(Java Database Connectivity)来启动数据库操作。
JDBC是Java提供的用于与数据库启动衔接、查问、降级等操作的API。
经过JDBC,Java程序可以与各种数据库启动交互,口头SQL语句,失掉和处置数据库中的数据。
8. 疑问:Java中的IoC(管理反转)和DI(依赖注入)是什么?
解答: IoC(Inversion of Control)是一种设计形式,它将管理权从运行程序代码中转移到了框架或容器中,成功了松耦合。
DI(Dependency Injection)是IoC的一种成功形式,它经过将依赖相关从代码中移除,由容器在运转时灵活地将依赖相关注入到对象中。
Spring框架是一个典型的IoC和DI的成功。