据说写面经攒人品?我也来写写。

  上周五接到华南资讯的面试邀请,然后昨天面试完,足足面试了三个小时啊,面试官很好人,挺健谈的,没发现时间多难熬,反而挺享受那种思想碰撞的感觉,然后今天收到了体检邀请,目测没什么问题的话,离offer应该不远了。

  昨天上午,一过去前台说明我是来面试的,二话不说直接被拉到小房子做题,怎么和我想的不太一样,不是应该和漂亮MM先聊两句的吗 = =?面试题很多,因为我面试的是java开发工程师,所以面试题有java基础,数据结构与算法,开源框架,数据库,还会有前端的一些知识,html,css,Js等,题目不难,但是很基础,基础得不一定都会。

  做完笔试题之后就是HR面,说起HR面也是幸运,凑巧当时公司管理层开会,HR由一个职位比较高的来面,听他说一般来说一年来他只有两次机会和学生见面,就是在宣讲会的时候他才会出面,看来我还是挺幸运的啊。HR一看就是很厉害的人,问到我的项目经验,当时看他的眼神也是好认真啊,问得很细,开发多久,什么时候上线的,维护团队多少人?技术问题怎么解决?奈何这是个学生团队开发的项目,对于运维什么的基本没什么概念,反正知道有bug就修,并且负责项目云平台的部署,基本就是这样,HR就没问多少了,然后又说了下公司规模,对新人的培养等等,还是一次挺不错的经历。

  HR面过后就被叫到另外一栋楼去找技术部的人来进行技术面,技术面很有意思,我想象中的技术面是去小黑屋,然后很直接地问很底层的东西,然而并不是,面试官很年轻,第一句就是刘同学,你是大三还是大四,我们先缓和下紧张的气氛。然后就问到了项目,要我描述下项目,然后说起客户端怎么向服务端传输数据的,我回答拼接url或者放到请求头,框架的自动赋值,然后我回答了反射机制还是数据模型什么鬼的,反正不懂瞎扯的,面试官也没纠结这个问题,然后又不知道怎么说到了网络请求get和post的区别,post怎么获取到参数?可以通过网络抓包,还问到了项目可能发生的并发问题,然后又从并发涉及到内存访问,然后从这里又来到了多线程的线程模型,反正就是一环扣一环,整个过程有讲有笑,非常轻松,最后就是问到公司现在做的项目方面的一些东西了,然后这次面试就结束了,总的来说还是非常不错的一次面试。

  

  接下来就说点其他吧,有许多做服务端开发的小伙伴也会问我什么框架,什么非常"高端"的技术啊,说现在公司都用什么框架比较多,学哪个框架比较好,但是我觉得这些都是非常舍本逐末的行为,面试的时候就谈到一个问题,对于很多面试者,除了框架你还会什么?没有框架你能开发吗?你了解框架的或者技术的本质吗?确实,现在有很多小伙伴都不太注重这些,其实无论框架多高深,都离不开内存管理,语言的特性,异常处理,IO,多线程,网络,还有就是数据结构与算法,其实这不论是哪种语言,这和语言无关,一般说只要稍微搞懂一下这些东西,对技术层面的理解绝对会比搞框架高一个层次,就像我们平时用到的hashmap,linkedhashmap,arraylist,linkedlist这些,稍微认真学过数据结构与算法的都知道内部大致是怎么实现的,对进行容器的使用就会得心应手了。

  关于开源框架,现在不用开源框架来开发已经非常少了,不用框架程序员就会花许许多多的时间在与应用无关的方面,明显降低了开发效率,并且也不好维护,关于框架的学习首先要会用,有一定的时候经验了就可以去逐渐思考使用框架和不使用框架的区别了,并且稍微了解下框架的设计思想了,关于spring常常说的面向接口编程,但是,面向接口编程这绝对不是spring才有的,我们平时开发就应该面向接口编程,关于这方面还是要多看看设计模式的书。但是设计模式没有一定的代码量是看懂并且会用的可能性不大,所以呢,多写多看多思考才是正道。

  最后关于面试,其实感觉面试时候面试官是非常看重你有没自己独立思考的,所以我们背书,照搬书上那套是肯定不行的,一定要有自己独立的思考,其实面试过程中肯定会遇到自己不懂的,这是必须的,不懂其实没什么关系,有不懂的才是正常的,只要在大部分地方都要有自己的见解,那基本上就OK了,当然,还是要有一定的知识积累才能和面试官去说。我的笔试题第一题我就写不出了,那又如何,整张卷子百分子八九十都会的,那就OK.

  最后,希望本篇文章对在找工作的你有帮助。