foreach_break 面试记录
版权所有@foreach_break】 【博客地址 http://www.cnblogs.com/foreach-break】 可以转载,但必须注明出处并保持博客超链接
背景
自从2013年离开北京后,就没有在固定单位上班了。
期间捣鼓过一些东西,也挣了点小钱,日子也没有到过不下去非要找工作的地步。
只是觉得自身仍有不足,作为技术,还是想再开阔一点,再深刻一点,再专业一点。
也没有去刻意地投递简历,本来老婆怀孕,自己在家,时间比较多,所以就写写博客,所以会有一些来自私信的机会。
既然有机会,那就愉快地去追一下,本篇,就记录一下最近几个月的一些经历。
云XX
这个公司招聘全栈,要求精通编译、操作系统、计算机网络,要精通一门底层语言,比如汇编或者C,要精通一门高级语言,比如C++或者Java,没有.Net方面的要求。
因为不是自己投的,一般看到诸如要求精通的,我就呵呵一下,然后就扫其他的了,但是机缘巧合,可能HR妹妹比较具有亲和力,所以也就答应应试。
约的两周后聊,不过由于老总临时有事,就和CTO哥哥先聊下,主要聊的一些内容是:
- 操作系统的进/线程区别,Linux Kernel进线程调度的机制,以及操作系统原理概念上的调度算法。
- 分布式存储的一些问题,比如分布式锁、锁性能、Master-Master多主架构和Master-Slave架构的各自优劣,等等。
- 作为第2个问题的延续,会聊到CouchBase和HBase的一些实现原理,但并不深入,还会聊到性能上的东西,比如为什么不选择HBase。
- 自己的一些项目经历,一些比较泛的知识点,看似随意,但应该是在考察知识结构,是否全面。
- 知道哪些开源软件或者框架,看没看过源码,有没有自己的理解等等。
- Java多态的实现和体现,接口和抽象类的关系,我从java和vm层面大概做了叙述。
第二天,和老总聊,这个比较有趣,因为老总的技术很厉害,而且也很坚持己见的,这次聊的很久,大概有3个小时,主要还是争论,其实到这一步基本就没打算要这个offer了:
- 硕士为什么没有毕业。
- 天文科学家为何要选择Python来处理数据,而不选择其他的语言。我说这是历史原因,然后老总说这个设计方向不是用来处理这个的。这里也有点小争议,略过吧。
- 为什么要在Python虚拟机上做核间并行,在kernel里做会不会更舒服。
- 聊到老总面过的一些人,包括985出来的,和BAT出来的一些T,能把编译、装载、链接,说清楚的人不超过5个。我说你们公司要求挺严格的,老总说不是他们要求严格,是行业整体水平太低。很多做WEB开发的,后面的东西一点不懂,但也能做,你说能做好吗。这一点,各自有不同的看法,但分歧到没有大到要争论的地步。
- 中途我问到了一个问题,为什么选择Erlang作为开发语言。因为这家公司目前主要做云通讯(之前CTO自己的定位),而这个问题也是本次面试最大的争议所在。
老总说你应该自己做做homework,当时我是觉得吧,通过这个点让人家介绍下业务,毕竟没业务聊啥都是比较泛,自己想有点针对性,但被这么当头一棒,觉得自己是在浪费人家的时间,而且“做做homework”如果你听了也会有点火吧,呵呵。
从这里开始,基本各种争论的东西也就出来了,比如,聊到ZooKeeper:
老总:ZooKeeper太重,在他们的架构中是臃肿的或者累赘。
我:可以不用zk,但一致性和同步也得自己实现吧。
老总:他们自己基于paxos算法实现了。同时列举了一些行业内的反例,说其实用zk等开源框架拼出来的系统,都存在逻辑上的问题。
我:提到了twitter。
老总:如果你有机会可以去twitter看看,我们现在做的是取代他们的老框架。
我:虽然我没在twitter工作过,不过各种Con,各种Summit,各种SlideShare,还是有看过的。后来又聊到多主结构,和主从结构:
我:我之前有了解到,类似p2p这种,捕获网络拓补变化的速度会比较慢,随着节点数的上升,可能时间复杂度过高。
老总:我们从不空谈问题。很多业内观点,认为这种架构不好,但事实上我们有一套老系统性能特别高,目前的通讯也是基于这个,30-40个节点没有什么问题。
我:那心跳是怎么维护的?
老总:是由每个节点互相维护心跳。
我:好的。但好像这样也是将同步和协调机制耦合进去了,我觉得Hadoop和HBase那种Master-Slave的,抽象出NameNode或者MasterNode,然后维护一些metadata在zk上,也是已经被成功证明的一种架构呀?
老总:我问你,如果状态节点和数据节点之间发生网络割裂怎么办?
我:发现网络拓补这块不通后,肯定要进行节点间复制,并等待网络恢复,比如阿里那次光纤切断事件。而且,您为什么一定觉得状态节点一定是单个节点呢?
老总:所以,它们之间并没有解耦。
我:哦,我说的解耦不是说彻底不协作了,只是从设计上按照独立角色原则分离开来,这样清晰一些。
老总:那还是耦合的。期间,老总还觉得Java不是一门比较好的语言,当然,这一点我也有同感,但我觉得生态可能更重要一些。
最后,还是回到了那个Homework问题:
我:X总,您应该是一直受西化文化的影响,所以觉得问这个问题会没有什么价值?因为您的homework回答,让我感觉有点过于直接和难以接受。
老总:公司需要以效率为重。
我:其实,我个人听HR说您的技术很厉害,我也搜过一些新闻和对您的采访,我觉得我个人是作为一个follower来取经的,不过这么干脆的拒绝,的确我是第一次见。
老总:讲了很多公司开会的方式,比如先做好准备再开会,否则要一直给某个不懂的人讲,会算白开了。
我:这个我同意,但我是面试,所以不清楚你们公司的业务,只是想听听作为创始人,对这个技术选型的看法,而且很多大牛,如果你邮件给他,他也会很谦虚,很详实地回答你的问题。期间又聊到StackOverflow,我提到,记得以前有个人对于回答问题的人,表示了感谢,站务觉得这是废话,后来有很高reputation的人站出来发声:至少在我们的国度,如果有人帮了你,说声谢谢,是有教养的体现。如果觉得表示感谢这样的话,过于社交向,那不如去掉reputation和回答者的个人链接好了。
后面的很多问答,其实也是在互相表达团队沟通的一些原则,我只是觉得,公司不是招聘机器人,大家都是专家独当一面,开会高效,无可厚非,但人与人之间普遍存在差距,一个好的leader,如果这么冷面,那团队氛围会利于激发创新么?
的确,老总说的很多都是有道理的,比如美团,就有要么牛逼,要么滚蛋之类的宣言,但我个人觉得任何事,得3-7开,不能那么绝对。
觉得像云XX这样的公司,走Geek路线,全招的是专家或者有潜力成为专家的全栈牛,而且对智能硬件、云通讯、实时系统有自己的一套理念和实现,还是很有前途的,祝福一下吧。
极客XX
教育类公司,职位好像是大数据就业班主管布道师,就是研发管理大数据方向的课程。
这个是从猎聘上来的机会。
HR要了简历后,觉得太简单了,我又大概补充了下,3天后,跟数据中心负责研发的leader聊,主要内容是:
- 算法课程,在大学和在培训机构的课程,有什么不同。
对方leader表示算法虽然没什么用,学起来没有干货的感觉,但是可以帮助一些学员就业,比如一些公司会考算法。 - Hadoop和Spark。
- 项目经历。
- 上班时间,课程开发的一些过程,等等。
- 有个槽点就是,对方leader把C#念作"C井",我当时有点慌,如果纠正说C-Sharp,会不会留下不好的印象,如果说C井,好像又很别扭. : ]
本来觉得聊得还行,结果HR后来说,可能此方面直接项目经验少了些。
民XXX
这个机会,接触了来回有2个多月的感觉,对方的总监是个很好的人,上海交大的硕士,素质很高。
因为接触的时间挺长,所以对我的一些擅长和不足都有较深的了解,去上海时,和总监聊的少一些。
去上海终面,先和负责数据中心研发的leader聊,人非常不错,平易近人,聊的内容也挺广泛。
- 项目经历.
- Hadoop.
- HBase是否适合作为行为分析的后端storage,二级索引等。
- 淘宝dubbo.
- Phoenix.
- Storm的混合拓补问题,比如同时支持最少一次和仅一次的数据处理语义。
- SOA,异步,原子服务。
- Spark.
- 流式处理。
- 实时系统构建,主要问下有没有一个完整的设计和想法。
- Kafka,全局序的一些限制和问题。
- 目前数据中心的研发状态和产品。
这个leader哥,人真的很好,哈哈,中午请我吃了一餐。
下午和CIO聊,主要是听人家的看法,因为他之前以为我是应聘数据科学家,后来发现是想聘基础平台的搭建,倾向于工程师,所以数据挖掘和数据仓库没有问太多。
- 大概介绍了互联网金融行业内的一些生态,对数据仓库和ODS的异同表达了一些见解。
- 对数据中心期待的数据仓库,有什么,应该是什么,做了一些设计上的表述,让我更明白一些已经实现的,和没有实现的,从整体上有个把握。
- 数据挖掘的一些东西,比如分类、聚类、关联规则、有监督和无监督学习等等。
- 音频和视频数据的处理和知识发现。
- 结构化数据和非结构化数据,在生产环境的一些强制要求。
- 北京、成都、上海,各个研发中心的一些情况,看更倾向于在哪里,从事何种工作,大数据方向的还是在上海。
- 敏捷,自我驱动,等等内容。
- 基础平台的重要性,以及领域专家发现知识的价值,等等关系。
- 工程师文化。
CIO感觉深不可测哈,因为他之前在国外一些挺著名的搞DW的公司做,所以经验很丰富,理论素养也很高,因为聊得东西很广泛,所以我更多是在听,表达的比较少一点。
结语
仅作流水记录,感谢每个给机会的人和公司,呵呵。
foreach_break 面试记录的更多相关文章
- cvte春招测试面试记录
cvte春招测试面试记录,挂在了综合面试(hr面)...尽量回忆面试的问题(可能不完全). 技术面一面: 1.自我介绍 2.根据实习项目问,智能客服怎么测正确率之类的. 3.测试人脸解锁 4.测试微信 ...
- 补充Java面试记录
补充Java面试记录 背景:这两天面试遇到的部分问题都分散在了前面两篇文摘中,这里再做一些其他的记录,以备不时之需! 一.谈谈你对SpringBoot的理解? SpringBoot简介:SpringB ...
- 普华永道高级JAVA面试记录
最近在考虑换个工作 原因?咱能不逗吗? 一面感觉发挥不错 二面之后累觉不爱 基本上浪费了半天的工资(好多钱啊~~~) PWD上海地址在浦东软件园 工作环境说实话没我现在工作的环境好,不过里面的人 ...
- 阿里、百度等多家公司Java面试记录与总结
算算自己大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面试经验. 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己, ...
- 2019上海爱奇艺大数据Java实习生-面试记录
目录 一轮 电话面试 二轮 代码笔试 三轮 技术面试 总结 附:电话面试问题点解惑 补充:面试未通过 一轮 电话面试 2019.04.28 16:21 [w]:面试官,[m]:我,下面的内容来自电话录 ...
- Java后台面试记录
腾讯一面: 总结:考基础和代码(网址A是不是网址B的子域) + SQL(选出重复邮箱)(以下是没回答上来的) 逻辑回归公式(简历上写了协同过滤) 详见:https://blog.csdn.net/ma ...
- 腾讯測试project师笔试面试记录
从3月29日參加腾讯笔试開始,開始了为期1周的腾讯之旅,尽管最后还是跪在了二面上,可是感觉收获非常多,至少明确了自己与向往的BAT公司的差距,明确了自己还是路漫漫其修远兮. 腾讯非常注 ...
- dwd面试记录与最近面试的一些感想。
因为自己简历有些问题,额,面试官以为我有三年的工作经验. (吐槽一些智联的简历系统,)16年工作,一到18年自动变三年.这也忒坑人了. 工作年限一定要真实,避免出现问题,这会让面试官觉得你很不真诚. ...
- 前端面试记录NO.1
后端转前端,离职后第一次面试,技术面试的时候还是比较虚的,因为基础不是很扎实.主要问了工作中用过哪些技术,主流框架的区别,jQuery的掌握情况,Ajax的掌握情况,cookie的基本内容,还有浏览器 ...
随机推荐
- startActivityForResult用法
使用场景:A界面(activity) 可跳转到一个(假设为 B)或多个子Activity,要求B处理完工作之后返回A 界面,或许同时返回一些数据交给A继续处理.如 由登陆界面A跳转到注册界面B,注册成 ...
- 如何利用c++编写不能被继承、但可以在类外定义对象的类
#include <iostream> #include<string> #include<map> #include<vector> #include ...
- leetcode NO.53 最大子序列和 (python实现)
来源 https://leetcode-cn.com/problems/maximum-subarray/description/ 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的 ...
- Unity3D_异步加载场景(进度条)
创建两个场景:现在的场景“NowScene”,要加载的场景“LoadScene”: “NowScene”如图所示,“LoadScene”任意: 创建脚本“AsyncLoadScene”,复制如下代码, ...
- ruby 发送邮件
产品构建.打包.部署完需要发送邮件通知相关人员进行验证.请看过程 #encoding:utf-8 require 'mail' #~ branch = ARGV.to_s.sub('[','').su ...
- POJ 2217:Secretary(后缀数组)
题目大意:求两个字符串的公共子串. 分析: 模板题,将两个字符串接起来用不会出现的字符分割,然后求分属两个字符串的相邻后缀lcp的最大值即可. 代码: program work; type arr=. ...
- 数组洗牌算法-shuffle
数组洗牌,最近直接的想法是从数组随机取出一个元素,放到另一个数组中,但是这样取出的元素会有重复,必须采取一定的方法保证: 1. 元素不能重复2. 元素被抽取的概率相等,即随机性 数组洗牌经典算法有两种 ...
- vue项目中使用iconMoon图标
前两篇文章写了一下如何在vue项目中使用vue-awesome和阿里的iconfont,这里介绍一下如何使用iconMoon图标 iconMoon和前两者相比可以生成自己的矢量图,这点是我喜欢的.至于 ...
- 关于 react state的改变数据上面的一点问题
在react当中 比如说 this.state = { loginInfo: { account: "...", password: "..." } } thi ...
- bzoj 2749 - 外星人
Description 给定一个数的标准分解\(N= \prod_{i=1}^n p_i^{q_i}\) 其中\(p_i \le 10^5, q_i \le 10^9\) 求最小的\(x\)使得\(\ ...