think in java interview-高级开发人员面试宝典(九)

云计算能从事哪些岗位 未来职业发展怎么规划   云计算能从事哪些岗位?未来职业发展怎么规划?作为当前互联网最具前景行业之一,云计算得到了国家政策的大力支持以及企业的广泛重视,云计算人才也成为紧缺型高薪人才。为了快速入行云计算、掌握专业技能,大多数人或选择专业学习,接下来千锋小编就给大家简单分析一下。   目前越来越多的企业开始介入云产业,出现了大量的应用解决方案,云应用的成功案例逐渐丰富,用户了解和认可程度不断提高,云计算产业发展迎来了“黄金机遇期”。   分析预计,人工智能(AI)和机器学习(ML)将成为未来基于云计算的企业解决方案的重要推 阅读详情

模拟面试


今天来谈一下出于面试官的角度,他是会如何去考虑给一个侯选人面试的。


下面先来看一份简历的摘要。


熟练掌握SPRING, STRUTS1, 2, HIBERNATE;

J2EE方面5年工作经验;

ORACLE使用经验48个月;

熟练掌握JAVA缓存机制;

了解工作流、ERP、EAI工作机制并有实际项目经验;


老实说,一般面试官看到上面的简历就会想让这个人来面试了,因为真的你SSH,ORACLE,ERP或者是EAI等工作过5年很利害了已经,于是面试官在F2F(Face To Face)面试前会先准备一些题目。

一般他会做一些下面的准备,大家来看看这些题目,然后自己不用GOOGLE和书,试着去回答一下,就当是一次面试。


进入面试官的头脑


面试官会想,这个人J2EE有5年工作经验,JAVA一定很熟,我会先从JAVA方面入手。


1. CORE JAVA的一些基础是肯定逃不掉的,如


a) HashMap, TreeMap的机制、源码片段这个侯选人肯定应该能够分析、了解和掌握了。


b) Comparable与Comparator接口的使用。


c) stack的原理,如:计算({[<>]}这样的左边括号和右边的括号是否匹配,就可能通过stack的pop, push原理去实现。


d) 单向链表,双向链表的完型填空。


e) 序列化与反序列化的具体用法


 f) HashCode Equals的原理,怎么写,算法,为什么要HashCode Equals,两个对象如果Equals了是不是HashCode一定相等,反之呢?


g) GOF设计模式考个2-3道,主要是问侯选人碰到这样的情形用什么设计模式;装饰模式和工厂模式和侯选人搞一下脑子,什么是ITERATOR模式。

让侯选人自己写一个ITERATOR看看,去一个饭店点菜,每个饭店里都有一个菜单,然后顾客根据这个菜单点菜,这是一个什么设计模式?能否写一个菜单和顾客点菜的这样的一个设计模式来呢(享元设计模式)。


h) JAVA垃圾回收机制


i) 从《深入理解JAVA虚拟机》这本书里抽一道关于JDK平台的架构问题如:JAVA的新生代和老年代怎么安排他们的比例较好,新生代里放的是什么,老年代里放的又是什么?


j) 最后来两道数据结构,排序是肯定要考的,如果这个侯选人开价较高,给他一道归并排序,归并排序归并排序归并排序,有没有,大家还记得吗?呵呵呵!

除了排序后,给侯选人来一道较难的,如:约瑟夫环问题,汉诺塔问题,傅立叶级数问题,求极限问题,迷宫问题(有如何生成迷宫和走出迷宫两种问题)。


2. 多线程


a)两个线程间如何通讯(不是WAIT, NOTIFY这种简单的哦),比如说一个线程如何传一个含有复杂结构的对象到另一个线程,对于批量数据如:读一个含有数百万行记录的.txt文本文件看看侯选人有什么实际能力。


b)线程锁的机制, synchronized关键字的用法,作用在method上,作用在method内以 synchronized(this){}开头的用法,synchronized(Object)的用法;

 public synchronized static method(){}又是如何使用的它和public synchronized method()有何区别?

 在JDK1.6中有什么好的方法可以代替synchronized,lock关键字的使用。

    

c)阻塞队列的作用?JDK1.5后的阻塞队列是怎么用的,用阻塞队列来模拟一个可以执行100个TASK的TASK POOL,即我有一个工作池,里面可以同时处理100条任务。

此时我有一个客户端,不断的往工作池里加任务,能否给出你的核心设计,拿支mark笔在黑板上画出。

