张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

JAVA高级工程师面试技巧

工程师人生 2019-07-12 17:17 次阅读

一、独白

之前也面试别人,现在轮到自己找工作,怎么说呢,每个面试官的看法不一样,面试的方式就不一样,比如我面试别人我喜欢问项目中他用到了那些,然后针对用到的技术去问一些问题,或者说对于某些场景的一些技术实现方案是我特别喜欢问的,比如当你的接口服务数据被人截包了,你如何防止数据恶意提交? 相对来说,Java的底层和基础会问的少一点,当然问的少不是代表不问,而是说侧重点在于你的所做过的项目和你的设计思路如何。当然,懂基础和底层更好,这样能让你知其然,更知其所以然,写出来的代码和程序更具有健壮性和可维护性。所以说,基础还是很重要的。

JAVA高级工程师面试技巧

现在轮到自己出去面试,怎么说呢,其实还是挺紧张的,原以为自己不会因此紧张或者焦虑,实际上,还是有的,在没找到合适的工作的时候,甚至晚上有点睡不着觉,总觉着有什么事压在心头,睡觉都不安心。既然睡不着,那还是看看资料吧,我有个习惯,睡前看点问题,第二天早上就能想到答案,睡前记点资料,第二天早上就能记得特别深刻,不说废话了,直接进入正题吧。

二、面试技巧

1、背熟你的简历

原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目、技术都无法描述清楚的话,我想没有哪家公司会接受这样的,哪怕你是超级人才,你自我表述不行,估计也会为此头疼,所以,切记:一定要背好自己的简历,不要求你能全部记下,至少要熟记你最近所待过的两家公司,这两家公司里面你做过的项目,你负责的模块,项目里面用到的技术以及相对应的技术实现方案(这个尤为重要)。

2、深入了解并熟记部分Java基础知识

原因:大部分公司无论面试初级还是高级,无论是笔试还是面试,都会问到一系列基础题,这些基础题大概涵括 jvm、字符串、集合、线程等等,如果说每一个让你死记硬背你肯定记不住,那么就是理解中记忆了,拿jvm来说 ,如果让你谈谈你对jvm的理解, 那么你首先得知道JVM有哪些结构组成,每个结构用来做什么的,然后考虑一个Java对象从创建到回收,如何途径JVM这些结构的。如果你从这些方面来综合记忆,相信事半功倍,并且你理解的更透彻。 至于如果让你谈集合,举例List集合下面ArryList、LinkedList、Vector等集合的区别,那么同样的方法,你需要理解每一个的结构组成是什么,你才能知道他有什么作用,这样你在平时的用法上会更精炼,而且在面试过程中,也不至于哑口无言。

3、保持自信心和沉重冷静的心态

原因:面试过程中,自信是少不了的,相信你可以, 面试的路上可以自己对自己说一句: I belive I can ! 反正我就是这么做的,自我的心里暗示吧,其实面对面试官的时候,你自信的状态也会让面试官觉得你是个很有底气的人,至少从感觉上会给你打个高分。另外还有就是保持沉重冷静,如果是让你提供技术方案或者说说某个技术原理,没必要一紧张一咕噜的什么都说,你可以对面试官说:我先想想,然后自己组装记忆中的知识,组装下语言,有条理的说出来,这样能更好的表现你的才能,不是吗? 面试谁都会紧张,我也会紧张,有时候明明记得的知识点忘了,没关系,大胆的说忘了,或者直接说不知道。 要记住,有部分不知道没关系,如果全都知道,那你应该是CTO级别了(开个玩笑)。

4、尽量记住面试过程中你回答不出来或者回答存在不妥的问题

原因:面试失败了没关系,毕竟每个公司的要求不一样,问的问题和你擅长的方面可能有所出入,但是请记住一点:面试过程中那些你回答不出来问题,或者你自己感觉回答不太准确的问题,自己记下来,如果不会的,你可以当场问问面试官有没有好的解答,如果面试官不愿意告诉你(一般是基础方面面试官就懒得答你),那么你就自己回家慢慢查资料,如果是某些特定的技术,也可以自己写写案例什么的,毕竟知识点就那么多,问题百变,原理不变,面试也是一个学习知识的过程,让你了解大部分公司目前需要或者要求的技术。这次不知道,下次就知道了

5、去面试之前,最好先了解你要去面试公司的情况(包括产品、项目情况)

原因:俗话说,知己知彼,百战不殆,面试就是一场战斗,你需要了解你面试公司基本情况,包括岗位要求,这样你就能大概知道你需要面试的这家公司的技术要求情况。 为何让你去了解这家公司的主营产品和项目呢,就是让你大概了解这家公司的一个技术架构的情况,包括你可能对他们的一种实现方式提出质疑和疑惑,相信面试官很愿意帮你解答这些问题的。这样你既图了表现,也学到了知识,何乐而不为。

6、合理安排你的面试时间(如果有多家公司的面试机会,尽量把你想去的公司放到最后去面试)

原因:估计很多人都不理解这个,可能大部分的人对于如何安排面试时间比较迷茫,随意安排。可是这里有个技巧,如果同时有多个面试机会,你把你最想去的公司放到最末尾去面试,这样你经历过了前面的这些公司筛选,如果成功了是个机会,如果没成功,也是为最后做铺垫。 不过这里就需要考虑两点:1、你需要记住你投简历的公司和基本情况(这说明你不是海投的) 2、如果记不住,那么可以先应答一个时间,后续了解公司信息之后,通过邮件或者其他方式与其约定,调整面试时间。而且建议安排一天的面试公司不要超过两家,最好的是上午一家,下午一家,这样你能有充足的时间调整状态。

三、面试题基础总结

1、 JVM结构原理、GC工作机制详解

答:具体参照:JVM结构、GC工作机制详解 ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法( 这里的可达性,大家可以看基础2 Java对象的什么周期),至于更详细的GC算法介绍,大家可以参考:Java GC机制算法

2、Java对象的生命周期

答:创建阶段 、 应用阶段 、不可见阶段 、不可达阶段 、收集阶段 、终结阶段、 对象空间重新分配阶段等等,具体参照:Java 对象的生命周期

3、Map或者HashMap的存储原理

答:HashMap是由数组+链表的一个结构组成,具体参照:HashMap的实现原理

4、当数据表中A、B字段做了组合索引,那么单独使用A或单独使用B会有索引效果吗?(使用like查询如何有索引效果)

答:看A、B两字段做组合索引的时候,谁在前面,谁在后面,如果A在前,那么单独使用A会有索引效果,单独使用B则没有,反之亦然。同理,使用like模糊查询时,如果只是使用前面%,那么有索引效果,如果使用双%号匹配,那么则无索引效果

5、数据库存储日期格式时,如何考虑时区转换问题?

答:使用TimeStamp , 原因参照:Java编程中遇到的时区转换问题

6、Java Object类中有哪些方法?

答:Object有哪些方法

7、HTTP协议,GET和POST 的区别

答:浅谈HTTP中GET和POST的区别

四、线程、设计模式、缓存方面

1、SimpleDataFormat是非线程安全的,如何更好的使用而避免风险呢

答:关于SimpleDateFormat安全的时间格式化线程安全问题

2、如何看待设计模式,并简单说说你对观察者模式的理解

答:1、设计模式有神马用 2、观察者模式类图及实现

3、集群环境中,session如何实现共享

答:1、Java集群之session共享 2、session多服务器共享方案,还有一种方案就是使用一个固定的服务器专门保持session,其他服务器共享

4、分布式、集群环境中,缓存如何刷新,如何保持同步?

答:A、缓存如何刷新? 1、定时刷新 2、主动刷新覆盖 ,每个缓存框架都有自带的刷新机制,或者说缓存失效机制,就拿Redis和 Ehcache举例, 他们都有自带的过期机制,另外主动刷新覆盖时,只需获取对应的key进行数据的覆盖即可

