{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

准备两个月,面试五分钟,Java岗面试为何感觉越来越难?

freecodefreecode 回答0 收藏1
收藏问题

4条回答

Faremax

Faremax

回答于2022-06-28 14:10

从字面来说,正常的面试流程一定是在半个小时左右,五分钟说明你要么准备的质量不好,要么遇到的公司不太规范(没机会给你展示能力的时间)。

个别现象不代表大体环境,不用太在意。

另外目前Java的要求确实越来越高,要求能力越来越高,这个是一个必经之路,你要有自知之明

评论0 赞同0
  •  加载中...
Rocko

Rocko

回答于2022-06-28 14:10

个人介绍:首先介绍下我面试时的自身条件情况,我把自己的情况分为优势和劣势来说可能更有利于你们比较自身情况。劣势:1.15年7月毕业后开始到上海工作,面试的时候是17年3月到4月,一年多的经验,勉强算两年经验。分析:一年多经验我认为是比较尴尬的,处于一个不上不下的位置,很多公司比较喜欢招三年经验的,或者直接招应届生来培养。 2.毕业于一个非985/211,勉强上一本的高校。分析:这个相对影响较小,因为有工作经验后,公司对学校的要求就没那么高了,只要是本科就基本没问题,但是还是有个别叼毛公司只要985/211。 3.前一家公司是传统电信行业,加入项目组时,项目已经上线有段时间了,我们的任务就是有需求就开发,有bug就优化,其他时间就聊骚,各干各的,工作一年多跟在养老一样,用一句话说就是编程5分钟,扯淡2小时,项目经验严重不足,没开发过很难的需求。分析:这一点是最伤的,公司招有经验的就想看你都干了些什么牛批的东西,结果你告诉面试官我写的需求都是垃圾。优势:1.大学时拿过比较多的奖,每年都是校级优秀学生,毕业时是市级优秀毕业生,拿过省级ACM二等奖等。分析:大学的荣誉对一个有工作经验的人来说,公司不一定会看重,但是可能会对面试官产生微妙的影响,特别是ACM奖,我碰到过有的面试官也是搞过ACM的,有共同的话题聊起来总是比较容易的,但是也要注意不能把这一栏篇幅写的过于多,只能当作点缀用,我当时是放在简历最后一栏,简要的写了最主要的几个奖。 2.良好的沟通交流能力。分析:这个能力不会是关键性的,但是可以加分。 3.较强的学习能力和逻辑思维能力。分析:有些公司和面试官还是比较看重一个人的学习能力的,经验代表着你现在在什么级别,而学习能力则代表着你将来能到达什么级别。学习过程:看了我的优劣势介绍,你会发现我的优势相对于我的劣势来说,简直不值一提。我自己对此也有清晰的认识,因此从过完年之后,我就开始抓紧空闲时间学习。学习的过程如下:1.看面试题正常人第一步肯定都会看面试题,我也不例外,在看的过程中,我发现有些文章写的不错,对我帮助不小值得推荐,如下: Java面试题全集(上)很多基础的东西,建议先看。 各大公司Java后端开发面试题总结 面试心得与总结—BAT、网易、蘑菇街 关于Java面试,你应该准备这些知识点2.深入学习在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看jdk的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。我学习源码的过程中,看过几个人的关于源码的文章写的很不错,如下: 五月的仓颉 占小狼 zhangshixi的Core java系列3.熟悉项目找出自己工作以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透。项目是面试中必问的环节,一般是以一个功能点为基础展开问,因此你必须对这个功能有很深的认识,不能有模糊的地方。如果有时间,能把涉及到的知识点也搞懂最好。4.做面试题有不少公司是有面试的,如果你没有准备过,很容易在各种小地方犯错,建议去一些面试题网站多做些题目,我自己是用的牛客网。5.学习记录把自己每天的学习时间和学习内容记录下来,可以让自己更有动力的学习,学习是一个枯燥的过程,你必须让自己时刻保持有动力。投简历、约面试环节1.在哪些网站投?拉勾网、BOSS直聘、猎聘网。2.是否该海投?投简历分为两个情况。 1)没有社招面试经验:建议采取海投的方式,只要职位要求跟自己比较匹配都可以投,累计面试经验。这个环节可以把投简历的网站增加两家:智联和无忧。 2)自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价可以去看准网、百度、知乎等查询。3.一天约几家面试合适?最理想的情况为2家面试,上午一般在10点左右,下午一般在2点左右。建议把理想的公司放下午,因为下午的时间比较充足,可以让公司更充分的了解你。我开始面的时候,每次都是上午面的不好,下午面的不错。4.投简历经常没下文?我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。5.是否该裸辞?我一开始是边上班边投,然后利用调休时间,或者请假去面试。后来,面试机会越来越多,请假太频繁了,自己都不好意思了,并且自己也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个原因是,在面试过程中你会发现,有的公司要人要的紧,如果你的辞职流程过长可能会导致你错过这个公司。6.注意事项1)面试前一天把路线和时间算好,最好别迟到。 2)背个书包,带好简历、充电宝、纸巾、雨伞。面试环节1.笔试常见的问题?面试常见的问题上面给的面试题链接基本都有。我只提几点:1)写SQL:写SQL很常考察group by、内连接和外连接。2)手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其他的排序代码。试想:如果一般面试者都写的冒泡排序,而你写的是快速排序/堆排序,肯定能给面试官留下不错的印象。2.面试流程?1)让你自我介绍 2)问Java基础知识 3)问项目 4)情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。 5)你有什么想问面试官的3.面试常问的知识点?1)集合相关问题(必问): HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。 HashMap和Hashtable的区别。 ArrayList、LinkedList、Vector的区别。 HashMap和ConcurrentHashMap的区别。 HashMap和LinkedHashMap的区别。 HashMap是线程安全的吗。 ConcurrentHashMap是怎么实现线程安全的。 2)线程相关问题(必问): 创建线程的3种方式。 什么是线程安全。 Runnable接口和Callable接口的区别。 wait方法和sleep方法的区别。 synchronized、Lock、ReentrantLock、ReadWriteLock。 介绍下CAS(无锁技术)。 什么是ThreadLocal。 创建线程池的4种方式。 ThreadPoolExecutor的内部工作原理。 分布式环境下,怎么保证线程安全。 3)JVM相关问题: 介绍下垃圾收集机制(在什么时候,对什么,做了什么)。 垃圾收集有哪些算法,各自的特点。 类加载的过程。 双亲委派模型。 有哪些类加载器。 能不能自己写一个类叫java.lang.String。 4)设计模式相关问题(必问): 先问你熟悉哪些设计模式,然后再具体问你某个设计模式具体实现和相关扩展问题。 5)数据库相关问题,针对Mysql(必问): 给题目让你手写SQL。 有没有SQL优化经验。 Mysql索引的数据结构。 SQL怎么进行优化。 SQL关键字的执行顺序。 有哪几种索引。 什么时候该(不该)建索引。 Explain包含哪些列。 Explain的Type列有哪几种值。 6)框架相关问题: Hibernate和Mybatis的区别。 Spring MVC和Struts2的区别。 Spring用了哪些设计模式。 Spring中AOP主要用来做什么。 Spring注入bean的方式。 什么是IOC,什么是依赖注入。 Spring是单例还是多例,怎么修改。 Spring事务隔离级别和传播性。 介绍下Mybatis/Hibernate的缓存机制。 Mybatis的mapper文件中#和$的区别。 Mybatis的mapper文件中resultType和resultMap的区别。 Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的,其内部是怎么实现的。 7)其他遇到问题: 介绍下栈和队列。 IO和NIO的区别。 接口和抽象类的区别。 int和Integer的自动拆箱/装箱相关问题。 常量池相关问题。 ==和equals的区别。 重载和重写的区别。 String和StringBuilder、StringBuffer的区别。 静态变量、实例变量、局部变量线程安全吗,为什么。 try、catch、finally都有return语句时执行哪个。 介绍下B树、二叉树。 ajax的4个字母分别是什么意思。 xml全称是什么。 分布式锁的实现。 分布式session存储解决方案。 常用的linux命令。一些经验:1.先投一些普通公司,等面出了心得再去投理想的公司。 2.不熟悉的技术不要主动提。 3.对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。 4.小公司喜欢在薪水上压你,开的时候适当提高。 5.不要去参加招聘会,纯粹是浪费时间。 6.把面试当作一次技术的交流,不要太在意是否能被录取。 7.公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。 8.尽量少通过电话面试,效果不好。 9.在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。 10.拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。 11.通过面试官可以大概判断这家公司的情况。 12.拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。 13.理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。 14.问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。

