一年经验Java程序员面经小记
一、背景介绍
答主二本毕业一年,实习一年,最近的一家公司是做物联网,智能家居的,离职原因是裁员,没什么不好意思的,公司发展不下去呗,这也不是老板愿意看到的。在宿舍学了10几天设计模式之后决定跑来深圳求职(学设计模式只是为了减少我编码的蹩脚感,觉得是个好东西却没机会去学)。今天周四,上周日来的深圳,在宝安桥头租了一间单间600元/月,心想住着先吧,再找工作。
二、面试过程
2018年7月26日 深圳 阵雨
第一家 通讯行业的,属于中型公司,员工有2000人,研发人员300人,在印度有控股公司
今天要面试3家公司,早上一家,下午两家(本来是一家,后面我看时间有富余就直接去了)。先说第一家,通讯行业的,做手机ODM的,招我过去做支付模块。我一进去,照例填表,我问人事说不用做题吗,她说不用(我不知道属不属于正常情况),不一会就有个和我年龄相仿的面试官过来,我们就发生了一下的对话:
我:你好。
面:你好。
面:先自我介绍吧。
我:巴拉巴拉巴拉。。。(主要是自己基本信息还有工作经历)
面:我看你之前做的是物联网,用的mqtt broker是moquette,说下为什么用它,为什么不用其他。
我:(??这是要考我技术选型吗,这个一般是项目经理决定的啊,虽然这个也有一部分是我决定的)。。嗯这是mqtt官网上推荐的,因为他是用Java编写的,方便进行二次开发。
面:那它有什么优点吗,你说官网上推荐的,没说理由吗?
我:。。好像没有(我记得是没有的,今晚我去看了真的是没有,其实现在想起来的话,他应该是想让我对比moquette和其他的MQ,但是moquette只是实现了mqtt,在我眼中他们不是同一个量级的)
面:有遇到过消息的堆积吗,你觉得什么情况下会出现消息堆积。
我:没遇到过(真的是,设备量没上去),但是我觉得如果消息生产的速度大于消息消费的速度就会产生堆积。
面:那在什么情况下会出现消息生产的速度大于消息消费的速度。
我:(这还有什么情况,这边消费不及时啊)如果消息消费的速度慢的话就会导致。
(之后来回又问了这个一次,好像不满意我的答复,然后技术问题就到此为止了)
面:你觉得你是个勤奋的人吗,学习你是用看书还是看视频。
我:我觉得算是个勤奋的人吧,主要出于兴趣,现阶段我是看书。
面:看书太慢了!看视频(伴随着摇头)
我:我初学的时候有看,看的是马士兵,近一年来我开始看书了。
面:现在你已经马士兵的视频已经不适合你,你需要去看些别的视频,淘宝上买,10块钱就有很多,这些视频要我自己去备课的话还要很久,下了心思的。
我:。。嗯(我已经不知道要说什么了,书的心思下得更多,但感觉争下去没意思,看书还是看视频我今晚还百度了下,结论就是都行,只要你懂的思考,这两个都可以不要)
(然后就没有重要的了,what??我蒙蔽了,这样就完了??随后面试官走后来了个高管面试我,下面代称“高”)
高:你先自我介绍下吧
我:(what?好吧)巴拉巴拉巴拉。。
高:我就直说了,我们现在是拿到了印度的支付牌照,你知道支付牌照可以做什么吗(得意的笑容),像支付宝和微信那种。
我:(内心毫无波澜,微信支付宝不可以打进印度吗?凭什么能拼过他们,不过还是觉得很厉害的)。。嗯对
(类似对话,省略,说是大公司,稳定,不像我之前的公司,然后,重点来了)
高:你提的这个工资,不高,甚至来说低了(我只写了10k,我也是傻逼了,早知道写高点),但是你毕竟只有一年经验,而且你之前做的这个(智能家居)我不熟,也不知道你的真正水平是怎样,这样吧,给你Xk左右,你考虑下。
我:我回去考虑下。。
(后面就是一些善后,说我尽早决定,给我两天时间)
总结:我没发挥好或者说没机会发挥,因为面试官也没提什么技术细节,后面越想越憋屈,感觉太对不起自己,算了,去下一个。
第二家 金融行业的,公司上百人,研发人员10来个,坐落在某国际中心
(中午坐车直接过来,在以后门口等了一个小时,2点进去。照例填表,等面试官)
我:你好。
面:你好。
面:先自我介绍一下。
我:巴拉巴拉巴拉。。。(又说了一遍)
(我感觉到面试官好像听不懂我说的一些术语,后面证明我的感觉是对的)
面:你知道面试的这个岗位是做什么的吗,我看你上面不是很符合,我们这个主要是管理系统。
我:我做的是后台,提供的接口是平台无关的,我之前虽然是给app用,但是管理系统也是可以用的,这不冲突。我在实习阶段做过管理系统,如果并发量不高的话,管理系统就是简单的增删改查。
面:那你做过什么管理系统。
我:大三的时候和小伙伴做过一个宠物网站,实习也做过一个车辆网的数据管理平台。
面:嗯,那我问几个基础的问题吧。
(真的是基础问题,三个,不用思考,我随口就答了,此处省略,后面面试官就说没什么好问的,问我有什么可以需要了解下)
我:那现在公司用的技术栈是怎样的。
面:现在主要是Springboot还有Mybatis,因为对接一些银行的系统,用的技术可能老一点。
我:Spinrgboot我知道,配置极少的Spring,就这样吗。
面:就这样。
我:好吧,我没什么问题了。
(然后面试官示意我走了,我转头一想)
我:请问什么时候可以知道结果。
面:这么跟你说吧,你的技术不错,但是你的履历和我们的要求不相符(what??这叫不相符,好吧,这理由我也是惊呆了),我们会根据情况再看的。
我:那好吧。
(我只能走了,还是惊讶)
总结:依然不用做题,整个过程没什么难度,甚至说是简单,只是结果不好理解(自己心里有个结果,就不知道是不是我想的那样),算了,时间还有,去下一家。
第三家 看样子像那种开了有一定年限的公司,电脑都比较旧了,员工你大部分在30多40岁以上,研发人员100人以上
居然有做题!!!(终于遇到正常的了,开心啊,刷刷刷做完,后面还有两道上机题留着)
不一会就有一年比我大一点的面试官过来了
面:先自我介绍下。
我:巴拉巴拉巴拉(好吧,再说一遍)
(这个过程就很正常了,聊了很多,什么都聊,期间我还给他大概说了前公司系统的技术栈以及架构,系统演化和通讯,说了HashMap的原理(大概说下而已,详细我也不太懂,从哈希桶说到equals和hashCode的关系,移位什么的),聊完之后进去就听到人事说叫我进去上机)
上机,一共3道题,我选了一道阶乘求和(5分钟就写完了),然后一道是画了一个数据库表,期间字段有父id,求构造出Json树,同级之间还要有根据某个字段排序。
(这个说实话一开始不知道他要我干什么,我问了工作人员,我说这个是要用数据库的吗,他说不用,你可以用个数组或者List就行。接着我想了下有了思路:先将这个表字段封装成一个类A,A里面拥有一个List<A>作为子树。因为知道根节点是-1,所以用过一个递归,可以从这个初始数组找出子树,然后再调用Collections.sort方法,通过实现Comparable接口进行排序。思路有了开搞。)
然后他们已经下班了,6点半的时候有个大佬过来说写完了没,我说还没。给他看了第一个方法运行没问题后,我就跟他说了我第二题的思路,他点点头说好了就这样,明天应该有人事通知你来复试,然后我就走了,走的时候快7点。
总结:表现还行吧,做的题也还行。到了走的时候我说程序题有一道我觉得没问题(我在下面写了“我觉得没问题”),他说没说全部有问题啊,这个是没错的(我。。好吧)
明天早上还有一场,现在12点了,还是睡了吧,明天面完再写,有什么建议都可以评论,欢迎欢迎,希望大家给点意见,关于我在这个面试中的问题。
2018年7月27日 深圳 阵雨
第四家 做云通讯的,上市公司,研发人员300人,和面试的第一家公司规模差不多
早上8点出发,由于不熟还坐错了线路,等我出地铁口公车刚走没多久,最后打电摩过去的,费了20大洋。
到面试地点,填表做题,题不多,都是基础题(第一道就是Servlet的生命周期,额,太久远了,我就记得init和destory),昨晚自己评分70吧,中规中矩。交表后过了十来分钟,面试官就来了。
(自我介绍中,说到我之前做的智能家居面试官手势示意我别说)
面:你这些不用跟我说,我想了解你究竟擅长哪些方面,我在简历上看不出来,用过ActiveMQ,那你说说它支不支持事务
我:支持
面:有几种
我:我们用的是Spring的template(就是我不清楚,他立马换题)
面:那你先说说多线程应该注意些什么问题。
我:我想问一下是多个请求来了启动多个线程还是我们使用多线程处理任务。。
面:(示意打断我)跟这一题一样,多线程注意的问题。
我:锁?线程之间不要出现死锁,这个方向对吗(我有点怂)
面:那怎么避免死锁(我不知道对不对,可能面试官只是顺着我说下去)
我:写程序使用syncorized和Lock,一个是JVM内置锁,一个是手动锁。(一首凉凉送给自己)
面:(跳过这个话题,指着我的简历)你写着解决过死锁,为什么会出现死锁。
我:当时是请求比较多,涉及了5 6个表,事务会锁表
面:锁表还是锁行
我:锁表吧
面:那不是一个线程就能锁住你们几个表,也就是你们的系统只能单线程运行
我:。。那应该是锁行吧,我不太清楚。。(怂)
面:好吧,你这个阶段不知道这个也正常(此时我居然觉得松了一口气)
(面试官翻了后面的题,里面有一道设计模式题是注着建议面试聊的)
面:设计模式我就不问了
我:可以问,我知道
面:前面两个问题如果答好了就问,现在不用了,这样吧,我帮你推荐下
我:好(透心凉)
面:我跟你说下你这简历的问题
我:好
面:你写的这些并发,数据库锁,这些东西可以问的太多了(我也是真用过,数据库死锁我也是遇到过,查了日志然后kill解决),我相信你是接触过这些技术,但是这些你不熟,我也只能问这些
我:其实技能这里我不确定写些什么,又不太敢写“熟悉”“精通”的字眼,只能写“解决过死锁”
面:说下问题而已,如果我不看好你,我也不会推荐你了,这样,你等下,现在还有20分钟下班了,我找下领导,如果超过12点你就先去吃饭吧。
我:好的
(等了10分钟,领导来了)
(领导言简意赅,快速问答几轮基础就没了,继续等,后面是跟公司领导形式性聊了下,最后是人事聊,累觉不爱)
2018年8月8日 深圳 阵雨
今天周三,已经上班三天了,各种原因入职的是第四家公司,今天接触到一些公司的内幕(身边的人在混,自己的工作也没多大技术性),有点负能量,但自己还是不能混的,毕竟家里没矿,努力工作学习。