0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

工程师人生 来源:工程师吴畏 2019-08-12 15:46 次阅读

临近毕业,学生都在找工作,而一般单位对于JAVA工程师要求还是比较高的,起码懂编程语言。今天,小编就和大家聊聊面试java工程师,面试官一般问什么问题?

如果可以的话,“建议以一个和面试官交流的心态去面试“。而且普通面试大部分问答都是有一些套路的。

面试的过程中,肯定会有答不上来的时候,这个时候,坦然的说不知道,就行了;或者再说出来点你知道的,例如思路。“重点“答不出来的时候一定要淡定,你和面试官是平等的!反过来让你问面试官,他也肯定有答不上来的!

java基础必考,线程、集合(list、map、linklist、array,什么无key遍历map啊,链表倒置啊,这几个东西的数据结构和插入查询特性啊,线程创建方式和同步啊)相关必问。最好能说清楚常见的设计模式、要能手写一个单列模式。

“框架“:主要说你熟练的,会问一些,但是一般都比较基础,只要找;除非,你说你看过这个框架的源码,刚好面试官也比较了解。

“数据库“可能会问你都用过什么,最好有一个用的熟练的,没事儿去配置一下主从数据库费不了多少时间,然后就好答这个问题了。sql,一般是必考的,分组查询,排序,连结查询。很可能会让你手写sql语句。我还遇到了一个让你查前多少行的,以及不用框架实现分页查询的。

“源码“其实源码没有那么的高大上,即使你说你熟练源码,刚好面试官也熟悉,他最多也只能问问你这框架从启动到配置完成,从接收请求,到处理完成再返回的“流程“然后再问一下,你从这些源码里学到了什么?这个问题,建议去百度(我都是临面试了才去百度这些有套路的问题)。

“前端“你要是像我一样,嚣张到简历写的连前端你都会不少,(不过现在确实很多公司招聘后端的要求也要会一些前端)那就很可能要多面你一会儿了,再问问你简历里写的用过的框架,手写几串js的代码啊,还有可能会通过js代码考察下对DOM概念的理解。正则表达式也是有可能的。

一般算法和数据结构是必考的,操作系统也经常被问。如果是校招的话,笔试中还会有一些排列组合啊,语文表达啊,思维拓展啊(你咋不去高中招?高中刚毕业的时候比较符合需求!!),其次,笔试过了还会有好几轮面试,不管你说你扣过源码,还是跟过还可以的项目,都会被往深里问,再往深里问,再再往深里问!

下边是一个简单的面试记录

问:说说你的突出点

答:java基础扎实(这个慌说的次数多了,现在说起来都没感觉了,哈哈),框架使用熟练(这个慌说了你们也发现不了,所以也没啥感觉),熟悉Tomcat源码,springMVC源码和结构。

问:如果想要统计springMVC每一个访问时长,放到log文件里,你在哪里做这个统计?为什么?

答:在preHandle拦截器里记录访问开始的时间,在postHandle里判断是哪个访问,计算访问时间并存储。

问:在posthandler里计算,并存储是吧。答:是。

问:为什么?

答了一个错误答案,然后又是一顿鄙视。,,

再问:用一个什么变量存?ThreadLocal?还是一个函数内部局部变量,?

答:线程内,(其实是在猜)。

问:为什么?你不要猜,也不用在乎我的反应,无论你答什么我都会问你为什么。

答:函数内变量可能会不能覆盖整个访问的历程,,一顿鄙视,然后突然反应过来,不对,我说的有问题,外层函数是可以的,那就放在函数内局部变量里,节省资源。

问:如果我想把计算结果存到log里,在哪里做这个事情?

答:(悠长的停顿)在posthandler处理结束,返回请求之前

问:为什么?

答:不占用处理请求的资源,(错误答案,已经慌乱)

问:确定?

答:不确定,,,停顿,,不对,还是会占用资源。

问:然后呢

答:(不说话了,,,)(后来想想,这事儿应该另起一个线程去做)

(鄙视状,,,)

问:恩,说说Tomcat

答:(内心:幸亏没问tomcat优化,JVM优化,,不过,说说?说啥啊?难道说说这个干啥用的?还是说说哪个公司出的?说这些会不会直接赶人啊,,,就这样过了最少一分钟,哈哈)然后我就说了下tomcat的结构,和启动过程。