同时请给出你认为比较优化的task pool的设计,并且给面试官解释一下你的设计 。


3. 问点J2EE问题吧


a) 侯选人用过Spring,Spring中AOP, IOC举个实际应用场景吧


b) 我在SPRING里把一个PROPERTIES文件注入,然后我在SPRING框架Coding时只要通过get properties文件中的一个key就可以得到这个value,相当于我不需要每次在读写properties文件时要输入或算出properties文件当前所在的入径,通过spring的context就可以得到这个properties文件的内容了。

    

c) 在spring中,一个类child继承自一个abstract的parent类,该child类要作为@Service到处注入的,在spring的配置文件中如何写法?

   

d) 切面,SPRING的事务管理用过吧?用过,说一下SPRING中“事务的传播性”,有没有,有没有!事务切在Dao层,切在Service层,为什么要切在Dao层,为什么要切在Service层。


e) 除了事务你还作过哪些Spring方面的AOP编程? 不要和我说对操作的method进行日志记录这个例子,因为SPRING出来时就是拿这两个例子来讲它的特性,是个JAVA程序员都知道。


你可以说说看Spring Batch里的“event" "flow",不知大家看过没;

你可以说说看Spring与Ehcache的结合,利用AOP来模拟Hibernate里的二有缓存;


f) Spring JdbcTemplate的用法,这个肯定要考到的吧,对吧


g) 说一下jsp中有哪些”隐式对象“,以及他们的用法


h) servlet的生命周期


i) Struts1和Struts2的核心区别


j) Strutss2中常用的几个拦截器的用法(面试官可是会问里面的关键方法的使用的哦,因此你光会背STURTS2里有几个拦截器也是没有用的)


k) 改变一个request中的值,然后把改变的值再放回该request 


L) 你说你用过缓存,如果我的应用布署在一个集群运用中,你的缓存是怎么设计的?每个集群节点一个缓存?那你有没有全局缓存,全局缓存你是怎么用在集群上的?


 

4. 再问一些Hibernate吧


a) 哦,你用过Hibernate,和我说一下Hibernate里我要对一张表进行锁定是怎么做的


b) 说一下Hibernate里evict, flush两个关键方法的区别


c) 用Hibernate插入1万条数据,怎么做,有什么好的优化方法吗


d) Hibernate的sessionFactory是怎么管理的,ThreadLocal的SessionFactory和非ThreadLocal的SessionFactory。


e) Hibernate和Spring结合后为什么我们就不用手动关闭SessionFactory了,不要和我说因为Spring帮我们关了,废话,是个人都知道,但原理是什么?是Spring里在哪边并且是怎么去帮我们关的?


f) Hibernate里 lazy loading的用法,由其是fetch关键字是怎么用的


5. 哦!!!还有人撑到现在?没有say 88?好,下面继续


基本上,我们的问题问到这边,有些本来很自信的侯选人,应该有几个已经动怒了。

这些侯选人本来准备好的面试问题,结果在我们这边面到现在这个地步已经一塌糊涂了,这时可以问一下他们有什么问题,或者问一下他为什么要离开上家公司,然后基本可以和他们say 88了。

    

6. 从简历上看oracle用了48个月,4年(我还看到过用了6年,7年的呢),我们问点Oracle相关的问题吧


a) 什么叫数据库设计范式,来,把5个范式说一下,然后给你几个例题,让你说出,这样的设计是符合第一、第二、第三还是第四、第五范式,光背可没有用哦,呵呵呵。


b) 说过了数据库设计范式,什么叫反范式呢?


c) 做了48个月的Oracle了,对于日志归档,flashrecovery,SGA, PGA的设置管理及原理因该很知道了


e) 在plsql中选取100万条数据写成txt文件怎么做?只依赖于plsql


f) orace中的索引有几种,分别应用在何种场景


g) 给出一个sql,请用plsql的分析器即analyze来分析一下这条SQL的性能如何,有哪几个关键指标是你需要看的,什么叫hashjoin, 什么叫nestedloop


h) 用exist, not exist代替in的写法


i) 从我上次写的面试宝典第6天和第7天的那近百道SQL里选2道让侯选人写写看,以此来看侯选人的SQL能力


j) ORACLE中的bitmap 和 btree索引,说一下原理


k) 有没有必要对FK建索引啊?如果建和不建分别在ORACLE中会是什么样啊?