B、缓存如何保持同步? 这个redis有自带的集群同步机制,即复制功能,具体参考:基于Redis分布式缓存实现 ,Ehcache也有分布式缓存同步的配置,只需要配置不同服务器地址即可,参照:Ehcache分布式缓存同步

5、一条sql执行过长的时间,你如何优化,从哪些方面?

答:1、查看sql是否涉及多表的联表或者子查询,如果有,看是否能进行业务拆分,相关字段冗余或者合并成临时表(业务和算法的优化)

2、涉及链表的查询,是否能进行分表查询,单表查询之后的结果进行字段整合

3、如果以上两种都不能操作,非要链表查询,那么考虑对相对应的查询条件做索引。加快查询速度

4、针对数量大的表进行历史表分离(如交易流水表)

5、数据库主从分离,读写分离,降低读写针对同一表同时的压力,至于主从同步,mysql有自带的binlog实现 主从同步

6、explain分析sql语句,查看执行计划,分析索引是否用上,分析扫描行数等等

7、查看mysql执行日志,看看是否有其他方面的问题

个人理解:从根本上来说,查询慢是占用mysql内存比较多,那么可以从这方面去酌手考虑

五、设计方案相关

面试还会问到一些关于设计方案相关的问题,比如

1、你的接口服务数据被人截包了,你如何防止数据恶意提交?

答:我们可以在接口传输参数里面设置一个业务编号,这个编号用来区分是否重复提交。这样即使数据被抓包了,对方也无法区分每个字段你的含义,这时,这个业务编号的作用就来了

2、假设服务器经常宕机,你从哪些方面去排查问题?

答:这个就留个各位看官补充了,可评论回复

面试技巧就补充这些,后面如果记得什么在补充,如果有其他小伙伴有其他建议,也可以在评论回复,其他面试问题还包括算法、数据结构、http协议等等,这些等待大家自己去补充学习了,Spring的原理,Spring mvc的原理问的也挺多的,大家有时间可以看看之前的面试总结——高级JAVA工程(一)和面试总结——高级JAVA工程师(二) 。

总而言之该看的还是得看,还学的还是得学。再次强调,基础很重要!面试技巧同样很重要,还是那句话:祝愿各位看官都能找到心仪的工作吧~~

另外,奉劝大家不要频繁跳槽,这些知识点能提升固然好,不要盲目跳槽,找工作很累的,而且没有哪家公司喜欢频繁跳槽的员工

收藏 人收藏
分享:

评论

相关推荐

JavaWeb电商项目实战

能够熟练掌握使用JavaWeb技术实现项目的开发 从项目开发流程,到需求分析,再到代码编写,手把手开发项目,知
发表于 04-29 00:00 0次 阅读
JavaWeb电商项目实战

一名实施工程师的自述

首先,我是在广州一家与我们专业相关的公司实习的,我所在的部门主要是负责三维方面,一般都是接一些规划局....
的头像 工程师人生 发表于 08-23 15:45 127次 阅读
一名实施工程师的自述

网络工程师的未来发展前景如何

未来的发展方向,当然最高的就是如果有幸做到公司的CIO,就是这个行业顶端的,当然也可以出来开公司。
的头像 工程师人生 发表于 08-23 15:41 163次 阅读
网络工程师的未来发展前景如何

成为售前工程师需要具备哪些能力

售前工程师、销售、项目经理这三个岗位有什么纵向横向关系?
的头像 工程师人生 发表于 08-23 15:37 72次 阅读
成为售前工程师需要具备哪些能力

售前工程师的工作内容及需要具备的能力

售前工程师的工作目标是协助销售人员推动项目签单,以完成合同签订为工作结束,主要工作内容如下:
的头像 工程师人生 发表于 08-23 15:34 59次 阅读
售前工程师的工作内容及需要具备的能力

售前工程师是干什么的

售前工程师(Pre-sales Engineers)有时被称为销售工程师,是科技公司销售团队中技术熟....
的头像 工程师人生 发表于 08-23 15:29 56次 阅读
售前工程师是干什么的

如何使用Web3j库管理Java中的ERC20令牌

