2019年Java初级和高级部分的技术面试

事实上,并不是我故意想成为一个困难的候选人。毕竟,在我加入这份工作后,我是一名同事,但面试官的角色是,如果高级面试官一般都是一样的话。

如果你在这里写,我担心一些想面试的朋友会害怕。如果他们有很强的能力和弱能力,他们会被问到更多。我该怎么办?

这是本文将要讨论的主题:如何准备Java的初学者和高级技术访谈。

I.在同理心下,如果你是面试官,你会做什么?

它只能通过简历和面试来衡量,没有别的办法。如果一头大奶确认了他的能力,但他在面试时无法完全自我认证,那么我很抱歉,我无法通过,现实就是这样。

2.如果面试官由于他的能力而无法大惊小怪,估计他将由领导者领导。并且不再接受采访,对领导的印象并不好。因此,不可能判断主观印象,但会有一些客观标准。具体来说,它是从各个方面提出问题,并在回答问题时回答候选人。

事实上,一些主题是相似的,但具有不同能力的面试官将有不同的入学点和进步学位,经验丰富的面试官将探索候选人的优势,并可以从候选人的修辞中判断候选人。还在闪烁。

2.一般来说,准备面试的几个方面

我记得之前的政治,一个大问题10点,分为5分,每个点的标准答案不多,它是一两句话。诀窍是涵盖所有要点,更不用说每一点,而是谈谈想法。相反,如果你在某个点上做得更多,其他点都没有被覆盖,你只能采取这一点。

同样,在访谈中,您应该全面准备诸如Java Core,数据库,框架和分布式等主题。根据我的采访结果,我发现很多候选人都绕道而行。他们要么没准备好。准备时可能没有它们,他们应该准备一个方面。例如,只准备了算法问题,答案在这方面非常好,但其他方面都是无知的。

因此,没有所谓的成功面试作弊,但有一些准备方法可以帮助提高成功率。

记住,你必须在面试前做好准备,否则成功的可能性非常低。准备好之后,你必须考虑所有方面。至于稍后将讨论每个点的程度。

3.为建筑准备的要点

对于初级开发,面试官需要感受到以下几点。

1.至少在项目中熟悉SSM架构。

对此的论点是如何在引入项目时在业务流程中使用spring mvc。

2.了解Spring MVC的细节,例如@Autowired的用法,如何将url映射到Controller,ModelAndView对象返回的方式等等。

3.最好结合项目的用法,如何使用AOP,拦截器,例如,你可以通过拦截器拦截非法请求,如何使用AOP输出日志等。

4.关于ORM,你不应该使用任何一种,但你需要知道一对一,一对多,多对多的使用,以及级联和反向的使用。

5.最好了解声明性交易的做法。

如果您想申请高级开发,那么在上述基础上,最好了解以下知识点:

Spring Bean循环

最好阅读源代码并讨论IOC,AOP和Spring MVC的工作流程

最好结合反思并说出IOC的实施原理等。

Spring Boot和Spring Cloud的一些知识点

需要为数据库准备的要点

很多考生会阅读很多SQL技巧,比如选择怎么写,插入怎么写,但仅限于此,不再准备其他。

这是非常不利的,因为面试官会认为即使是初级开发,也应该编写SQL语句,因此这篇文章不会提出更多问题,但会提出以下问题。

1.如何构建索引,如何使用它?例如,我构建了一个索引,在where语句中写入名称如'123%'不会占用索引,在什么情况下不应该构建索引,哪些语句不会去索引。

2.除了索引之外,您还具有一些SQL优化经验,例如子数据库子表,或者通过执行计划来查看SQL优化点。最好与您正在处理的项目一起完成。

在这里,我采访过,大约70%的候选人只知道基本的SQL,所以即使你只有理论经验,说一些优化点也会非常有益。

这是对高级开发优化技能的良好理解。

五。需要准备Java Core

这件作品是基础。事实上,提出了许多问题。候选人肯定会在项目中使用它,但他们很少会说出这一切。

本节主要从收集,多线程,异常处理流程和JVM虚拟机等方面提出要求。

收集方面:

1.哈希码是否已被重写?在什么情况下,您需要重写。如果可能,结合哈希表的算法并说出哈希映射的实现原理。

对于高级开发,最好使用ConcurrentHashMap来说明并发的底层实现代码。

2. ArrayList,LinkedList之间的区别,如基于数组,基于列表,它们是线程不安全,ArrayList扩展实践。

对于高级,最好查看底层代码。

3.如何实现反权重,如TreeSet和HashSet。

4.收集方法,比如比较方法,包装成线程安全的方法。

5.一些采访者可能会问如何通过ArrayList实现队列或堆栈,这可以准备。

事实上,多线程并未在项目中使用,但会提出以下问题:

1.同步锁和重入锁之间的区别,然后可能与信号量等反并发机制有关。

2.如何在线程中返回值实际上是可调用的可运行差异。

3.线程的内存模型必须由ThreadLocal或volatile关键字指定。

4.线程池,将使用,了解一些常用参数

在线程方面,可能有更多的并发机制。如果是高级开发,可能会更深入。

虚拟机方面

1.可以粗略地描述结构图和过程。

2.确保了解堆的垃圾收集机制。具体来说,你可以画一幅画,说年轻一代和老一代。

3.说出垃圾收集过程,然后具体说明如何优化代码中的内存性能。

4.最好说是否有OOM异常,如何排除故障?如何查看转储文件。

5.可以准备GC的一些概念,例如强弱软参考,最终确定方法等。在Java技术堆栈中微信公众账号后台回复:Java,可以阅读Java核心技术知识点。

为了让学习变得轻松、高效,今天给大家免费分享一套Java入门教学资源。帮助大家在成为Java架构师的道路上披荆斩棘。需要资料的欢迎加入学习交流群:9285,05736

猜你喜欢

转载自blog.csdn.net/qq_36243386/article/details/86538925