菜鸡程序员谈一谈面试

      普通本科学历,半路出家学编程,即将毕业,技术水平处于初级阶段(接触java一年左右),面试经历也少之又少,看到这篇博客的朋友,可依据自身情况,决定是否有必要浪费几分钟在这一篇博客上,全文仅代表个人观点,本着分享的理念,认可可给点鼓励,不认可也请君一笑置之。

       从实习到毕业,总共面试了十家公司左右,offer命中率在百分之五十上下。实习工作是在天津找的,毕业的工作是在北京找的。接下来我将会从薪资,笔试题,技术面试以及最后的人力面试谈谈我自己的面试感受。

       这里我需要强调的一点的是如果你是打算从事软件开发这一行,那么确保在你毕业之前有一份实习经历是很重要的一件事,尤其是在你学历没有优势的情况下。非名牌大学毕业,作为一个应届毕业生想要敲开互联网大厂的门真的很难,尤其是在你错过招聘旺季的时候。你会发现你收到的面试邀请百分之九十都是来自初创公司(小公司)的,所以记得去实习,越早越好,没有实习经历,你会面临的情况要么就是简历石沉大海,要么就是薪资很低的offer。也许你是一个很有潜力的开发者,但是小公司是绝对不会愿意为你的潜力买单,大公司倒是愿意的,但往往在大公司面前你证明不了自己是一个有潜力的人。

      作为一个应届毕业生,我有必要再强调一遍,接下来我要说的主要是面向一个初级java开发者而言的,不符合条件者请自觉绕道。在你去面试之前,你心里会想的大概有两个问题,一是面试会被问啥,二是如果面试最终进入了谈薪环节,那么到底要多少合适。

     对于第一个问题,我们可以一起来分析一下。首先从企业的角度来讲,一个公司最终录用你那么必须要满足的一个大前提是你达到了该公司对应职位的用人标准,而这写在他们的招人简章里,所以说去面试之前,你一定要确保他们的岗位职责里提到的技术至少百分之九十你要懂。但至于要懂到什么程度,这个问题我们就可以从个人角度去分析了,首先你是一个实习生这个不仅你知道公司也知道,所以面试难度一般很低。笔试题一般分三个部分,java基础,SQL以及一两道小算法题。这个但凡你基础扎实就不会有什么问题。通常笔试过后会有一到两轮技术面试,技术面试主要围绕的依旧是那么几个点,面向对象的特性,继承,常用的集合实现类有哪些以及它们之间的区别,Map的遍历方式,线程和进程的概念,线程的创建方式,线程的几种状态,像IO,网络编程问的很少,技术面试的难度一般都在SQL,因为这个是最不确定的,一般的面试官会给你几个场景,然后问你sql应该怎么写,会问一些优化的问题,但基本集中在关联查询这一块。关于框架,Spring一般就是围绕IOC和AOP这两点展开的,具体会问什么不好说,但通常框架的问题一般会问的很大,回答的时候基本围绕着两个点答也就差不多吧,Spring MVC知道原理就好了,拦截器也了解一下,其他的几乎不会问,因为一个初级的水平,面试官自己也很为难,在框架上深入下去意义不大,当然这是针对小公司而言的。所以总结一下,对于一个初级java程序员,技术面试基本围绕的是java基础+SQL+框架+算法(主要是一些编程题,难度不是很大)

      至于大公司会问的,基本就三点,数据结构+算法+底层原理,如果你没有系统的学过这些东西,几乎是过不了关的,因为我没有系统的学过,这里我无法给出什么有效建议,但就那些面试官给我的建议而言,这些东西也都是偏基础型,如果系统地学习过相关课程,应该都可以答出来。至于人家具体会问什么,如果你收到了面邀,可以感受一下,我这里唯一能给出的建议就是如果你还在学校呆着,还要一两年毕业,那么一定要好好研究一下这些东西,毕竟大公司的环境是小公司无法比拟的,尤其是致力于走技术方向的,毕竟一个优秀的团队能带给你的不是几千块钱能体现出来的。所以在初期如果能去大公司就不要纠结钱的问题。还有一点需要指出的是大公司的校招对学历通常会有要求的,如果你学历不具备优势,可能连面邀都拿不到,但是如果是招有工作经验的,对学历的要求就没有那么大了,只要你准备好了,完全可以在工作一两年后再去挑战。

      关于薪资的问题,我不想说我能给什么建议,我基本也是处在一个摸着石头过河的状态。我只能讲一下我个人的思路,首先看招聘软件,在职位筛选的一栏中,你可以得到大量的数据,根据这些数据你至少能知道两点,目前在招的职位经验分布区间,薪资区间,再结合周边朋友的薪资水平,根据实际情况,大概脑海里你就会有一个大致的范围,为了使这个范围更清晰化,你就要去通过面试找答案了,一般在面3到5家以后,你值多少钱基本就明朗了。所以我觉得面试确实没有必要面太多家,基本5家左右就够了。这里借用我实习时领导说过的一句话,如何确定你要不要在一家公司呆着,看两点就够了,一是能不能赚到钱,二是能不能学到技术,如果都是否定的,那就没有留下来的必要,如果能满足其一,那么自己就要做好相应的取舍了,毕竟两全其美的事很少。

    能说的大概就只有这么多了,最后再啰嗦几句,对于刚出来的学生,在公司选择的问题上一定要慎重。最起码你要保证去一家科技公司,什么是科技公司呢?最基本的一点就是软件在整个公司要有一定的地位,面试的时候公司用的技术一定要问清楚,而且面试问的技术都偏旧的公司基本是让你去做维护工作的,打个比方说,如果面试官在技术面试的时候主问SSH框架的,那么你就要当心了,很有可能你的工作是去维护一套老系统。而且维护老系统,技术要求都不是太高,你在这样的公司呆着,就算你技术相对来说要好一点,公司也更愿意给一个更熟悉业务但技术一般的人高一点的薪水。这种东西慢慢体会吧,不是一句两句话能说清的,反正找准自己在一个公司的定位也是一件蛮重要的事情的。最后就是外包公司尽量不要去,这种公司的HR相对来说比较油腻,喜欢画饼,忽悠大王。

   总而言之,面试这种东西其实就是小马过河,每个人的感受不尽相同,希望所有人都好运吧。

   













猜你喜欢

转载自blog.csdn.net/weixin_40655220/article/details/80627923