7. 智力题(这块我们放在”第十天“中来讲)


结束语:


基本到此为止,相信50个侯选人里可能真正能够满足:


第一部分CORE JAVA答对70%以上


第二部分多线程答对60%以上


第三和第四部分合起来 答对70%以上


第六部分能够答对50%以上(但2道SQL题必须有一道是全答出,另一道复杂的可以写出思路和核心语句,不一定全答出)


第七部分智力题中,能够给出自己的想法,思路的,不一定得出最后答案(因为这种题很特别,有些侯选人没有这种思考习惯或者是准备过的是基本答不出的)。


另外对于一些500强内的公司,侯选人面临的还可能是第一部分、第二部分、第三、第四部分是全英语问答!


能够满足上述条件的大概人不多,50个里可能有1,2个满足吧,这点我没有夸张,这1,2个人,才是真正符合JAVA高级程序员资格的(当然,我指的是真的搞纯技术的一些公司、职位或者是部门),我的“面经”也是对于真正搞技术的,纯技术开发人员而言的,是这样的。


因此高级程序员不是这么好做的,面试也不是这么好准备的,不是靠一、两天突击背背维基百科上根据名词搜到的理论就行的,是要靠长期的积累,准备的。


在此我也只是给出一个准备的范围,要准备哪些东西,哪些方面是大家平时容易疏忽的。


今天就到这吧,第十天将集中探讨一些和任何语言无关的智力题,一些知名企业是必考这些的。

 

 

转载地址:http://blog.youkuaiyun.com/lifetragedy/article/details/11898665

Java-Interview-超全集合github上评分最高的jiva面试题 立即下载

相关推荐

Java Interview QA

java 面试中一些关键的常常被问到的问题。 面试宝典。

云计算职业生涯的四个选择

随着IT技术的日益普及,IT就业市场对云计算的工作岗位需求与日俱增。以下对四个常见的职业生涯以及如何准备面试进行探索。 近年来,许多IT专业人员已经将其简历进行了修改,并微调了他们在云计算方面的职业生涯。 云计算业务将会继续快速增长。根据调研机构Gartner公司的研究报告,公共云服务市场在2017年将增长18%,达到2486亿美元,高于2016年的20...

weixin_33672400的博客 455

1006. 换个格式输出整数 (15)-PAT乙级真题

1006. 换个格式输出整数 (15)让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(&lt;10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt;1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1...

柳婼 の blog 2242

探索Java深度:Java-Interview开源项目推荐

探索Java深度:Java-Interview开源项目推荐 在Java开发的世界中,深入理解基础知识、底层原理以及算法是每个开发者成长的必经之路。今天,我们将向您推荐一个极具价值的开源项目——Java-Interview,它不仅涵盖了Java的基础知识,还包括了底层原理、算法详解以及大厂面试真题,是提升技术深度和广度的宝贵资源。 项目介绍 Java-Interview 是一个持续更新中的Java知...

gitblog_00898的博客 827

fpga学习——zynq图像处理中的DVP流接口封装

之前文章介绍了基于zynq的图像处理架构问题。其中,作为开发者,需要重点关注图像传感器接口、处理算法、显示接口,这些模块。现在我们一同学习用于视频数据接口的DVP模块,并将其封装成AXI-stream接口便于直接和VDMA IP通信。 DVP_AXI stream IP v1.0使用说明 1.设计概述 •用于cmos传感器视频数据采集,将cmos输出的8位视频数据拼接成RGB 565模式 •AXI_stream主机接口,用于和PS端内存的数据交互 •基于vivado 18.3软件设计 2.模块分析

weixin_41895751的博客 4581

麒麟操作系统安装达梦数据库ARM版

Linux安装达梦数据库ARM版

运维@小兵的博客 8767

think in java interview-高级开发人员面试宝典(一)

无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文,相信这篇文章对你的职业生涯和阶值观会发生重大的改变。如果你是一名PM或者是管理者正在物色合适的开发人选,那么我相信这篇文章会在在如何挑选技术型人材上给你带来重大的帮助。作为一名技术型人材由期是程序员,用什么可以恒量自己是否合格或者我们怎么去恒量一个程序员是否质深,比如说:他可以适合一般的软件工程师岗位,还是适合高级工

打造全国最全的AI Agent开发知识领域的博客 2万+

c语言面试5(希诺麦田)

在 C 语言中,当使用strlen函数计算字符串的长度时,它会返回字符串中字符的实际个数,不包括字符串结束符’\0’。而sizeof(array)返回的是array指针所占用的字节数,通常在 32 位系统上为 4 个字节,在 64 位系统上为 8 个字节。在给定的代码中,array被初始化为"\0\0",其中包含两个转义字符’\0’。当使用strlen函数计算array的长度时,它会遇到第一个’\0’并停止计数,因此返回的长度为 2。12.下面四个选项是四个整数在内存中的存储情况,其中数值最大的一个是。

Pierce110110的博客 1051

think in java interview-高级开发人员面试宝典(二)

从现在开始,以样题的方式一一例出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题。这些题目来自于各个真实的公司,公司名我就不一一例举了,是本人一直以为苦心收藏的。一个JAVA 的MAIN方法引发的一场血案Q:    What if the main method is declared as private?A:

打造全国最全的AI Agent开发知识领域的博客 4万+

ZYNQ Linux环境下PS端I2C驱动OV5640摄像头全流程解析

本文详细解析了在ZYNQ Linux环境下,通过PS端I2C驱动OV5640摄像头的完整流程。内容涵盖从Vivado硬件配置、PetaLinux系统构建、设备树节点添加,到用户空间I2C编程与寄存器配置实战,并提供了关键的调试技巧与常见问题排查方法,帮助开发者快速实现嵌入式视觉应用的传感器配置。

vulkan6gpu的博客 853

UG\NX二次开发 使用UF_CURVE_create_ocf_feature函数创建“在面上偏置”特征

使用UF_CURVE_create_ocf_feature函数创建“在面上偏置”特征。

王牌飞行员_里海的博客 848

think in java interview-高级开发人员面试宝典(四)

算出num个数内的质数 质数即大于1的一个自然数,这个数可以被1和自身整除,如算出20之内的质数,它们有2,3,5,7,11,13,17,19这样的数字。这道题也是面试过程中笔试常问的一道题。 这道题的其目的在于: 1. 看笔试者的数学还记不记得 2. 看笔试者平时的算法 因此答题有两种。 第一种,通用做法 [java] view pl

islittletan的专栏 856

华为数字化转型之道 方法篇 第五章 视IT为投资,用产品思维管理IT

比较传统信息化和数字化转型下的IT系统特征,我们发现业务环境、IT能力、业务和IT的关系都发生了巨大的变化(见图5-1)从“管理系统”到“作业平台”。企业通常的做法是将线下的文档、流程线上化,IT系统是作为管理系统而存在的。而面向数字化,企业的业务作业、业务运营和决策、团队协同等业务动作已经和IT系统集成,IT系统逐步转变为作业系统。从“功能优先”到“体验优先”,如果要整体完成一项工作往往需要用户在不同系统间切换,费时费力。

沧海之巅的专栏 1092

think in java interview-高级开发人员面试宝典(八)

Java IO流的复习。大家平时J2EE写多了,JAVA的IO操作可能都已经生疏了,面试时如果来上这么几道,是不是有点”其实这个问题很简单,可是我就是想不起来“的感觉啊?呵呵!JAVA的IO操作太多,我这边挑腾迅,盛大和百度的几道面试题,并整理出答案来供大家参考。InputFromConsole这个最简单不过了,如果你不复习的话,嘿嘿,还真答不出,来看:package org.sky.io; p

打造全国最全的AI Agent开发知识领域的博客 1万+

uniapp(全端兼容) - 超详细接入百度统计功能,给uniapp全平台各端项目引入添加百度统计的插件统计流量详细的步骤教程(提供最新的百度统计源代码,详细的示例代码复制粘贴即可快速搞定!)

uniapp h5 app 使用加入接入百度统计,uniapp百度统计,uniapp详细引入百度统计的教程,uniapp接入百度统计,uniapp如何实现加入百度的统计代码,uniapp怎么植入百度统计详细教程,uniapp如何对接百度统计,uniapp百度统计不生效怎么办,uniapp使用百度统计不生效常见问题,uniapp引入百度统计后没有生效,uniapp h5网页接入百度统计代码后没有统计无效,uniapp最新接入使用百度统计功能,uniapp增加百度统计代码,uniapp app如何接入百度统计,

✅ 精选推荐文章 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: think in java interview-高级开发人员面试宝典(八)
下一篇: think in java interview-高级开发人员面试宝典(十)
7star_java
博客等级 码龄15年 80粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值