要学习本教程,您需要在计算机上安装以下软件: ·Java编程语言(>8) ·包和依赖关系....
发表于 08-23 11:27 31次 阅读
如何使用Web3j库管理Java中的ERC20令牌

前端工程师的危机在哪

随着终端技术的发展,前端工程师成了一个炙手可热的职位,甚至衍生出了大前端工程师的概念。那什么是大前端....
的头像 工程师人生 发表于 08-22 15:48 132次 阅读
前端工程师的危机在哪

怎样成为万中无一的前端工程师

从前,有一个前端程序员,他无意间得到了一盏神灯。神灯许诺会实现他一个愿望。于是他向神灯许愿,希望有生....
的头像 工程师人生 发表于 08-22 15:42 115次 阅读
怎样成为万中无一的前端工程师

一位Web前端工程师的自述

当时,我为当地的一家小公司构建了一个 WordPress 网站,时薪是25美元。开发软件是我的业余爱....
的头像 工程师人生 发表于 08-22 15:37 153次 阅读
一位Web前端工程师的自述

Web前端工程师如何定位自己

先给前端工程师的工作下个一句话定义:运用前端技术,实现体验的良好传达。如果在前面加上 Web,那么是....
的头像 工程师人生 发表于 08-22 15:33 111次 阅读
Web前端工程师如何定位自己

前端工程师到底需要掌握哪些技能

作为一名前端想要晋升,需要什么条件?
的头像 工程师人生 发表于 08-22 15:24 86次 阅读
前端工程师到底需要掌握哪些技能

Linux工程师需要了解哪些技能

大公司也是从小公司一步步走过来的,而大公司之所以与小公司不同,不在于基础的技术体系不同,而是当数据量....
的头像 工程师人生 发表于 08-21 15:45 148次 阅读
Linux工程师需要了解哪些技能

如何成为一名优秀的Linux工程师

如今的社会,随着时代的发展,出现了很多职业,像电子类,计算机类的专业,出现了各种各样的工程师,有算法....
的头像 工程师人生 发表于 08-21 15:40 151次 阅读
如何成为一名优秀的Linux工程师

大数据工程师的未来前景到底怎么样

我们正处在科技高速发展的时代,如今互联网已经与我们的生活息息相关,我们每天在互联网产生大量的数据,这....
的头像 工程师人生 发表于 08-20 16:03 231次 阅读
大数据工程师的未来前景到底怎么样

大数据有哪些岗位 学习方向又是怎样

大数据的技术是一个技术群落,想全部学习短期内是不现实的,那么我们怎么样科学的有逻辑有规划的来学习,怎....
的头像 工程师人生 发表于 08-20 15:58 138次 阅读
大数据有哪些岗位 学习方向又是怎样

Java程序员转行大数据有什么优势

大数据时代,中国IT环境也将面临重新洗牌,不仅仅是企业,更是程序员们转型可遇而不可求的机遇。
的头像 工程师人生 发表于 08-20 15:45 321次 阅读
Java程序员转行大数据有什么优势

零基础怎样成为大数据工程师

很多小伙伴觉得学习一个新的技术很难,要想做出改变并非难事,你缺少的只是一个计划。学习大数据更是如此,....
的头像 工程师人生 发表于 08-20 15:36 193次 阅读
零基础怎样成为大数据工程师

【微信精选】有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有μcos,vxworks,linux,android等。当然,对于嵌入式或单片机工...
发表于 08-20 10:29 353次 阅读
【微信精选】有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

从土木工程转型到人工智能的经历

2017年底,我在设计院从事桥梁设计工作,对职业发展有了新的想法,决定从土木工程转行到人工智能领域。....
的头像 工程师人生 发表于 08-19 15:40 161次 阅读
从土木工程转型到人工智能的经历

大数据工程师的职业发展前景具体如何

我们都知道,大数据现在是非常火热的,基本上是人尽皆知,很多人也都非常想加入这个行业,成为一名优秀合格....
的头像 工程师人生 发表于 08-16 16:57 295次 阅读
大数据工程师的职业发展前景具体如何