评论0 赞同0
  •  加载中...
Juven

Juven

回答于2022-06-28 14:10

JAVA岗面试越来越难,是企业对JAVA人员的要求越来越高。

一个行业在发展初期是非常需要人力物力各种资源的填充,前景好的扩张更快更大,也可以称作是野蛮生长吧,而在互联网行业这块尤为突出。互联网在咱们国家发展起来不过20几年时间,但是目前我国互联网普及率达已经达到了67.0%,网民规模达9.40亿,可见它的扩张速度有多快,市场有多大。由于互联网计算机行业的吃香,加之行业发展初期入行门槛要求不高,无数的计算机专业或非计算机专业转行的人才都投身进来,无论技术高低,都有适合而充足的岗位源源不断的出现。互联网行业一度是大家想尽办法,通过大学科班,或参加社会培训,或是自学等方式,都想进入的高薪行业,但是主要都是填充了基础类的技术岗位,比如码农,初级开发工程师。

而发展到这两年,整个互联网行业趋于相对稳定的状态,开发技术体系成熟完整,各岗位分工更精细,岗位要求也更高,而低技术岗位日渐饱和,企业更多的是需要中端和高精尖人才。其次是市场变化越来越快,技术的更新,用户对软件质量的要求越来越高。在市场和行业发展的大环境下,就要求了开发人员要有过硬的技术和较高的职业素质,才能满足客户不断变化的需求。现在已经不再是会写代码就能做好开发的时代,要求更加系统全面性人才,过硬的技术和好的学习能力,学历层次。

