美文网首页Java 杂谈
学渣的春招路(Java面试)

学渣的春招路(Java面试)

作者: cd4bd3aa39ec | 来源:发表于2019-04-14 22:01 被阅读9次

    2月份离职回来参加春招,想想快两个月了,现在也快结束了,自己大大小小也面了不少公司,一直都在牛客网上看别人面筋,现在有时间也来总结一下和大家交流交流。

    楼主坐标武汉,18年毕业,之前干完实验室boss安排的事情,就在学校周围找了一个金融产品公司做java后台开发实习, 以下按照时间先后顺序来介绍吧:


    阿里(二面猝)

    当时2月底离职就是因为看到阿里开始内推,果断离职参加内推,记得当时效率很高,三月的第2天就接到了阿里菜鸟的电话,当时自己很激动啊,毕竟人生中第一次大公司的面试电话。

    • 一面先聊了一些基础,冒泡排序的最差情况的时间复杂度,类的加载过程和机制,jdbc的详细链接过程,中间还穿插问我statement和prestatement的区别,然后是sychronized和violate这几个关键字的原理和区别,然后还有一些记不清了。

    • 坦白说自己当时基础这块回答的并不好,因为准备也不全,不过还好面试官很善于引导,把主要的部分都基本回答上来了。然后就是一直怼我项目,问我在项目里做了哪些事情,对于问题是如何解决,以及怎么优化相关模块。

    • 项目因为涉及到分布式一些东西,也用到了阿里dubbo和zookeeper的分布式服务框架,但是自己也只是实习生,对这些东西也是了解一些皮毛,对于深层次的东西,还好面试官并没有深究。

    • 但是面试官同样问的很细,比如在优化过程中,问我对于缓存优化,是如何对相关性能进行优化。

    • 我跟面试官巴拉巴拉了半天,才表达完,还有点担心自己描述的很乱,怕他没听明白,面试官一句话说其实你就是把锁的粒度进行降低,不得不说阿里的面试官真的除了技术高,理解能力也是非常棒的!然后聊到quartz这样一个服务调度框架,这个框架当时是我实习时候用来解决某个多任务定时调度场景时,当时部门老大给我建议让我去试试使用,后来自己使用了一下确实比自己用timer和timerTask组合写出来代码要简介很多。

    • 结果没想到这个框架那个面试官也用过,真的是装逼坑自己啊,然后面试官抛出了一个场景题目,问我对于这个quartz框架你如何在分布式服务中进行改造,我当时内心真的是想说,我只是个孩子啊,你为什么要这样对我!!!

    • 但是自己装的逼自己跪着也要装完,然后自己就结合理解,把这个问题往分布式中业务时间的一致性方面去撤,但是感觉回答的面试官并不满意,后来查了下资料感觉面试官应该是想问我这样的分布式服务在多节点中如何保证事务的统一性,而不是时间上的一致性。 第一次面试面了足足一个小时,自己面到最后都虚了!不过感觉自己很庆幸一面能遇到这么nice的面试官,帮自己总结了很多东西。

    • 面完一面,我决定好好学复习,当时以为自己没戏了,没想到隔了4天又接到阿里菜鸟的面试官电话。
      二面面试官感觉就没一面面试官那么情切了,一直都在听我说。主要也是问项目,然后问了java垃圾回收过程和相关算法,问我熟悉什么其他开发框架,我说了springMVC和mybatis。
      全程问题也不痛不痒,就问了20多分钟。

    • 最后问我有什么问题,我说问什么2面时间这么短,面试官答风格不一样。我又问能不能给我今天表现打个分,面试官说涉及面试结果的东西不能告诉我,不过说面试结果让我不要猜。

    • 然后挂了电话,过了5分钟面试官又打过来,说刚忘记问我能不能来杭州实习,跟我确认一下,我说能。当时室友说你这个有希望啊,不然别人怎么还会回电话跟你确认。

    • 当时自己也很开心,以为有希望。事实证明自己too young,too native。过了1个星期发现自己被reject,自己估计可能是一面二面综合评分低了,后来就被刷掉了。
      虽然很不甘心,但毕竟自己也学到了很多。


    搜狐北研(拿offer)

    • 搜狐北研团队来学校3月中旬来学校开宣讲会,还是被室友一起拉过去,宣讲会结束直接现场笔试。第二天就在学校一个咖啡馆面试。笔试个人感觉并不难。

    • 第二天去面试,面试我是一个大姐姐,感觉人也很不错。估计这个姐姐是搞偏向运维的,问了一些linux的东西,很细心,还跟我讲了之前笔试中的两个linux题目,后来问我一些linux比较偏的东西,我说不知道,她一直跟我说没事,实习生这个不重要。

    • 然后看我笔试两个算法都做的不错,就没问我算法,问我也是一些java基础。 手写jdbc连接过程,hashmap的底层结构,sychronized的关键字的使用,发现java问了几个后,可能都回答上了来了,面试官姐姐就开始放大招了,问我设计模式,我说了几个常用的什么单例,工厂。。。

    • 姐姐突然问我知道享元模式模式,我内心EXCUSE ME???我说没有,她说int和integer装箱知道吧,里面会用到,回去好好看看。

    • 然后问我阻塞队列知道吗?我说了解。要我手写模拟实现一个阻塞队列,然后我大概用wait()和notify()写了一下,跟姐姐讲了下思路。姐姐说大概是这摸个意思,但是感觉代码有点问题,我说没有编辑器,可能写的随意,她说小小年纪怎么能依赖编辑器呢?

    • 面了也有1个小时,姐姐说我觉得没什么问题了,你回去等通知吧。大概过了1个星期,邮件发了offer。


    CVTE(前天hr面)

    当时也是通过线上笔试,3月中下旬通知在武汉洪广大酒店面试,投的是web后台开发。

    • 当时一面的面试官也是问了一些java基础和项目的东西,面试也是感觉很难说,好也不算好,差也不算差,面了40分钟多。 记得自己当时java内存泄漏和内存溢出两个概念搞反了了被面试官提醒。其他有点记记不清了。。。当时一面完,就让我回去了,我以为自己挂了。最气的是当时网易给我打电话我正在面试,我给挂了,还挂了两个次,然后就再也没有然后了

    • 后来过了一个星期,当时在做今日头条笔试,cvte又打电话,说是做个回访,先是问自己对自己之前面试评价,然后问学习,最后怎么问着问着问起spingmvc了,然后又问起来数据库索引,我内心:excuse me?不是做回访吗?怎么跟面试一样?然后问了40分钟说今天先到这。

    • 隔了一天又接到cvte电话,这次说就是一次技术面试,然后全称40多分钟,也是围绕项目,然后学习方法,最后聊到了最近看的影响最深的一篇博客,我真的是嘴贱啊说看了一遍关于介绍B树和B+树的,然后面试官说让我说说,我内心当时真的是想给自己一个耳光,然后就硬着头皮跟面试官说了下两者的区别,不过还好面试官没深入问。最后清明节查询自己状态显示技术二面通过。然后又等了快2星期等来了hr面。

    • 也不知道是cvte还是因为差人还是,自己的面试流程走的莫名其妙。不过也不是care这个公司。


    远景能源(拿offer)

    • 自己也是3月初就投了简历,当时月初的时候,打电话过来简单聊了一下自己做的项目和简单的java基础,然后还手写的两个算法题目邮件发给了面试官,然后就快1个多月没消息,直到清明节放假前来学校现场面试,还是在上次的咖啡馆。

    • 这次面试官是个感觉有快40岁的架构师了感觉,一上来说你感觉你评测时候逻辑题目做的不好啊,一会我要好好考考你逻辑。我当时一脸蒙蔽!!!然后面试官看我算法题目做的很快也就没问算法了。全称就是撕逼项目,对项目中优化的一些地方跟我探讨很久,肯定了我在一些地方深入去了解并实践去改进。然后有跟我聊了一下我对项目中对于分布的一些理解和认识,然后也出了个场景题目,也是主要是想考分布式中如何去实现事务统一的,自己回答了原子广播的这样的一些概念,深入之后就真的不会啊!!!面试官最后对我评价,沟通能力不错,对专业知识还需要深入钻研。。。最后放假来了也是给了offer。


    华为(进了资源池等吧)

    • 华为其实笔试和面试都很水,感觉没什么好说的。总之听学长说今年暑期名额人很少,所以自己也没抱太大希望。

    • 二面的时候也有点小插曲,自己投的第一志愿是it应用开发,第二志愿是云计算开发。

    • 二面面试官结果正好撞上一个搞云计算的,本来聊项目的感觉聊的非常愉快,然后问我知道不知道springboot,我说了解最近玩了一下,说下介绍,然后说自己对他新的.yml格式配置的文件印象很深刻,感觉格式看起来比以前简介清爽很多,感觉面试官应该也用过,然后点头同意。

    • 最后面试官看到我第二志愿写的云计算,问我还懂云计算吗?我说主要是感兴趣,了解一点,其实当时内心是崩溃的,想自己为什么要去写个云计算啊!!!

    • 然后说了一下自己对docker容器的理解,其实也就是看了点书,没什么项目经验。然后面试官说你这个是偏向底层的,上层的spss什么的知道吗? 我说不了解。。。

    • 然后面试官估计看我确实不知道就说,如果你要是来华为搞云计算,那你学的东西还有很多啊~ 我:说如果能去一点好好学。。。


    腾讯(2面挂)

    腾讯是一个星期前通知在学校外面一个酒店面试,想想自己笔试做的,没想到还有面试的机会,虽然知道自己搞java,但是还是想去感受一次。

    • 一面是上午9:30就开始了,估计是前几个面试的,面试官整个过程比较轻松,面试官看我这段时间搞java,也没问什么关于语言方面的东西。主要也是聊项目,问我在项目中如何去优化。问我对与项目里面几个框架的认识,zookeeper这个他说他们那边也用到,着重跟我聊了下对于这个分布式服务注册中心的相关角色和功能,感觉和面试官能产生一些共鸣,还是很棒的事情。随后面试官问我笔试做的怎么样,我说你们笔试真的难,我后面四个答题应该完全做对的只有一个,面试官说我也看了你们题目,我一个都不会。。。然后我跟他都尴尬的笑了。然后面试官问我这些基本算法都准备了吧,我说什么基本算法,他说就是常见的排序啊,我说啊这个准备了,他说你准备了我就不考你了,来写个链表的题目吧。。。我心中暗自佩服面试官套路真深啊!然后手写了链表倒置,面试官就说可以了。面试过程中面试官也跟我强调说腾讯不看中语言,主要是基础。回来就查到进到复试了。

    • 二面是第二天中午11点,过去这个面试官就看起来严肃很多,一上来先让我写了一个快排,我随手就来,写完了被面试官发现里面有个变量的下标写错了,我半天没看出来,面试官问了我两边你确定吗,搞的自己有点慌,然后面试官给我指出来,自己改了过来,刚开始就弄的自己好虚。然后也是全程撕逼项目,从缓存优化扯到数据存储引擎,真的是吧自己准备的东西都说了出来。面试官全程都在问,所以自己也很慌。然后问自己擅长的语言,我说着半年用的java,实验室做个IOS开发会一些oc,做课程设计写爬虫用过python。面试官说过来的话主要是做c++开发,我说只要感兴趣应该能很快适应,面试官反问:不感兴趣意思就是不愿意喽?我说如果过去做测试的话,可能就感觉不对自己的要求。面试官说不会的,我们这是后台开发。然后问了我会不会写脚本,又问了一些linux基本指令。然后然我回去等通知,面了整整80分钟,感觉自己被问的都虚了。最后回来一直没有等到hr面,我就知道GG了,想了下自己可能当时问说转C++的时候就不能犹豫,然后手写快排也不应该出问题。。。


    京东(hr面试未安排)

    京东的笔试好像记得也不大难,编程过了两道好像就过了,也是前几天约了一面。

    • 一面电话面。面试官一上来就说用三个词介绍下自己,我听成自己我介绍,我说了一堆后,面试官说三个词,就三个词。。。说完面试官说 你能说下面向对象原则和特性吗?SOA知道吗?SOAP呢?知道tomcat吗?还问了一个什么名称,我听都没听过,我说不知道,全称就是名词解释,全称就是听你说,面试官就是问你,不做评价。然后又问了优点,缺点然后就没有了。用了20分钟,面完我一脸懵逼,感觉自己面了假的京东,感觉这比华为还水啊。

    • 隔了一天约了二面,二面面试官一上来就说自己很急,说先看下自己简历,然后自己介绍一下。主要也是问我项目,主要问我对缓存有没有相关使用或者优化经验,我就把我们之前项目的里用的缓存Ehcache跟面试官聊了一下,结合自己实现的业务怎么去做锁的粒度优化。然后说当时想用redis做二级缓存,对redis有个简单的项目调研实践,最后因为项目日程原因暂时没有上线。然后面试官跟我介绍了他们部门,说是做京东中间件的,负责京东商户一些秒杀的业务场景,涉及到高性能缓存的一些东西。然后我表示出自己对这方面很感兴趣,希望面试官能指导了一下,面试官说了一本什么什么高性能的书,是啥他想半天也没说出个名字。。。

    • 然后他又跟我聊了下我实习的项目的框架,问我怎么看,觉得有什么缺点没,怎么优化改进?我当时心里又是Excuse me,心想我只是实习生,框架都是架构师搭建的,我也只是刚会用啊!!!于是我假装镇定,然后说了下项目中Ehcache中用到的访问工具性能在并发情况的一些问题,然后说了dubblo这框架的理解,然后说现在hsf这个分布式框架更受欢迎。其实也都是自己平时看的一些博客的东西,往深了问,我也不会啊。不过还好面试官没有在纠结。说问我有什么问题吗?我大概问了下能反馈面试结果的时间,他说他这边分的十几个人面完,会交给hr,让hr统一安排。

    • 然后就是现在hr面试未安排已经第三天了,感觉自己被遗忘了。不过据说好像京东也跟华为一样,都是资源池,然后再由部门主管去选,所以我也就平常心,不怎么在意了。


    去哪网(一面挂)

    • 这个挂的我很伤心啊,笔试也是做对两道。 然后前几天武汉通知去一酒店面试,面试官一上来就把之前笔试题目拿出来问我最后一个编程怎么没写完。题目就是那个单词转换的怎么把dog变成lot,大致是这样,知道题目的人应该有印象。然后我说这个题目当时没思路,就想用暴力遍历的的方式写,时间也不多,就放弃了。

    • 面试官说现在有思路了么?我说没有,这道题目后来就忘记了。面试官提示说用图去做,我想半天,面试官问我图没学过吗?

    • 我说本科学了,现在忘记了,面试官说一点都不记得吗?我无奈的说,太久没用就忘记了。然后面试官连着问了两个算法题目,一个找两个链表的公共节点,找一个环的起点,第一个回答的还行,第二个说了半天,感觉跟面试官有点说不清,面试官说就换了新的问题。

    • 问我tcp的滑动端口机制,我回答了保证tcp传输的有序性和控制流量,面试官问能不能画图给我讲一下他是如何保证不重复发送的。我内心当时就是感觉难受,自己为什么平时不在看的仔细点呢!!!

    • 面试官看我不会,又问下一个将一下hashmap和concurrenthashmap,其实这个很有自信,比较源码也看过,聊到concurrenthashmap和hashtable,面试官问我他们锁的机制有什么不同,我说一个是用可重入锁,一个是sychronized,两者在并发情况下,性能差异很大。然后说到乐观锁和悲观锁,面试官问我这个乐观锁和悲观锁是如何去定义乐观悲观?

    • 我。。。我后来自己回来查了一下面试官应该是想我回答非阻塞同步算法与CAS(Compare and Swap)无锁算法,无奈自己看的不精,答不上来。然后面试官也很耐心的跟我聊了一下,说看我项目也做的还行,但是说他们去哪网招聘其实更care的是基础不是项目,我说我能理解。

    • 面试官说今天我就不能让你过了,你回去好好准备下基础,我们半年后还来秋招到时候欢迎你。我说我一定还会回来的!!!


    网易、美团

    网易是内推没推上,笔试之后打电话,我没接到啊,4个电话!!! 感觉自己真的是被拉黑了要!!!! 美团内推没选事业群,同学投的前端,已经欢快的去实习,我好不容笔试完,发现待面试都待了快一个月了,已经不抱任何希望!!! 最后提醒大家一定要选事业群!!!


    总结一下吧

    其实自己这两个月来,大大小小投了一些公司,就是通过各种面试、笔试把自己的基础给好好巩固了一下。虽然没有拿到什么offer,但是我心态好,至少为秋招做了一次准备吧。

    1. 个人来说针对基础,简单来说刷算法吧,自己之前也是什么都没准备,这两个个月也是一边刷牛客的上的算法,一边平时积累,牛客上的剑指offer已经已经刷了一边,感觉最基本刷了一边,大部分笔试中三道编程前两道ac,应该都不是什么问题。针对java后台开发面试,自己也不是什么大神,所以给大家的建议就是多看书,多刷面筋,面筋看多了,自己心里就会有一个大致的框架,按这个准备复习就行了。

    2. 针对项目来说,个人觉得很多人觉得自己没项目或者是项目很low。我的建议就是 没有项目的人可以去其他一些项目网站上面去跟着完整做一个项目,对于项目自我感觉low的人,个人建议就是学会去包装一下自己项目,举个例子来说,就是比看过sql优化相关方面的知识,你就可以结合自己项目中写的一些查询方法去说,比如说如何添加索引,使得代码性能有所提升。当然这个包装不要过于夸张。我自己对于项目的相关理解,就是一方面基于自己实际开发,另一方面就是平时看的一些技术方面的博客,到关键时候就是看自己怎么去说了。

    3. 心态问题。其实面试本来就是一个情商和知识储备的博弈,没必要因为一次面试结果的失败而影响自己心情,这个决定性因素太多,做好自己,不断提升自己就行。虽然说起来简单,但是这两月,自己也是等电话,等面试结果,觉得挺难熬的。最近自己感觉心态也有点浮躁静不下来,所以就没有在投公司。准备修整一段时间。

    相关文章

      网友评论

        本文标题:学渣的春招路(Java面试)

        本文链接:https://www.haomeiwen.com/subject/fwaswqtx.html