怎样成为一名合格且成功的大数据工程师

大数据工程师用阿里巴巴集团研究员薛贵荣的话来说,就是一群“玩数据”的人,玩出大数据的商业价值,让数据....
的头像 工程师人生 发表于 08-16 16:52 242次 阅读
怎样成为一名合格且成功的大数据工程师

数据分析师与大数据工程师的区别

数据分析师指的是不同行业中,专门从事行业数据搜集、整理、分析,并依据数据做出行业研究、评估和预测的专....
的头像 工程师人生 发表于 08-16 16:46 175次 阅读
数据分析师与大数据工程师的区别

java数据结构有哪些

List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(....
的头像 陈翠 发表于 08-15 16:27 116次 阅读
java数据结构有哪些

java常见数据结构面试

Java面试过程中,经常会被问到数据结构和算法相关的知识。对于工作多年的程序员来说,这些理论的知识可....
的头像 陈翠 发表于 08-15 16:09 154次 阅读
java常见数据结构面试

成为一名合格Java开发工程师的成长路线

在具体谈论Java知识点之前,我想先跟同学们聊聊Java 语言自身的一些特点、生态系统以及适用的场景....
的头像 工程师人生 发表于 08-14 16:47 153次 阅读
成为一名合格Java开发工程师的成长路线

为什么很多Java开发工程师想转行

科技的发展产生了程序员这个职位,从这些年各大互联网公司曝光的一些员工收入水平来看,程序员的工资还是相....
的头像 工程师人生 发表于 08-14 16:43 100次 阅读
为什么很多Java开发工程师想转行

Java开发工程师前景到底怎么样

互联网行业是一个高速运转的行业,我们这个时代可以说是一个互联网的时代,不知不觉,你会发现,一切行业和....
的头像 工程师人生 发表于 08-14 16:34 150次 阅读
Java开发工程师前景到底怎么样

一位高级Java工程师的经验分享

初级程序员:做一些静态的界面;
的头像 工程师人生 发表于 08-13 16:38 313次 阅读
一位高级Java工程师的经验分享

Java工程师面试时应该如何自我介绍

很多人的求职面试的过程中遇到的第一个问题:请做个自我介绍。
的头像 工程师人生 发表于 08-13 16:31 203次 阅读
Java工程师面试时应该如何自我介绍

Java开发工程师的晋升路线

Java工程师如何赢在起跑线?晋升路线是什么?对于一个刚入门的Java人员来说了解职位晋升路线可以帮....
的头像 工程师人生 发表于 08-13 16:16 120次 阅读
Java开发工程师的晋升路线

java工程师五年内必须做的事

针对目前互联网行业的大环境而言,程序员的日子并不是太好过,不管是在找工作的,还是在职场上打拼多年的,....
的头像 工程师人生 发表于 08-13 16:08 286次 阅读
java工程师五年内必须做的事

成为Java工程师必须知道的事情

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性....
的头像 工程师人生 发表于 08-12 16:09 272次 阅读
成为Java工程师必须知道的事情

Java程序员怎样转大数据工程师

随着互联网事业的蓬勃发展,编程语言越来越火爆。Java编程工程师收入高、业内需求量大,备受人们青睐。....
的头像 工程师人生 发表于 08-12 16:03 180次 阅读
Java程序员怎样转大数据工程师

Java软件工程师的就业前景

Java自1995年问世以来,因其卓越的通用性、高效性、平台移植性 和安全性等特性,成为全球范围内应....
的头像 工程师人生 发表于 08-12 15:58 145次 阅读
Java软件工程师的就业前景

大学生想从事java工程师应该如何规划

每年都会有大批的大学生求职,这是市场就业的一种严峻考验,大学生只有做好职业生涯规划,才能有目标地去学....
的头像 工程师人生 发表于 08-12 15:51 148次 阅读
大学生想从事java工程师应该如何规划

面试java工程师时一般会问什么问题

临近毕业,学生都在找工作,而一般单位对于JAVA工程师要求还是比较高的,起码懂编程语言。今天,小编就....
的头像 工程师人生 发表于 08-12 15:46 170次 阅读
面试java工程师时一般会问什么问题

和谐项目创建中的Java错误该怎么解决?

大家好,我正在尝试创建一个新的和谐项目,但是当我点击“完成”按钮时,似乎什么也没出现,在.s选项卡中,我可以读到以下例外:...
发表于 08-12 09:41 132次 阅读
和谐项目创建中的Java错误该怎么解决?

学习到什么程度才有资格说自己精通Java?

对于程序员来说,如果哪一天开始他停止了学习,那么他的职业生涯便开始宣告消亡。
的头像 Linux爱好者 发表于 08-11 10:15 176次 阅读
学习到什么程度才有资格说自己精通Java?

Java可以通过自己自学成才吗

现在比较干流的是SSM结构,即spring、springmvc、mybatis。你需求学会这三个结构....
发表于 08-09 16:17 63次 阅读
Java可以通过自己自学成才吗

零基础学Java可以学得好吗

互联网是一个包容性很强的领域,只要你有心,有一台电脑,随时都可以学习。
发表于 08-09 16:03 59次 阅读
零基础学Java可以学得好吗

你对于Java语言了解有多少

Java语言的语法与C语言和C++语别接特近,使得大多数程序员很容易学习和使用。
发表于 08-09 15:54 69次 阅读
你对于Java语言了解有多少

你想选择哪一种Java框架

对于学Java的人来说,学习和了解框架是必修的。
发表于 08-09 15:47 55次 阅读
你想选择哪一种Java框架

Java程序员需要提高哪些方面的技能

在大数据、云计算和物联网技术的推动下,程序员自身的创新能力也将越来越受到关注。
发表于 08-09 15:43 59次 阅读
Java程序员需要提高哪些方面的技能

用QueryList实现网页数据抓取

之前抓取网页数据都是用Java Jsoup,前几天听说用PHP抓更方便,今天就简单研究了一下,主要是用QueryList来实现....
发表于 08-08 07:32 49次 阅读
用QueryList实现网页数据抓取

Java守护线程和本地线程的区别

java中的线程分为两种:守护线程(Daemon)和用户线程(User)。...
发表于 08-07 08:10 39次 阅读
Java守护线程和本地线程的区别

JAVA多线程概念

进程:程序的一次动态执行过程(动态概念),它对应了从代码加载、执行到执行完毕的完整过程。一个程序可以被多次加载到系统的不...
发表于 08-07 06:35 34次 阅读
JAVA多线程概念

浅析java的IO模型

java IO初识与Linux网络IO模型简介
发表于 08-05 06:28 55次 阅读
浅析java的IO模型

Java操作系统支持多线程

Windows等操作系统均支持多线程进程的并发处理机制。操作系统支持多线程,使多个程序能够并发执行,以改善资源使用率和提高系统...
发表于 08-05 06:06 44次 阅读
Java操作系统支持多线程

【VIP福利四】资深电源工程师积累的设计资料,毫无保留都给你了!(初、中、高级)

本资料为资深电源工程师整理的电源学习进阶资料,细心划分了入门篇、终极篇和高级篇,是一套价值极高的参考学习资料,方便每个阶...
发表于 08-02 16:23 4384次 阅读
【VIP福利四】资深电源工程师积累的设计资料,毫无保留都给你了!(初、中、高级)

【微信精选】工程师告诉你做PCB设计(下篇)

本期内容是接上期“工程师告诉你做PCB设计(上篇)”,“工程师告诉你做PCB设计(上篇)” ,如果您错过了前面内容可以点击...
发表于 08-02 10:54 228次 阅读
【微信精选】工程师告诉你做PCB设计(下篇)

芯片设计工程师凭什么敢自称价值百万工程师?

芯片无处不在,手机、电脑、空调、洗衣机、冰箱、路由器等等都需要芯片。 兔爸在芯片行业做模拟工程师,一做14年。他的第一句话...
发表于 08-02 10:36 526次 阅读
芯片设计工程师凭什么敢自称价值百万工程师?