其次从Java开发人员自身职业发展出发,进入了互联网行业,并不代表岗位永久稳定,尤其绝大部分人初期基本都是码农岗位,Java初级开发工程师,还需要咱们继续学习看书,请教技术大佬,才能稳定下来甚至有岗位晋升。技术本身是不断更新换代的,就要求我们开发人员在已掌握的技术上不断的学习新的技术,一方面提升自己,另一方面是更好的满足市场和用户需求,做出更好的产品。其次从个人出发,谁也不愿意一直待在一个岗位上,也都想提升薪资待遇,尤其是在热门的行业,不断有新鲜的血液进入,优胜劣汰,不学习终将会被淘汰,而且Java开发技术岗位,就是需要开发人员集中更多的精力和时间,说白了就是需要年轻人,如果你原地不动,就只能被替代。

Java语言依然是目前使用最广的开发语言,本身逻辑思维要求高,需要从业人员有一定的学习能力,初学者如果学历层次太低,基本都很难掌握好,一般能学个初级的出来做码农。长远来看,如果学历不够 ,没有什么学习能力的话,发展并不会很好,可以考虑换个技术含量低一点的方向。开发不比测试,测试岗位干得越久越吃香,开发岗位要长久就是要做中高端技术人才。现在不仅是企业对开发人员要求高,我们自己更要对自己高要求,才能跟上企业的发展,用户的需要。

所以,时代在发展,技术在进步,还仅仅只是掌握了初级技能就想高薪的,那能力还是远远不够的,觉得面试越来越难,那是时候该提高一下自己了。

评论0 赞同0
  •  加载中...
罗志环

罗志环

回答于2022-06-28 14:10

确实需要不打无准备的仗,但是你并没有办法理解公司招岗位的真正需求,很多原因都会导致重新招岗,另外就是看基础也就是基本功,很多人功底好,几句话就打动了面试官,有人入行不深准备再久也GET不到那个点!

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<