不知不觉实习近一个月了。好久没发博客,趁着今天回来的早就写一下我找实习工作的经历。最后我会附上一些我面试期间问到的面试问题。

背景故事

我目前就读于河南省信阳师范学院计算机与信息技术学院2014级,在大一的时候我就决定了不会考研,于是早早就计划着不考研自己应该做什么。由于我选择的方向是java开发(当然中间肯定走了很多弯路),所以大一大二大三期间以及寒暑假我都在学习javaee、算法和数据结构相关的知识。不知不觉就到了大三暑假,身边的人都选择了考研,这里包括我的室友,我们宿舍共四个人,只有我选择了不考研。这时候对我而言,也就剩下两个选择,继续自学或者出去实习,可是我对自己能力很自信于是也就选择了后者。早早的就和对面宿舍的一个同学做好约定,大三暑假去杭州找实习工作。
我们是7.1号来的杭州,在来杭州的之前,我和一个朋友聊天谈及此事,她问我找好房子没?有没有面试的邀请?我说还没。然后她说,你们就这样一腔热血的来杭州了?什么都没准备?我说是的。哈哈,就是这样子。其实我们在还未来杭州之前就在拉钩网上投简历了,也收到了几家的面试邀请。期间还收到一个传销的”offer”,让我去天津实习,包吃包住可惜,由于我发现她对我太好了,被我识破了。所以迫切找工作的大家一定要小心传销哦,凡是外派到天津的,包吃包住,密切联系你的,一定要注意警惕啦。听一个在传销里呆过的程序员说,传销里面大部分都是刚毕业的大学生,并且基本都是软件,土木工程,厨师这些职业了,原因就是我们好骗。

杭州之旅

7.1号晚上23:56的火车,我们坐车坐了11个小时到达了杭州。由于不知道去哪个区,因为经常听西湖,西湖,所以就选择在西湖区找了一家宾馆。一下火车我们就坐上了公交车,可能是昨晚我们没休息好,也可能是司机开车太快,我们感觉坐在公交车很晕,顿时感觉和杭州格格不入,似乎容不下我们。所幸路程不远,到达了宾馆。在这期间,我发现了杭州作为文明城市的一个原因:就是在没有红绿灯路口过马路的时候,所有的汽车都会停车等待。顿时又让我对这个城市好感度+1。把行李放在宾馆,吃过饭就立刻去找地方租房了,首先去了五联东苑,看了好几家,一个17平单间+一个0.5平卫生间,房租1900。听到这个价格,我们心里就默默的骂了一声,真是黑心。去了五联东苑,房间一样,价格1700。由于这个时候已经晚上8点多了。我们就走了,继续住宾馆。由于第二天,我们都有面试,所以我们就早早休息了。

面试第一天

今天上午10点有一家公司让我去面试,我的小伙伴也有,都早早起来了。我去的这家公司在一个软件园里面。目前看到占了一层楼,里面满满的都是程序员,电脑。想着以后工作的环境就是这样吗?面试之前填了一份个人简历,然后就等待技术面。来的面试官竟然是做前端的,我明明投的是java实习生。好吧,我也得继续。他问我懂不懂得js,有没有项目经验,知不知道bootstrap。好吧,都是前端,然后又问了我做的项目的详细细节,挺顺利的。接着是hr面试,她问我的期望工资,我说3500-4000.她加了我微信说等两天给我答复,然后我就走了。(两天后她给我微信说工资3300,965,岗位:node.js实习生,我给拒绝了,理由是:我经历过许多选择,java是我选择很多后才定下的目标,我不想改变我目标,况且我在java方面刚刚起步,如果此时我对java已经很熟悉了,我想我会选择其它语言,可不是现在。)

下午我没有面试,不过同学有,我就带着简历和他一起去了。这家公司很小的样子,一进门就写个人简历,然后亲戚什么都写上。然后面试的时候让我们两个一起去,我还又问了一下,是我们两个一起?她说是的。面试就问在学校做什么,什么同学做什么,根本没问技能的问题。最后问我们为什么选择来杭州,我们说我们不考研,同学有的都去考研了,还有一部分去培训了,然后她就说培训的这些同学很懂得投资自己嘛。我呵呵了,,不欢而散。对了这家公司叫马圈什么什么公司。。。

到了晚上,我们在咸鱼,58,赶集,美窝租房找房子,可惜,打电话过去基本都是回答我:我们这里只要女生住,我们这里只要夫妻住,这个房子已经租出去了,现在有个更大的,,,,然后随便找了一个小区,转了一圈没发现有租房的 就又回去了,一天就这样过去了。

面试第二天

