the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


python程序员之旅-欧朋浏览器面试记

作者:the5fire | 标签:   | 发布:2012-07-11 3 a.m. | 阅读量: 5880, 5832
我想了又想觉得还是发出来吧,不然这都三点了,真的睡不着。

2012.7.10下午三点,至欧朋浏览器处,实际上是两点多就到了,等了半个多小时才上去,这样看起来我像不像谢耳朵?

一个偌大的红色的躺着的嘴唇印记贴在门口处,看起来很气派,时尚。

前台后面一个很大的招牌,opare,提供最好的浏览体验(人家是英文的,我忘了具体是啥了,大概如此)

被领到一个小会议室,坐等开发的GG过来面试我,话说心里有人在敲鼓,第一次正儿八经的准备简历,投简历,面试。若有人好奇俺以前是咋找到工作的,可留言询问。

开发的GG终于过来了,看了下手中拿的我的简历,让我简单的介绍下自己。介个还真不知道咋介绍,据说在这种情况下的介绍不是自报姓名,性别,年龄等。
思考片刻,我觉得要从我学技术的路线入手。

于是,从大一的时候开始学习一些安全知识开始说起,说到开始学习编程,开始做项目,开始工作,换工作。本来可以说一个小时的经历在不到一分钟的时间里就说完了。经常看相声的同学都知道,一旦包袱抖完了,就没啥意思了。
不过后来想了下忘了说我学习软件破解的那段经历(如果一句话也叫经历描述的话)

完了之后,GG开口问了,提到网络安全的问题,说如何防止html标签混杂着的恶意代码。听到之后我心里直呼后悔,N年前连个皮毛都没学好的东西其实不该拿出来显的,真心学技术的哪个没经历过学习hack方面的内容呢?
说回到这个题目,我的回答是采用某种过滤机制来过过滤,不过现在想想觉得应该通过转码的方式来解决(这个可以吗?)

然后又问到,你对注入熟悉不,答曰,常见的sql注入熟悉。

又问,关于跨站你了解吗?其实当我已经有些凌乱了,说‘不太清楚,其实我不是专业的。’现在想想,其实跨站应该就是用户在浏览我的网站时,执行了你的脚本,获取到了我们网站在浏览器上存储的用户的信息。(有人拍砖吗)

关于网络安全的探讨算是告一段落了。

开始js的问答。

js的问题好像只有一个(如果没记的话):
jquery用的熟悉吗?答熟悉,所有的项目都会用到。
然后又问一个高级的东西,jquery中的Deferred(这是后来查才知道这个东西,嗯,应该是这个),果断不知道,jquery的源码除了在调bug的时候偶尔会跳进去,其他时间还真没专门研究。

ps:又想起来一个,关于backbone的。
问,简单说下backbone。
答曰:它是一个前端的mvc框架,主要是完成对页面的操作,可以通过它自己的模板机制,可以方便的操作html节点。
追问,backbone中模板的处理原理知道吗?
答曰:没了解过。(再次中枪)
想想关于backbone的使用,我也只是停留在入门的阶段。

随后有问到mysql熟悉吗,答曰一直再用。
又问那么mysql的引擎都有哪些?答曰不知道。有了orm,和mysql亲密的机会越来越少了。

接着问到知道MapReduce吗?(回来才查到的),答曰:没概念。
那么知道hadoop吗?答曰,这个知道,大规模数据处理。开发GG建议到,做互联网开发这些东西都应该懂得的。我是深以为然!

再接着问算法熟悉吗?我说常用的熟悉。追问,那你能写一个二叉树查找算法吗?我想了想说现在写不出来,忘的差不多了。(要是两年前有人问我这个问题,我会毫不犹豫的写出来,可惜了,不写算法好多年)

然后,开发GG就走了,我当时有些纳闷,怎么一句话不说就走了。后来才知道人家是去拿纸和笔了。

拿过来纸和笔那就是要上代码了。

果然。

说有一部莎士比亚的小说,英文的txt版,要你统计出里面的词频。
一开始没大明白,难道还要我写分词,后来发现其实英文不用分词,人家单词都用空格隔开了。
于是拿起笔来,写下如此代码,当然期间还尝试询问如果数据量太大要怎么处理,其实是我之前遇到的一个问题,不过貌似问人家,人家也不会告诉你。

word_dict = {}
f = open('book.txt','r')
for line in f.readlines():
words = line.split(' ')
for word in words:
word = word.replace(',','').replace('.','')
if word_dict.get(word):
word_dict[word] += 1
else:
word_dict[word] = 1
print word_dict

GG看了下点评道,你那个字符替换不严谨,还有问号,冒号等其他符号呢。我直呼疏忽了。
然后就不再谈这个程序了,其实我是挺想知道他会怎么写这个程序。

现在想想这个程序不应该写这么简单,因为面试的时候是不允许迭代开发的。应该直接写一个华丽丽的看起来很高级的东西,比如多线程了,分布式了(这个现场也写不出来)

然后开发GG很有爱的给了些建议,你想做什么职位,python开发或者前端开发(因为我直接应聘的是前端和后端开发两个)。
又说到,因为这两个职位要求都很高,你没有足够的精力来做好两个。于是我果断的选择python。

最后开发GG,还是建议道:走技术路线应该多研究些原理性的东西,因为大多数的应用都是同样的原理,原理懂了一通白通。
心里叹气一声,经常教育别人的话被用到了自己身上,那感觉,就是一个字:弱——自己还是太弱了。

临走,赶忙追问兄台大名。如果不追问,或者被谁面试都不知道,岂不尴尬。

后来又和hr聊了些其他的东西。感觉不太好,灰溜溜的撤了。

总结下,这次面试,那技术兄台提的问题是刀刀见血,直插命门。也只自怪平时没有积累,想想我业余时间敲的代码可以拿去喂狗了。

不禁反思,是应用层面的东西做的太久了而不能够再去深入研究了?还是只顾着用现在能用的东西实现现在有的想法而忽略了其他?

不得不说,这次面试对我的价值很大,虽然是一次失败的自我展现。
----EOF-----

扫码关注,或者搜索微信公众号:码农悟凡


其他分类: