`

记录一次高德软件面试经历

 
阅读更多

本人好久没有参加面试了。自从开了公司以后,只有我面试人的情况出现。只不过最近,不再搞公司,出来继续工作,追求更高的目标。其实我更多的是想有更多的朋友,能把我在自己的公司没有实现的目标,放到某个成熟的公司中去。希望有企业能够给我一个机会。哈哈。或许没有这个机会,或许我自己会在10年后回归。

 

这次去高德面试我觉得是一个偶然,我记得这份简历是在距离面试1个多月前投的,我以为就这样没了。没想到通知我去面试了,在面试前我知道,高德是因为高德地图,和阿里可能入股他的事情。我觉得这是一个不是巧合的巧合。我也就毫不留情的开了一个我认为最适合我当下情况的工资了。

 

说说我自己,干过实施,小1年,需求,文档,培训,流程配置,这些基本的都干过,干过公司,写过产品,做过方案,感觉自己好多东西都干过了,处于一种莫名的自信而已。但是呢,可能从前太急于求一个成果,求一个产品的出现,所以很多技术东西都是拿来就用,并不会去深度研究原理。而且应用的领域没有达到大数据的级别,所以也就只能算的上小打小闹。

 

写了个开源系统,小浓浓,但是看到每天都有 几个下载也是挺开心,只不过最近没时间去维护,虽然一直在维护,但是都没有到发布一个新版本的级别,换言之里程碑定在哪里不确定。不好release中。哈哈。在过去的几年里,为了这个曾经的理想,写的程序,到目前的基于这做了产品,我觉得还算不错,这也是我面试谈的最多的东西。

 

高德的上海分公司在交通大学附近,楼很高26楼。我去的很早,前台都没到。前台看到面试的头来了,挺不好意思的,给了我一份面试题目。看到了以后,其实亮瞎了我的双眼啊。我感觉挺多。分java,javascript,db,设计 四个部分。

 

其实我并没有全部完成,有些题目我是放弃了,因为即使我写了也是不清楚的,吓写的东西我就干脆别写。

java10题里面,有servlet周期,jsonlab,dom4j,双向链表实现,bs上传文件的原理,socket处理,设计模式是使用举例等

javascript的题目大概有,js空值有哪些,闭包,回调,js框架用过哪些举例,js描述一个类,js遍历数组,等

db题目大概有,hibernate怎么实现leftjoin,查询平均分数

设计题目是,设计一个物流过程的物理模型

 

接下来我说说我做的情况吧!

java部分,servlet好说,面试过很多次。

jsonlib和dom4j都是编码的题目,要求知道具体的方法,说实话平时编程只是用,没太记住,但是大致也写了。

双向链表这我就没做,好几年前的了,让我说说某个集合是用这个数据结构可能还好些。

bs上传文件的原理,其实我就只记得我在开源程序中用了uploads插件,然后我说用监听器去查看状态,感觉说的都不是很到位

socket通讯我大致就说se上的client和server的通讯,其实后来聊着说是关于这方面的框架是否用过,其实没用过。哦对了,还有线程问题。我说了一个excutor框架,可能没拼写对。反正是java并发编程书里面的。

设计模式中主要说了mvc和工厂模式,其实看过java与模式的书,但是谁又能记得那么多呢。平时也很少被这方面折磨的。

 

js部分大致说说所吧,闭包其实没看过,最多就看过几个帖子,实际没用过,或许用了我都不以为是闭包吧。

db部分相对来说简单

设计部分我比较舒服吧,因为以前的开源程序和产品都是我自己设计的,画了一个流程图,当是模型吧。但是uml说实话没怎么用过。其实物流也是新版开源程序中重点改造的部分。嘿嘿。

 

大概做了我1个多小时,人都要枯萎了。后来面试开始了,人对人那种我还是比较自在的。有2个回合。

Round One

Begin

var 技术总监

var 我

我们大致交流了这些东西吧。

1,dwr是怎么实现推送的,是不是真的推送,我说不是,一个循环,在页面加入js库,xml和后端action映射,页面标记来推送目标吧。其实这部分我是在2年前写的,最近的一次是给了同事做android产品时用的,我没有参与,也没有查看这部分代码,唉。

2,excuter框架怎么看?我说最近看过,但是不是很记得,说了下链接池的种类,对于增量和不增量的情况吧,回头好好看看java并发就知道了,还有30%没看完。

3,问了我大数据的hoodop吧,其实有书,没看,我老实交代,我没看过,书可能都有灰了。

4,协议,关于socket的,和推送。我说了xmpp吧。还关于大数据在socket中怎么发送,我说分割后发送,然后每个包有头尾关联,但是怎么关联呢?并发了怎么办呢?我就傻逼了呗。说道协议2年前看过通讯协议的书,很多协议,都大致介绍了下,那时候知道路由,知道邮件协议,tcp,udp,等等吧。

5,问我关于我的开源程序的特点,我就说了freemarker的静态化,问了我逻辑实现方式,我说a,收集数据,b变量值获取后放入freemarker方法,c生成页面就好了。看业务和展现来决定收集数据的量。

6,问了我关于缓存框架的问题,有2个,Redies和Memcoutrd吧。我说在程序中都没用过,没有适合的环境。知道对于存储的特性和内容上有区别。反正也不是很熟悉。

7,还问我有哪些开源的东西啊。这问题我傻了,因为感觉好多,但是说不上名字,就说了一个nodejs,后来我想,这家伙开源吗?

好了技术面试结束了。我估计没那么好吧。

end

 

Round Two

Begin 

Var 项目经理

var 我

项目经理进来主要是问我以前工作经历的,对了还有xml的处理,技术经理也问题。和他聊的具体问题比较多。他看我写过android和server交互的产品。就问我,你对于数据更新怎么处理的。我说用sqlitedb做数据保存,有zip的压缩资源做图片一类。我在设计的时候想的是,因为数据不多可以不管少量数据更新问题,我就全覆盖了。他就想知道我就要局部更新怎么处理,我就说用version字段或者timestamp来标记数据的变化,然后传递sql到本地,让本地做一次sqlite的更新。应该也是基于一个更新文件吧。

最后的最后,在我提出工资以后,他扔给我一个1000万数据+1000万数据,怎么去重的问题。我说了unionall,在db层做,或者用存储过程,顺便我就说,看你业务需要怎么样的一个响应级别了。或许可以上抽到上层吧,其实还有分段数据处理法,但是这也会带来多线程,组合还原数据的问题,小弟我没搞过。

end。

总结:这次面试挺有意思的,感觉问的多,问的挺深刻的。死的心都有了。对了顺便介绍了下自己pmp在读。哈哈。

分享到:
评论
9 楼 raychiong 2014-01-22  
lz现在哪里高就呢?
8 楼 samwalt 2013-07-25  
sdywcd 写道
samwalt 写道
sdywcd 写道
samwalt 写道
sdywcd 写道
samwalt 写道
楼主拿到offer了吗?

没有哈哈

去哪里高就了?

去了一家小的二次创业公司吧,做移动互联


兄弟,觉得公司如何?

可能我去的比较早!前台都没来,在笔试的时候还听到有打呼声.... 总感觉是国企的老员工在一边打酱油,做it在哪里开发。


哦,我说的是那创业公司。
7 楼 sdywcd 2013-07-25  
samwalt 写道
sdywcd 写道
samwalt 写道
sdywcd 写道
samwalt 写道
楼主拿到offer了吗?

没有哈哈

去哪里高就了?

去了一家小的二次创业公司吧,做移动互联


兄弟,觉得公司如何?

可能我去的比较早!前台都没来,在笔试的时候还听到有打呼声.... 总感觉是国企的老员工在一边打酱油,做it在哪里开发。
6 楼 samwalt 2013-07-24  
sdywcd 写道
samwalt 写道
sdywcd 写道
samwalt 写道
楼主拿到offer了吗?

没有哈哈

去哪里高就了?

去了一家小的二次创业公司吧,做移动互联


兄弟,觉得公司如何?
5 楼 sdywcd 2013-05-30  
samwalt 写道
sdywcd 写道
samwalt 写道
楼主拿到offer了吗?

没有哈哈

去哪里高就了?

去了一家小的二次创业公司吧,做移动互联
4 楼 samwalt 2013-05-30  
sdywcd 写道
samwalt 写道
楼主拿到offer了吗?

没有哈哈

去哪里高就了?
3 楼 sdywcd 2013-05-30  
samwalt 写道
楼主拿到offer了吗?

没有哈哈
2 楼 samwalt 2013-05-29  
楼主拿到offer了吗?
1 楼 Think_Java_1993 2013-05-10  
加油把   早日工作

相关推荐

Global site tag (gtag.js) - Google Analytics