java资深工程师面试题(java程序员简单的面试问题!)

本文目录
java程序员简单的面试问题!
“几年后,你会是一个什么状态”-----------强化基础 作出自己的架构 (目前使用的都是别人做好的框架)
还有“你目前有什么不足?” ------------在服务器和数据库等方面还有待加强(数据库 是专业DBA的活 我们分内的是SQL,没有经验的程序员大都只用过tomcat服务器)
这样回答 只能说明你对大方向了解很多,职业规划有方向,而不能说明你真的有不足
java招聘岗位要求
对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。在JVM这个大类中,我认为需要掌握的知识有:JVM内存模型和结构。GC原理,性能调优。调优:Thread。Dump,分析内存结构。class。二进制字节码结构,class。loader。体系,class加载过程,实例创建过程。方法执行过程。Java各个大版本更新提供的新特性(需要简单了解)。Java的运行。这条可能出看很简单,java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。这个知识点是最最基本的java开发者需要掌握的,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。在这里需要掌握的知识有:javac。编译java文件为。class。文件。java。命令的使用,带package的java类如何在命令行中启动。java程序涉及到的各个路径(classpath,java。library。path,java运行的主目录等)。
java最大特点是什么
Windows是非常受人们欢迎的操作系统,它是微软立足于软件界的根本所在;Java是非常受人们欢迎的编程语言,它是SUN公司的心血之作,Java最大特点是:一次编写,可以适应于任何平台, 包括IBM的大型机,SUN公司的服务器,装有Windows的PC机,甚至还包括手机这样的终端设备。1996年,微软遇到了SUN,两者一拍即合,微软利用Java开发出IE浏览器,它们携手打败了网景的浏览器,然而,此后发生的事情打碎了SUN的美好幻想。
Java曾经是Windows的亲密战友
事情还得从80年代说起,当时借PC机东风,微软与英特尔组成的Wintel联盟所向披靡,它们踩在蓝色巨人IBM的肩上发达起来,微软生产的Windows操作系统一度控制着整个PC市场,获得巨大成功,但是它却忽略了互联网的发展,被另外一家以生产浏览器软件而闻名的网景公司(Netscape)抢占了先机,它先于微软推出浏览器软件。当时,SUN公司以生产UNIX服务器为主,这种服务器可以用于网站建设,所以它始终坚持"网络就是电脑"(The Network Is the Computer)的信条。当时,SUN公司也尝试设计一种名为Java的程序语言,一开始准备将其用在家用电器市场的,Java代码灵活小巧,可移植性强,并能够跨平台操作,不局限于某种操作系统,1995年,互联网大行其道,SUN立刻意识到这是一个机会!因为Java语言结构新颖、可实时操作、而且安全性强,适合用于编写浏览器软件。由于SUN当时对开发软件产品尚缺乏信心,所以它免费将Java放在网上,任由人们使用,没有想到此举使Java获得极大的成功和好评。SUN公司的CEO斯科特?麦克尼利从此将自己称做是"JavaMan"。
微软为了打败网景(Navigator浏览器),跟SUN达成某项交易,SUN允许微软使用Java言来开发IE浏览器,当IE成功问世时,微软将IE捆绑进操作系统中,使得很多电脑用户不得不使用IE作为缺省的浏览器软件。网景受到强烈的冲激,1996年春,网景(Navigator浏览器)拥有87%的市场占有率,1998年就降到40%,最后它也不得不免费供用户使用,终于在1998年11月,网景(Navigator浏览器)被美国在线(AOL)收购。
那么原本是亲密战友的SUN与微软是如何翻脸无情?以至Java最后也被Windows无情地抛弃呢?
Java成了Windows中不受欢迎的客人
1996年9月的某个星期日,微软资深的软件工程师艾达姆.波茨瓦斯在几经考量之后,提笔给时任微软CEO的比尔.盖茨写了一封信,波茨瓦斯当时是微软浏览器部门的主管,在信中,他非常恳切地提醒比尔.盖茨注意一个正在形成的威胁,这个威胁不是来自别人,正是其盟友SUN公司创建的一种编程语言--Java,这种语言允许编程者一次性编写程序代码、就可以在多个不同的操作系统上运行(如从IBM的大型机到Sun公司的Unix服务器,再到WindowsPC机都能运行,甚至在手机平台上也可以);而不需要针对每个计算机硬件和操作系统配置的不同而改动程序代码,并且这种语言在网络上是安全的。在信中,他写到:"必须意识到Java不仅仅是一种语言,如果它仅只是一种语言,对微软是不会造成威胁的。我们愿意并且能够容易地为它建立最佳的表现形式,事情可以圆满解决了。但是事实上,Java绝不仅仅是一种语言,它是COM的替代者。"--而COM恰恰是Windows基于的编程模型。然后,波茨瓦斯用大约1000字解释了使用Java编程是多么容易,相反,当程序需要执行许多任务时,使用C++编程语言则要用到相当多的复杂的代码,这比Java麻烦得多。波茨瓦斯也提出了一些对抗Java的方法,其中一条是悄悄地为Java提供承├┱梗�沟糜肑ava编写的程序能够在Windows中工作得更好,但是在其它平台上却不能运行。他警告说这项工作应当以诱导而不是冲突的方式来进行,最重要的是微软必须意识到Java的力量,"我们首先必须承认Java正在与COM相竞争,然后想出对策,而不只是把头埋在沙子中逃避问题。"
盖茨在收到这封信时,正是他准备"闭关清修"的前几天,原来比尔.盖茨每年都要抽出一点时间来考虑微软长期发展战略,人称"思考周计划"。盖茨显然被这封信吓坏了,他第二天就回信了:"这可把我吓坏了。我不清楚微软的操作系统要为Java的客户应用程序代码提供什么样的东西,而这些东西将足够让它来取代我们的市场地位。了解这一点非常重要,是应该最优先考虑的事情。"(没想到,这封信成为几年后司法部针对微软的反托拉斯案的呈堂证供。)
于是,Java成了Windows中不受欢迎的客人,微软开始对其进行清扫,SUN又岂是好惹的?一场针尖对麦芒的好戏就开场了。
Java与Windows的殊死斗争
作为一对死对头,微软和SUN一直官司不断。1997年,Sun公司以歧视使用Java软件,旨在维持其视窗操作系统的垄断地位,违反反垄断法为由起诉微软,2001年1月,SUN胜诉,根据双方达成的和解协议,微软不得对Windows操作系统中包含的Java语言作任何改动,并获赔2000万美元。这是SUN首次与微软的正面交锋,谁想这为日后微软拒绝支持Java语言埋下了伏笔,因为理由很正当,既然你SUN不准我对Java进行改动,而随着操作系统的发展,不改动Java是适应不了新的形势,那只能弃用Java了。
然而,有关Java的事情还不算完,2001年年底,微软在推出新版操作系统Windows XP和新版IE时,故意不安装Java软件,2002年的3月8日,SUN公司向美国加州地区法庭提出起诉,称此举造成它直接经济损失高达10亿美元。根据反垄断法,原告可以要求被告支付实际损失三倍的赔偿,因此SUN如果打赢了这场官司,也许最多可以得到30亿美元的经济赔偿,看来SUN这回动真格的了!微软岂能甘心,干脆一不做二不休,开始了新一轮的报复,2002年6月,微软称从2004年起,微软的Windows操作系统将不再支持Java语言,并解释这样做的原因是考虑到安全问题。2002年7月,微软关闭了一个自动向Windows XP用户提供Java软件的站点,据微软称,此举是因为Sun公司声称微软没有权利通过在线方式发行Java软件,为了避免产生纠纷,只好停止此项服务。就在双方口水战日益升级之际,迎来了有关SUN诉微软案的第一次听证会。
SUN起诉微软的听证会被安排在2002年12月的第一周,当时,在巴尔的摩市下了近三年来最大的一场雪。整个城市几乎都停止运转。但是弗雷德里克?摩兹法官坚持要求开庭,并且要求几十位与案件有关的律师到场出席;据审判时一位目击者说,为了保证早上能够到庭,法官他自己在会议室中睡了一晚。
几周后,也就是2002年12月23日,摩兹法官发布了那份长达42页的判决书,他裁定微软公司必须在其Windows操作系统和IE中发布与其竞争的Java编程语言。这份裁定书可谓是司法界的一部力作,在平实的、以第一人称的叙述中,摩兹法官回顾了SUN和微软之间关于Java斗争的历史,充分展示了双方各自的论据,相当艺术地解释了为什么要求在Windows操作系统中提供对Java的支持是对相关各方最好的选择。从过去的情况来看,每当涉及复杂技术的诉讼时,法官经常在面对着术语时显得无所适从。但是,摩兹法官给人的印象却是对Java和.NET相当熟悉,而且他表现出强烈的支持SUN的立场,但是他那对微软不利的判决是有技术和商业上的事实作为基础的。
简而言之,摩兹法官的意见是:在微软的垄断下,Java拥有一个并不健全的市场,比如说,大部分PC上所安装的Java软件要么就是旧版本,要么就是仅适用于Windows的版本,这使得其它软件开发者对Java平台产生了厌恶的情绪,这些都是因为微软反竞争行为的结果,看来微软已经利用Windows的垄断地位来破坏SUN对Java的销售渠道。树立市场正义的唯一方法是纠正微软的所作所为,"阻止微软从它过去的错误中获得将来的利益!"
拉锯战仍在继续
虽然2002年12月,法官已经作出对SUN有利的判决,并且再一次召集双方律师,举行了特别听证会,2003年1月15日,摩兹法官下令微软必须在120天完成在其视窗软件中加载Java的工作。
2003年2月21日,微软正式提出反诉,称此案有违公平,微软公司在其上诉请求中声称,即使微软不在Windows系统中发布Java技术,Sun公司也不会马上就面临任何"不可挽回的伤害"。Sun公司则声称说,在Windows系统中发布Java技术是一个时间敏感性的问题,一再推迟可能会给Sun公司及其技术带来损害。美国第四巡回法院已经宣布将在今年4月3日举行初步庭审,以此看来,此案究竟如何了结,还是一个未知数。
Java作为一个跨平台水平,一经问世就受到人们的欢迎,据统计,全世界目前有200多万Java程序员。但即使Java获胜,也仍然耽误了最好的发展时机,希望微软早已经推.NET战略,并且C#语言就是专门针对Java开发出来的语言,微软的各种软件在市场上的占有率都很高,即使最终的裁决对Java有利,也不会改变微软目前雄踞软件世界的局面。
以微软、SUN的财力物力,对付诉讼的经验来看,一场拉锯战仍然是在所难免的了。
阿里巴巴资深java工程师什么水平
你好,如阿里百度腾讯等互联网大厂的工程师,资深(架构师水平)工程师是非常有实力的。
以阿里为例:
1、阿里工程师岗位职级
阿里巴巴集团采用双序列职业发展体系:
一套体系是专家路线【P序列=技术岗】,程序员、工程师,某一个专业领域的人才,一共分为14级,从P1到P14,目前校招最低从P4开始。
一套体系是M路线,即管理者路线【M序列=管理岗】,从M1到M10。
一般来说,应届毕业生刚入职到阿里为P5,工作1-3年之后升职到P6,阿里一般到P7才给配股票。
目前阿里需求量最大的职级范围分布在P6-P8,这也是阿里集团占比最大的级别。P6级别的程序员title是高级工程师,P7便已经是专家级别,P8则是高级专家。一般而言,小有名气的阿里程序员至少也是P8级别。P10级别的存在就是传说中的大神级别,这个级别的程序员无一不是业界鼎鼎有名的人物,比如褚霸、毕玄等等。
2、阿里岗位薪酬
阿里薪资结构:一般是12+1+3=16薪。
年底的奖金为0-6个月薪资,90%人可拿到3个。
股票是工作满2年才能拿,第一次拿50%,4年能全部拿完。
关于阿里股票,主要是阿里用来奖励员工忠诚度的,所以阿里分年限行权,想要离职套现真的是很难,更不要提高额税收了。
3、阿里工程师晋升体系
阿里的工程师一般工作几年后就要考虑转P(技术)系列还是M(管理)系列了。
P虽然是专家系列但是到了一定级别也会带人,比如P9的整个业务都会由他带。M相对P来说比较难升,很多P做了5-10年缺少升M的资历。
和腾讯一样,阿里也是一年有两次晋升机会,其中7、8月是比较核心层级的晋升,如P7、P8、P9,年底则是较低级别的。
考核因素是上一年的绩效分数+直属领导的打分+晋升委员会打分,这里的委员会一般由直属领导+合作方的高管+懂业务的HRG组成。HRG:HR多面手,base在业务下面,在阿里话语权比别的互联网HR高。
晋升标准:绩效满足3.75、主管提名、技术答辩通过。
P8架构师作为阿里「IT架构灵魂人物」的角色,他们不仅做着架构师的本职工作,还同时做程序开发,写核心代码的工作。另外,架构师依旧是技术高手,编程能力依然是一流的。
但根据当前的市场需求,互联网大厂们对于普通Java开发人才需求逐年锐减,而对互联网架构师人才的需求招聘量已经上升到50%,因此薪资更是不可同日而语。
对于想学习互联网架构师的同学来说,北大青鸟、课工场等优秀品牌都是不错的选择。课程根据招聘需求制定,包含全部分布式微服务技术,对标阿里P8级别架构师。
希望我的回答对你有所帮助!

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




