#102 楼 @blackanger 这个"综合考虑“确实可以灭掉很多人。不过我确实没看出了算法要求有多高,我以为好的算法面试应该是举实际例子,并在里面应用多个算法,而且过程中还是以原理性探讨为佳。编码习惯看面试者的开源项目就可以了。
#99 楼 @luikore #100 楼 @blackanger
国外都怎么面试比较高级的程序员呢,比如 CoffeeScript 作者,或者人家压根就不需要被面试?就是面试失败了,能就这样完全否定人家在这领域的价值吗?还是离职位要求或公司文化还有 1% 的距离?
个人觉得从过往项目,特别是开源的,再加上博客等这些被时间洗礼的网上公开信息,只要面试官洞察力和资历够深,比如 @luikore 这样的,还需要出题面试吗?我觉得详细地探讨下期待的将来能为公司作到哪些成绩或者贡献多大价值就可以了。
#9 楼 @sg552sg552 职位不错,可惜本人的大学肄业学历 + 英文口语短板。。。
环境有点小文艺,互联网公司应该这样。
#93 楼 @blackanger 到目前为止还没有人给出本质上更短的 Ruby 版本(参与此贴的算法大牛 @luikore 好像也没有看法) ,所以看来是那位面试官技术涵养有问题,他意思是你要背熟一个最短解法(二分算法解法在细节上还是可以是有很多不同的,我不相信谁在这么短时间里就这种原理性算法可以创造性地发明一个新解法,否则中国的计算机事业赶超美国就不用担心了),否则他看不明白,个人觉得他的水平只停留在王国维的第二层次。
#94 楼 @mahone3297 本人之前更有说服力的二分查找项目 logpos 被他忽视。。。一定得现场背出来一个。
要难倒一个人是很容易的,难的是如何去发掘别人的优点。
#12 楼 @blackanger 微博私聊。。。
#10 楼 @blackanger 抱歉。。。
我觉得自己现在待业找工作也是类似于创业的状态,自己的工作经历和能力已经摆在那边了,剩下的就看怎么推销出去。不断的物色公司(创业和大公司都有,用不用 Rails 也不太关键),了解公司和团队背景,多轮电话面试,笔试,二面,找人聊天,等等。我算是可以体会到 CEO 有多辛苦了。
#8 楼 @blackanger 是自己给自己公司加班吧。。。好几年没见到你了
#29 楼 @numberaugust 我也投了支持一个,应聘的职位稍高哈,请查收:)
#17 楼 @orasisz 我培训经验没有 @daqing 多哈。但是技术顾问可以联系我,我目前待业,个人联系方式见我的 github。对于 Rails 项目重构我也有些经验,见http://mvj3.github.io/2013/12/16/refectoring-code-at-sunshine-library-in-three-months/ 。
#85 楼 @OneMagicAnt 。。。不用怀疑,就是大学肄业了。
#36 楼 @hpyhacking 。。。这周六是 Beijing Rails Girl 活动,在 ThoughtWorks,看到好像你也参加的,到时再聊。
#2 楼 @mqzhang 首先谢谢支持,感谢有分量的提问:),我一一回复如下:
个人认为 MongoDB 的两大特色就是 MapReduce 和分片。针对 statlysis 的理念是"因为用户最后能看到和理解的也就是两三维的分析图表而已,所以从用户理解出发",所以对于简单的数据统计而言,MongoDB 无疑是首选。其实用 MySQL 或 PostgreSQL 等关系型数据库也是无妨的。这里举两个技术细节,
数据存储。数据分析的数据操作相对其他数据库操作,它最大的特色就是要求必要的数据是全部读出来的,而直接存在 MongoDB 紧凑的 JSON 形式 比 按行索引存储去读取明显快多了。
MapReduce。个人经验用 MongoDB 和 MySQL 分别对 500 万数据跑 GroupBy 操作,MongoDB 只需要 15 分钟,而 MySQL 可能要撑死了(这个我是看别人系统做的不好的表现哈,没有实际测过)。例子参考 Android 优亿市场数据采集分析系统概要 。
我个人建议还是把 ETL 和查询分开,任何东西在概念上搞到两层以上都太复杂了(如果是并列的,就属于一层),看看社区里关于 ActiveRecord 多对多关系等语句配置的提问。
对于你举的存在 Hive 和 MySQL 等数据库,跨数据库真的能 Join 吗,或者 Join 了能高效利用索引吗。。。
多维度是可以的,就是 GroupBy 的条件嘛,例子见 https://github.com/mvj3/statlysis/blob/master/examples/sunshinelibrary.rb
always ETL::LessonLog.where(:level => level),
:group_by_columns => [
{:column_name => :room, :type => :string},
{:column_name => :lesson, :type => :string}
],
:group_concat_columns => [:user]
还有合并的问题,请参考 statlysis 的 ETL 理念。
你说的对,我认为 R 语言其实是另一个领域的,给搞统计专业的那帮人用的,这方面我也在学习和借鉴:)
#30 楼 @hpyhacking 哈哈,可以当面聊(贝塔咖啡都 OK 啦),我对貔貅产品和团队还需要一个深入的了解,我是一个做事很慎重的人,手机号码已微博私信给你:)
有一句话说 "少年杀死了龙,于是自己变成了龙。“
从这句话里
如果你觉得你心目中的超级偶像在我之上的话,请先问问我对他们的博士论文或者图灵奖作品有何评价。
可以看出,王垠这篇文章的目标对象是对没有成为权威的人说的,权威们可能不喜欢和他论战,维护自己的晚节比较好。
现在他们在我心目中是一群普通的,有血有肉,有好心肠或者坏心眼的,高傲,谦虚或者虚伪的人。他们设计的东西,好的地方我可以借鉴,但是没有任何人的东西我是不加批判全盘接受的。我深深地知道接受错误的想法的危害性,所以我也希望大家都具有批判的思维,不要盲目的接受我说的话。我不喜欢“大神”或者“牛人”这种称呼。
我觉得这就是王垠可爱的地方,而且他也做出了很多优秀的成绩,见 https://github.com/yinwang0,值得我们大家欣赏和学习,这就够了!
我这里有一个统计分析框架 statlysis 配置的实际例子,也是用的 instance_eval
,https://github.com/mvj3/statlysis/blob/master/lib/statlysis.rb#L34
实际效果比如:
Statlysis.setup do
set_database :local_statistic
daily UserRecord.where(item_type: "activity")
end
之前还有一个用来练手的 统计分析 DSL 设计,解决惰性加载 和 作用域 两个问题
@numberaugust 欢迎试用 基于 Mongoid/ActiveRecord 的 statlysis 统计分析引擎 ,有培训或定制需求请找我,本人目前待业:)
#59 楼 @rasefon 有一种叫数学竞赛,有一种叫数学创造,两种成分每个人都有,当然后者少多了,话语权只能被代表了。
但是当你去应聘一些相对高或者好的大公司的职位时,人家还是拿这种竞赛式的方式来搞,或者拿学历来卡人,而完全忽视了其过往项目经验在该专业能力上体现出来的创造力。遗憾的是有些人就是适应不了条件反射式的竞赛,TA 们更喜欢通过自省来创造,这方面工程实践可以看 Rails 项目 重构,我在阳光书屋的三个月 ,我对架构和 Model 的重构都是通过内在关系来自省解决的:)
我仔细看了 "这是一个有个最近很火的美帝前端面试活生生的例子 http://css-tricks.com/interviewing-front-end-engineer-san-francisco/ 前端面试没有问一个 HTML 相关,CSS 和 JS 只问一两个问题。 问的大多都是算法相关的问题。",我想你理解的有点偏差了。。。这个正是他认为的反面例子。
他说算法是很重要,但是面试时候得结合实际的前端例子来,比如他举了
$("#nav a")
.addClass("link")
.attr("data-initialized", true)
.on("click", doSomething)
这样的例子来让面试者去解释这背后的原理和执行过程,这样才会让真正好的有经验的前端工程师被选中,他的原话是"The problem is they have nothing to do with front-end development. As I said before, most smart developers with a strong computer science background could answer all of these, even if they'd never built a website."