今天上午我本来有两家面试的,一家是众安保险,一家是二维火科技有限公司。不过由于众安保险说好给我发短信告诉我地址的,结果不知道是忘记发给我了还是又决定放弃我了,我没收到短信。再加上我二维火有健身房,有零食水果,也有午餐的餐补,免费晚餐。不定期的996我也就忽略啦,因为我是学习的嘛,所以我就去了二维火。在去二维火的路上,我接到了二维火的hr电话,问我到哪里了。到了二维火发现公司好大,觉得这才是公司,然后就是填写个人简历,等待面试官。后来来了一个帅气的面试官(也就是我的现在上司)花名叫火锅,火锅一直没问我框架的问题,由于火锅是管数据的,所以问我一些现实中的数据问题,让我解决。我当然是通过数据结构+算法解决之,然后问我的就是数据结构偏多了。还有一个就是假如有1000w条数据,你要怎么存在集合中。我回答不知道。然后火锅说好像是存hashcode…总体回答的很好。然后问我薪资要求,我说3500-4000.由于另外一个技术官出差了,也就只面试了这一面。说的一周内给我答复。

中午回到宾馆的时候,众安保险给我打电话,问我没去的原因,我说没收到短信。然后她也发现,短信未发出去。于是就又约了一个时间,明天上午面试,我答应了。

下午我又没面试了,可是我同学有啊,哈哈。我就陪着她一起去了。这家公司名我忘记了,公司很小,好像是某个大公司里出来的一个小团队创业,坐公交做了一个多小时才到。然后hr一起面试我们,然后就是技术面的分开面。问的很多,java基础,算法,框架,和框架的执行流程。基本都是按照自己理解回答的。然后也是回去等通知。回来的时候我们两个都晕公交车,结果坐过了5站,,,,,走着回去又下了大雨 可悲 ,,

晚上的时候,我们觉得不能在租房了。每天100+,承受不了。于是就慢慢走,无意中看到了链家,然后就去里面咨询,给我们推荐自如的房子,可是清理费要交一年的,我们拒绝了。咨询中,有一个和我们有同样经历的人员给我推荐去益乐新村看看,说这里价格便宜。然后我们就去了益乐新村。到了小区的招牌处,很多人问我们是不是要租房。由于我们资金不太多,就决定先租2个月,都不愿意了。只有一个阿姨说一个单间+独立卫生间,如果你只租两个月,一个月1500,押金1000.第三个月如果续租就1300一个月。我们同意了。终于完成了一件大事,租房。

面试第三天

今天上午要去众安保险,连个人简历都没填。直接面试,两个技术官没人拿着一个苹果笔记本对着我的博客问我问题。问了一个算法题。也问了一个:如果我想上传一个文件,可是超出了限制。在不修改大小限制的情况下你要如何上传这个文件。我就说上传的所有数据都是二进制,我首先获取这个文件的二进制,然后分段上传,如果要下载,在拼装。也问了struts2的token.然后问我如果让我实现防止表单的重复提交,我要如何实现。我就说定义一个拦截器,把上传的表单内容存下。如果下次上传的表单内容和拦截器表单内容一直就把这次请求拦截。还有个问题是:Session和cookie的区别。我就说session是存在服务器的,cookie是在本地的。cookie不安全等等。。大家可以百度搜搜。也有一些其它问题,暂时忘记了。总是很顺利。然后hr问我期望工资,我还是3500-4000.然后她说所有的实习生都是150/天。965工作制度。我说好。然后回去等通知。

今天下午没有面试了,就开始搬家啦。从此住到了益乐新村。

面试第四天

今天上午有挖财的面试,离益乐新村很近,走着就去了,公司在最顶层。面试的人员很多,我填了个人简历,然后就开始技术面。让我手写快排,然后解释,很easy。然后问我springmvc的工作流程,问我搜索都有那些,dfs和bfs有什么区别。然后就是问我在数据结构上都学了哪些算法,哈哈,这本书早就吃透了。我就把链表,栈,队列,map,平衡树,红黑树,哈弗曼树,各种二叉树,hash表,dfs,bfs,kruskal,prim,dijkstra算法都给他说了一通,然后让我二面。

二面问的就不是普通的问题了,问的都是现实中存在的问题。比如:有一个txt文档(数据很大,内存无法存下),里面有一些内容(手机号,姓名,地址),现在我需要在前端进行查询操作。输入手机号,你怎样才能快速的输出这个用户的信息。然后我就犀利的说,我会首先说这个给我txt文档的人,你为什么要把所有的数据放在一个txt文档中?他问我应该怎么做,我就回答说,我们都知道手机号是可以根据不同的省市分的。我们可以按照如此来建立相对应的文件夹。最后要查询的时候根据用户的手机号码所属地去不同的文件夹查询数据。然后他就说是一种解决办法,可是I/O流的读取速度很慢。问我怎么解决,于是我就说到了trie树。根据手机号码来存储。o(1)的时间查询。他说内存存不小,然后我反驳他。我存硬盘你说I/O慢,我存内存你说存不下,你让我怎么办吧?他笑了笑,继续下个题。就问我做的实时视频弹幕。我说用的ckplayer+goeasy+jquery+ssh+mysql框架实现的。然后我就仔细说了流程。

  • 实现简单的页面静态弹幕功能
  • 使用ckplayer插件实现简单视频弹幕功能
  • 把弹幕消息放入数据库中
  • 根据当前视频的播放时间来输出播放的弹幕
  • 为了实现实时视频弹幕使用了goeasy即时通信框架

