周二面1号店Java工程师,果断挂掉。为纪念请假损失+路费约几百块钱,还是写个小面经~~
面试地点还是在张江,一幢挺有气势的大楼(忘记数有几层了~)。进门先填信息表,很标准的那种,过会面试官就来了。面试官长得挺粗犷的,不过是双眼皮。领到四楼关进一小房间,拿出两张纸的笔试题,让半小时做完,然后扬长而去。
一瞅那题,我去,在网上看到过,一模一样额(虽然我回来后死活也找不到那网页了,回忆起的内容写在本文最后没),看来1号店就是固定拿一套(至多是几套)笔试题了。对于做过电商或者科班培训的程序员,那套题目想必并不难,不过由于本人半路出家自己倒腾,很多基础知识不行,只能凭感觉和之前网上看到的印象做,估计达到点子的也就一半左右吧,当时就预感要完~
半小时后面试官进来,也没太细看笔试题(估计瞄一眼就看出不靠谱了吧...)。其实笔试只是个引导,即使知道标准答案,不理解的话一样过不了。上来先叫说说项目,说了一通他根本没啥感觉,可能是我们的野路子内网项目不入他法眼吧。说到我们用Socket传输文件,他表示闻所未闻......总之他的总体态度就是“你怎么会想到去做这种项目?”~~~
然后问了点通信,怎么确保长连接状态正常(答案是采用心跳)?怎么确保指令正确到达并被执行(答案是应答回包)?如果指令被正确执行,应答却没有发回来,怎么处理(答案是回滚)?当时答的没那么精准,不过还算过得去吧。感觉面试官的问题都有个关键字,一定要你说出来。比如他说连接断了怎么办,我说重联呗,他用鄙夷的眼神看我,让人感觉是不对。然后他说隔几秒重连一次,时间间隔要有个策略,我说我的项目里重连就是带策略的,他说“你怎么不早说”orz...我以为说重连他就懂的......
然后就进入悲催的数据库相关问题。问并发查询怎么处理,真不知道,只能笼统地说“用锁”,被鄙视...问什么是左连接,不知道,被鄙视...只好说我们的项目主要是处理通信和逻辑,用到数据库基本全是单表的,又被严重鄙视,面试官颇为无奈地说“你这么说叫我问你点啥呢?”至此基本就已经算挂掉了。
然后他就开始问我有什么问题,意思就是没问题就可以走人了。问了问下三大框架是不是很关键?他说用的很多,不过框架不重要,很快就能学会的,主要是我在数据库方面基础太差(也是事实,确实应该补一下)。
面试就这样挂了,二面都没进。好在百度的还比较有戏。感觉电商类对技术要求还是比较正统的(至少是基础技术),熟悉的人应该比较容易过,不熟的也很难混进去咯~~
附:笔试题容(80%完整)
1.访问数据库有哪些步骤?Statement和PreparedStatement有何区别?
2.ThreadLocal是什么?有什么用?
3.Session和Cookie有何区别?如何利用两者实现服务器间共享用户信息?
4.用户、角色、权限三张表。一个用户有多个角色,一个角色有多个权限
1)写出建表语句
2)查询用户张三的所有权限
3)查询权限总数大于3的所有用户
5.以下三选一
1)Struts2的传值机制
2)Spring啥啥的(忘了)
3)Spring有哪些常用设计模式