接着问:Tomcat和里面的Servlet是一个进程还是多个进程,

答:一个进程内

一顿鄙视,再问:为什么,,,??

答:因为我觉得进程是分配资源的基本单位,一般来讲,一个应用就是一个进程。

问:你确定?

(内心:大爷的,估计已经挂了,那我还怕个球,,,于是乎,坐直,平视,语气和神态突然就平静了)

答:确定。

问:你大学什么专业?学过操作系统吗?

答:计算机科学与技术,当然学过,我清楚的记得这一点,进程是分配资源的基本单位,不过,可能太久了,记不清了(其实内心是:你长的美,你说的都对)。

问:ok,一个应用可以启多个进程吗?

答:不可以

问:(鄙视状)确定?

答:(平静状)不太确定

问:呵呵

答:麻烦您给讲讲吧,我不太懂。

问:一个应用当然是可以启多个线程的,更何况还有跨应用的线程调用,资源也是可以动态分配的,,,(当时没听太懂,也记不清了。)。末了来一句,难道你就没打开过你的资源管理器看过吗?

答:当然看过,不过都是卡了才看,看哪个程序占用太高,给结束了。(内心:看过,但是跟这个问题有毛关系吗??)

上边是俩个长问题,还有一些其他的,例如:

问:你觉得要做一个厉害的程序员应该具备哪些特点?

这个就是一些,FQ啊,工具啊,总结啊,交流啊什么的;比如说,善用google,要至少对一个跨平台的工具很了解,善于学习最新的技术,善于掌握有力的工具,多逛各大社区,善于总结。(我就随便一写,找工作的话,要提前准备类似问题。)

问:我看你学了这么多东西,但是好像没有认真的去思考过为什么,你有没有想过当你记忆达到一个上限时你还能学什么?你还能干什么?

这个当然是要反驳的,我说我当然有思考,然后问你思考的啥,然后答当时就想知道Tomcat到springMVC的衔接是怎么衔接的,然后被鄙视:那你直接打几个断点调试一下不完了吗,java的调试不是很强吗?(貌似这个他也不太确定。而我也不知道断点打到哪去,更不用提怎么调试,哈哈)。

问:我看你这写的有一个了解分布式处理,分布式处理是什么?我怎么没听过。(这个就是一个概念问题,不重要。)

以上就是小编面试java工程师时,面试官一般问的问题,希望每个面试的小伙伴都能找到合适的工作!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1553

    浏览量

    67495
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102989
收藏 人收藏

    评论

    相关推荐

    个电源工程师的成长路径

    即将走马上任电源工程师这个岗位,请问各位大佬,这个岗位的职业路径一般是怎样的?
    发表于 04-08 14:19

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    #人工智能 #FPGA 怎么成为个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    电子工程师天上班就暴揍师傅。。。#科普 #示波器 #电子工程师 #打工日记

    电子工程师示波器
    安泰小课堂
    发布于 :2023年12月18日 17:36:12

    硬件工程师面试时最常被问到的8个问题,看看你能答对几个

    晶振硬件工程师
    扬兴科技
    发布于 :2023年12月08日 18:21:15

    硬件工程师经典面试题详解

    硬件工程师经典面试题详解
    的头像 发表于 11-20 15:08 733次阅读
    硬件<b class='flag-5'>工程师</b>经典<b class='flag-5'>面试</b>题详解

    FPGA工程师需要具备哪些技能?

    ,需要具备系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能。
    发表于 11-09 11:03

    #FPGA 本科生也能成为FPGA研发工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年09月23日 08:05:36

    Linux开发工程师是吃青春饭的吗?

    Linux开发工程师怎么样?都说程序员是吃青春饭,Linux开发工作35岁之后还能做吗? 坦白说,如果程序员在35岁的时候,“工作经验”与刚毕业的时候差别不大,则其不可替代性就不高,很难在
    发表于 08-24 09:59

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程一般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为名优秀的硬件工程师
    发表于 06-21 10:15

    电子工程师必看书籍推荐#知识分享 #知识科普 #交流#硬声创作季

    电子工程师
    也许吧
    发布于 :2023年05月24日 10:47:34