搜狐面试经历
搜狐面试的感觉很独特,没有算法题,比较偏应用。针对我的项目刨根究底的问了一下,可能面试官刚好后台开发,所以针对简历里面的web服务器特别感兴趣,两个项目其实就是python中web框架的简单应用,被鄙视了一下。可是我学起来写起来也是费了些心力的呀。搜狐提供的职位说是后台开发,前端开发,移动开发。我选了后台开发,但是怕面试官会问一些java语言细节的问题,所以先和面试官说了一下java语法不是很熟悉,感觉这么说就让面试印象不好了,应该不说的,面试官不一样会问到java语法的细节,毕竟还是用过J2SE的。
接下来就开始说一些问的问题吧,很杂乱,面试官问了解目前各大网站的web都怎么搭建的么,其实我没写过web程序,真的不是很清楚。还没来及回答,面试官就继续问有了解过目前常用的缓存系统吗。这里我说我听说过Memcached和Redis,不过我没有应用过。然后就接着问了缓存系统的一些应用,针对对象和列表,缓存系统分别会怎么存储。其实主要想问列表是如何存储的,列表失效了怎么办及与数据库的信息不一致。这些我之前也没有想过,没有了解过,只能凭自己想当然的临时解释一些可行的方案了。好囧。
缓存系统问完了之后又连着我的项目问了HTTP的知识,因为我没有系统的看过HTTP协议的知识,所以就说不是很了解,就没有继续这个话题。后来问到Mysql了,就问Mysql内存的存储引擎都有哪些,有什么区别,这个我也答不出来。一般都是用了默认的MyISAM,还听说过一个InnoDB。所以这个问题也算是没答出来。
后来又问了一些linux的知识,vim的操作,怎么一下子注释5行代码,如何全文替换。我在搜狗实习的时候阅读代码时vim操作也仅限于上下左右,ctrl+w跳转至其他的文件,/?向下,向上查找,setfileencoding这些简单的,高级操作不怎么会用。linux的查看系统负载,网络状态的命令,查看系统负载利用top这个了解,网络状态知道是一个net前缀的命令,具体当时一时没想起来,后来想到了是netstat。
接下来问设计模式的问题,程序中实现过哪些设计模式,因为写的都是小型项目,真的没怎么用过设计模式的知识,只是在阅读代码的时候看到过单例模式。然后就让我描述设计模式的用途?都了解哪些设计模式,分别适用于什么样的场景。感觉这个问题好大呀,我就说了几个我印象比较深刻的,单例,观察者,工厂,迭代器,外观等,然后简单说了下这几个设计模式的使用场景。
另外面试官还问了一个比较诡异的问题,比如看到我有Android的一个项目,就问Android如何学习的?我答书籍,官方doc,博客。面试官说如果深度的学习需要哪里去学习?我就答去开源社区了解一些技术,不知道这个答的对不对,也没了解到面试官想要的答案是什么样子的。
其他也想不到还问到了什么,总的感觉这个面试过程很多问题都没答上来,面试准备之前会准备数据结构,算法等这些基础知识,不过面试中一个都没有,都是非常实际的技术。在校期间还是多多接触工程性质的项目,如果想要从事互联网技术性质的工作。搜狐的面试真是很独特,不同于BAT的基础知识+算法+数据结构。涨知识了。