留言与评论(共有 0 条评论) |
发布时间:2020-04-15 16:41:45
对于三年的开发经验的程序员来说,主要还是考察的是基础知识,这些基础知识主要包括:算法基础、JDK中的Api的合理使用及其原理分析、编程规范(设计模式)、计算机网络、操作系统、数据库相关知识。
针对算法这一块,我有必要多说两句,算法在大公司的面试过程过程中是重头戏,特别是不知名(非985、211名牌大学)本科院校毕业的。想要去大公司,就要多刷算法题,如果算法足够优秀的话,其他的都不是问题。当然了,如果你要求不是特别高的话,经常刷刷数据结构、剑指Offer也够了,如果哟啊进阶的话就是刷leetcode(如果看不懂,请看leetcode-cn)。PS:很多公司表面上说着我们不看学习,只看能力,其实这句话是骗人的,如果一个非985、211学校的和一个Top9学校的人去面试同一家公司,肯定是Top9学校的人的面试题更加容易。如果这两个人都能同时被录取,基本上只有一种情况,非985、211学校的这个人非常牛逼。
JDK中的Api的合理使用及其原理分析主要跟并发多线程、垃圾回收、内存管理、程序执行效率与优化有关。比如说HashMap是否安全、StringBuiler是否安全、并发会导致什么问题,又或者说ThreadLocal内存泄漏的避免方式、violate关键字在任何并发场景都适用吗、Executors里面的各种线程池又有什么坑?
编程规范,主要是两个大方面:设计模式与代码规范(参考《阿里巴巴Java开发手册》)。
计算机网络这一块的知识很多,如果你要慢慢去看书的话,效率会很低,但是其实面试或者开发中常用的或者必须掌握的也没多少。比如说HTTP请求的GET与POST方式的区别;Http1.0、Http1.1、Http2.0的区别;TCP三次握手,为什么不是三次,为什么不是四次;HTTP、TCP、UDP的区别和联系;Https和Http有什么区别;Http 为什么是无状态的;
操作系统和数据库主要是一些关于底层的基础知识以及基于数据库底层原理做的调优方案。
如果你能按照我上面给的提示去慢慢学习、反思,你已经很优秀了(我也在努力)。当这些基础知识都掌握了,你可以再去研究一下更高阶的一些知识,比如说分布式事务的各种实现方式的对比、分布式协议、C10k问题、一致性Hash原理等等、负载均衡方式的对比、服务熔断、限流、数据库缓存双写一致性、秒杀场景如何设计、分布式ID生成器的设计………
虽然对于大部分人来说——工作CRUD、面试造飞机。但是我们也应该去逐渐掌握“造飞机”的技术,这样才不至于遇到了生产事故再来学习。
关注“Java架构师养成记”,带你装逼带你飞,一起从小白变身架构师,从此不再被面试官打脸。后台回复“架构师视频”,获取最新Java架构视频。
谢邀。
首先作为一名Java程序员,我认为这件事还得具体分析。
第一种情况:你的能力太强,招聘公司庙太小,无法给你提供一个可能满足你的期望的发展空间,于是刷掉了你。或者你的从业经历内容与招聘公司的要求暂时不是特别匹配,所以用人单位也没有要你。这种情况跟你的个人能力无关。但是既然你后面又说要打脸面试官,那很可能是我接下来要说的第二种情况。
第二种情况:根据你题目中的描述。被淘汰很可能是你的能力还没有达到企业用人标准,至少有些技能还不够强导致面试被刷。
题主的经历其实每个Java小白都是经历过的,出现这种情况我觉得应该做好以下几点措施。
3年的Java开发经验,那有知识漏点是太正常不过了。第一,你不要有过度的心理压力,第二也要从面试当中吸收经验和教训。过度的心理压力会给生活造成很大的麻烦,你可能吃不好睡不好,同时专注力不集中,造成后面的面试越来越差。放松心态,首先做到的就是——自我宽容。接受自己的不完美,你才能真正强大。其次,放平心态的同时,也要有危机意识,将你的“报复”情绪从面试官注意到对自己的严格要求上,找出自己的不足,查缺补漏,亡羊补牢。在接下来的面试中,争取错误越来越少,最终找到理想的岗位。
其实刚才已经提到过这点,就是要反省自己的不足,找到自己的缺点和弱项。面试官的工作就是找到应聘者的弱点,然后放大并攻击。一个表现良好的应聘者应该非常清楚这一点,并有效的回击。
你们的阵营不同,所以被面试官虐也是情有可原。所以,应该做的,是进行自我反省,而不是可以报复。
无数的历史告诉我们,能够记住耻辱的人,终会有所成就。卧薪尝胆的勾践、胯下之辱的韩信。哪个不是一代芳名流传千古?
所以,如果你被人鄙视了,被人看不起了,请你记住这个人,并化为动力,并努力向前。
综上,就是我对于如何打脸面试官的一点见解。希望能够帮助到你。
3年JAVA开发,翻身打脸面试官。这个问题让我很惊讶,3年的开发经验,充其量也就是个中级程序员的水平(当然天资聪慧者除外),而做在你对面的面试官,按最低的标准也应该是要中级程序员水平。也就是说你的开发水平往好的方面说,也就是基本跟人家持平,离翻身打脸面试官还远着呢!
说说我从事JAVA开发8年,现在已换行了。成为一个JAVA高级工程师、架构师,需要非常广的知识面,及非常深入的技术面。可能你再这个公司是高级工程师,技术达人,去另一家公司面试,由于技术应用的不同,还是会面临着被面试官打脸的危险。
当然如果你很牛B,相信你应该可以跳过技术面试这个环节。
所有我想说的是,请放低你的姿势,技术无止境,与其想打脸别人,不如老老实实学习技术。还有就是牛B的人都是不需要面试的,更不知道如何翻身打脸面试官,因为没机会坐在面试官对面。
首先很荣幸能够为大家解答这个问题,让我们一起走进这个问题,现在我们一起探讨一下。
下面我为大家分享,我个人对这个问题的看法与意见,希望我的回答能给大家带来帮助,也希望大家能够喜欢我的分享。
我想你是误会了‘打脸’这个词的意思了吧!现实中的打脸通常是被否定者通过努力改变现状从而给否定者一个有力的回击,就像一个响亮的耳光一样。下面就来介绍一下打脸场景:
在面试时,一般都是与面试官一问一答的情形,面试官问,你答,你只需要正确回答面试官的问题即可,一般不会出现打脸的情形,经常遇到的确实经常应聘者遭打脸,可能是基础问题不牢,或对项目步骤不熟,所导致与简历上所写的不匹配。
而现在你想打面试官的脸,那典型的一种情形就是,在自由提问环节,由于你技术比较牛B,在了解一些开发技术时,问到了一些面试官所不熟悉的技术,并持续追问,这时面试官可能会显得有点尴尬,但也不一定,因为作为面试官,他是具有心理优势的。因为他能决定你的去留,是否继续与你交谈。掌握一切的主动性。
所以总而言之,打脸面试官发生的几率很小,尽管你的技术有多好,但你是应聘者,还是出于找工作养家糊口的目的,一般从心理上还是会保持谦卑,对面试官毕恭毕敬,这样也会给别人一个好印象,增加面试成功的可能性。
所以,还是尽量打消打脸面试官的想法,要记住你有一个方法打脸面试官,面试官可能有一千种方法打你的脸。
也不是不可以!
找一个酱油公司,可能面试官还不如你!我之前就在某公司面试别人,那时候技术很一般,如果你技术有深度打脸三年前我那样的应该可以做到!不过三年确实不够!
java入门容易,生态广,想在某一领域有一定深度,可能专个两年就能有收获!但是面试官网网考察深度的同时也要一定广度,java方向众多,打脸面试官,正常水平的那种,至少还得两年吧!
暂不说java高阶技术,分布式cap应用分布式事务微服务等,java基础搞明白也需要耗费很多精力!
这都是围绕java的东西,还只是开发中的冰山一角,没有几年积累,如何应对刁钻的面试官?我编程八年,还一直在给自己充能,技术无止境,一山更比一山高!别总想着打脸面试官了,三人行还有我师呢,稳一点才有工作3年程序员的样子!
以我亲身经历来给你“示范”一下,希望能对你有所帮助:
我从1999年底开始接触Java,至今已经有20年了,中间曾经中断过5年,至今用Java差不都15年了,15年的时间,Java伴我从初级程序员一步一步成长为技术总监,我的体会就是,Java入门容易,精通难。你想翻身,我建议你至少再过5年吧:
8年左右,你能成长为一名高级程序员,甚至架构师,需要具备的知识有:
精通Java语法
面试Java软件开发工程师的时候要注意什么?相信每个行业的面试都是不一样的,就比如技术和销售,我相信他们面试的内容是完全不一样的,因为一个偏向技术,一个偏向销售能力。这就是一个很大的区别,那么我们如何在面试Java软件开发工程师的时候脱颖而出呢?第一:面试的时候要注意穿着,虽然技术和销售不一样,但是至少要衣着整洁。这样才能给人留下一个非常好的印象。第二:不要不懂装懂,如果你这样做了,那么百分之百的会被淘汰。遇到这类问题应该避重就轻的回答。第三:话不要太多,但是也不要惜字如金。话太多容易暴露太多的缺点,让面试官反感。如果不说话,那么以后怎么和团队沟通。第四:一定要有礼貌,如果一些普通的礼貌都不清楚,如果还能录取的话,相信那简直是个奇迹。当然除非你有独一无二的技术。第五:不要先提薪资待遇,这都是在面试阶段,别人再考核要不要你的时候,如果他问的话,你可以回答他根据一个职位市场工资。如果你急不可耐的要求工资,那你只能永远回去等通知吧。总结:平常心去对待一件事情,是比较好的。不要紧张,其实面试官也是一步步走过来的,他曾经也是和你一样被别人面试,所以不要紧张。
首先,找到淘汰的原因。
淘汰不一定是因为你的技术问题,可能是学历,也可能是脸,或者是年纪,也可能是薪资。我遇到有快30多岁的培训了一年,出去面试,你觉得别人会要你吗?所以啊,面试是一个比较主观的过程,技术占比不到3成。
我只从技术上谈谈怎么进步。
Java面试的考点,我随便列几个
1.基础知识
2.容器
3.并发
4.JVM
还有操作系统,数据库,分布式等。
还有重要的一点,面试要有的放矢,不打无准备的仗,也要调整好自己的期望。这就是面试技巧了,这是另外一个话题了,有兴趣的可以多看看 一线互联网公司面试总结 这类的文章,发现自己的不足。
如果实在不自信,可以买个课程学习下,有专门的面试课程。
感谢邀请领域工作十多年的三邵来梦呓:-)
1. 首先个人观点是反思自己面试过程中的哪些问题没有回答好,「 查缺补漏 」 是你当下首先要去做的事 。第二步才是思考如何 翻身 :-)
2. 阅读源代码,提高你的技术深度。
阅读源代码是个好习惯,理解高质量的代码,对于提高我们自己的分析、设计等能力至关重要。面试时如果由喜欢读源代码的习惯也会加分,其好处主要有:
3. 提高技术以外的修养,软技能,也许面试官更看重。
如果你觉得我的回答对你有帮助,或解答了你的疑惑,欢迎点赞和关注!你的支持是我持续输出的动力!
这个问题纯粹娱乐的吧,前提又没,让我们自己发挥想象来回答嘛。3年JAVA,自身水平如何,面试的公司业务跟你之前的是否类似,不同类型公司技术栈不一样,还有面试官又问到你什么了等等前提你都没描述呢
学JAVA的不是会个语言就ok了,我列举下要求:
1、深刻理解JAVA多线程等并发原理及其解决方案,了解JVM工作原理最好深入些
2、会JAVA分布式存储和计算框架hadoop、会JAVA的和大数据相关的非关系数据库hbase等
3、熟练使用JAVA框架ssh,ssm,还有快速构建或者微服务springboot,springcloud等
4、能使用JAVA实现数据结构和算法,能使用JAVA语言或者JAVA大数据分析框架实现机器学习算法
5、很多大数据框架使用了JAVA开发,最好能读其源码和在其基础上完善大数据开源框架,例如流计算框架Flink是JAVA开发的,阿里正在完善,你要是能完善有机会去阿里工作
6、由于很多大数据框架使用JAVA开发所以JVM的管理和维护成了运维的重点
本人JAVA大数据、人工智能从业20年,是实干家。感兴趣的暂时列举这些,请大家点赞和关注,谢谢
我认为有几点
1掌握java编译原理
2熟悉来源代码
3接触不同的项目
因为java技术有很多种类,如果互联网行业的对数据库,对列,并发技术要接触多些,但是对多线程,网路编程的技术就要薄弱许多。要翻身就要做不同类型行业的项目。单技术上被项目约束太多
学了那么久刚开始以为,java越学越多,后来越往深处学,越来越少
留言与评论(共有 0 条评论) |
全站搜索