也问了拦截器的一些问题,当然是让我新创一种拦截器,,,,具体忘记了。最后他说:我觉得你技术可以。哈哈
然后三面是hr面,问我期望工资,在学校的职务,参加过什么比赛。。。等等。面试完都已经是十二点半了,面试了两个半小时。下午两点还有另外一家,中午定的外卖都没来得及吃。。早饭也没吃。。

乘车终于在2点之前到达了这家公司,这家公司似乎只有不到十个人。问了一些简单的java基础和框架,然后面试管直接让用他电脑做了一道算法题。接着让我做一个脑力题,三杯水倒水,倒到目标深度。这时候都快5点了,饿的头晕眼花。。只想走,在看到公司只有几个人我都后悔了,不过想着还是面试吧。成功解决后,我就走了。

面试之后,我就告诉自己,不投简历了,不面试了。
四天面试7家。。唉。。真累。

丰硕的果实

晚上回家我就收到了第二天和同学一起面试的offer,日薪110.不过只要我一个,问我怎么考虑。我拒绝了(可能因为我太自信会有下一个offer),,日薪110真不够我花费啊,房租1300呢。
在我来杭州的第五天上午,我收到了二维火的offer,让我下周一入职。实习公司4000,午餐补助13元/天,免费晚餐,免费健身房,免费零食和水果,不定期运动日,freestyle版的996工作制,996也是按季度的。我说今晚给她答复。下午收到了挖财的和众安保险的offer.日薪150.其它福利都没说。。再加上我更想学习,而且是大数据方向,我选择了去二维火。反正是学习嘛,哈哈 ,,不得不说其实工资也有很大原因。

共计面试7家5个offer,一家是培训,还有一家无通知。。
挺满足啦。觉得自己大学期间暑期不回家是值得的,自己的努力也是值得的。

个人面试总结

作为一个面试7家的java实习生,对找实习生的同学说,面试的时候一定要自信,懂就是懂,不懂就是不懂。不懂的就说,我暂时没接触到,如果接触到了肯定会懂得。回答问题一定要有理有据,告诉他为啥要这样做。而且我也发现了,小公司面试问的基本都是框架,大公司问的是java源码(尤其是arraylist和hashmap的源码),数据结构和算法。

最重要的来啦。当公司问你有什么想问的没,你就问这些

  • 我们公司有没有类似的技能测试,就是根据能力来涨降工资
  • 实习生有没有转正的机会
    第一个问题表明了你是有上进心的人,第二个问题说明你想留在这个公司并长期发展。
    当然了这些都是我自己总结的。大牛勿喷~毕竟我还是个小渣渣

其实到了公司才发现原来我学的那些ssh,ssm框架在工资基本没用上。公司用springboot,mybatis,thymeleaf,dubbo,redis等等太多啦,,学不够。慢慢加油。

部分面试题

面试过程中的部分面试题我也发下吧:

(1)谈谈你对struts2/springmvc/spring的理解
(2)hibernate和mybatis的区别
(3)AOP和OOP的区别
(4)AOP是怎么实现的?如果让你来实现你会怎么实现
(5)假如有1000w条数据,你要怎么存在集合中
(6)你知道的集合有哪些
(7)Linkedlist和Arraylist的区别
(8)Linkedlist的底层实现原理?什么时候使用Linkedlist?Linkedlist是怎么删除对象的,画图模拟一下
(9)你看过Hashmap的源码吗?Hashmap的底层实现原理是什么呢?(回答完之后他又让我画一下)
(10)Struts2是怎么实现表单重复提交的?如果让你来实现,你要怎么做?
(11)Session和cookie的区别
(12)如何防止爬虫刷访问量?(我说的是从request请求里面获得用户的ip地址,然后把ip地址信息放在cookie里面,并且设置一个过期时间,当用户再次访问的时候查询Cookie里面是否存在这个ip,如果存在就限制访问量的增加)
(13)(接上一题)如果用户禁用了cookie呢?(我解释的是当用户第一次访问的时候,我们记录一下用户的访问时间和访问次数,当用户再次访问的时候,我们可以通过用户的访问频率来
(14)关于文件上传,现在有一个很大的文件,我需要上传,可是服务器端设置了上传的大小,在不修改上传大小的情况下如何才能上传这个文件?
(15)有一个txt文档(数据很大,内存无法存下),里面有一些内容(手机号,姓名,地址),现在我需要在前端进行查询操作。输入手机号,你怎样才能快速的输出这个用户的信息