关于面试一点感触
我可能属于运气极好的一类人,9月1号就已经拿到最少两个offer,这几天好多人加我qq,要我分享经验,求各位别叫我大神,我技术还是挺渣的。目前已经确定去网易,提前结束校招,估计后面很少来牛客,这里不谈技术,因为我是技术渣,只谈谈自己面试的一点见解,纯属一家之言,大家看看就忽略。
目前一共面试四家,通过2家,一家还在等,挂了百度二面。
手上的2个offer,
华为杭州研究院***研究院大数据开发工程师(准备拒掉);
网易金融事业部数据挖掘工程师;好未来数据挖掘工程师在等(好像没挂,不过也准备拒掉)。
offer谈不上好,可能在某些大神眼里就只是小喽啰,但我已知足。工作无非考虑:地点、钱、公司平台、技术方向、行业。杭州比北上深房价低很多,买房轻松不少,金融行业是我非常看好的行业,我们不仅仅需要决定找什么技术岗,更是应该知道自己选了什么行业,这很重要。杭州的另一家巨头阿里巴巴伤了我的心,内推简历直接挂,当初实习生投递进入hr面泡在资源池一个多月还是未能拿到offer,且听闻阿里的坑今年很少,算法岗更是要求高,已放弃。
个人感觉找工作,看缘分、运气、技术、口才、情商。我属于运气好,口才还行,情商还行,技术很渣的类型。
我的技术有多水呢?我本科是一所非211的重点大学(非211一本),且学的类似材料,几乎没有编程基础。考研上的武汉地区某985工科院校,导师做计算机仿真学。什么是计算机仿真学,就是有一个别人做好的软件,我每天点点软件上的按钮,就可以了,也没有很多机会去编程。平时也很爱玩,绝非极其努力型。我是今年1月才开始正式学数据挖掘,一直到7月,这中途我也只是断断续续花了不到两个月时间学数据挖掘,中间大部门时间在干别的。
书:《统计学习方法》4遍 +《王道程序员宝典》2遍 + 《大话数据结构》2遍 +
《剑指offer》看书2遍,刷题1遍;
项目:数据挖掘没有项目,参加了两个小比赛,成绩一塌糊涂的,很渣。C++方面自己学过一点计算机仿真学的编程,简历上就写了这么一个C++项目,此处忽略不提,太low。
关于技术面(这里仅讨论C++和数据挖掘):
1. 面试官一般都会考查基础,比如C++里面的虚函数、static、const、单例模式等,操作系统里面的进程线程、通信方式等,计算机网络里面的TCP协议,3次握手等。如果问到这些常考的简单的,你还答不上来,将会是致命的。重基础!
2. 保证一个原则:简历上提到的要么你真正搞清楚了,要么你别写上面,否则就是自己找麻烦。
3. 关于答题技巧
比如,面试官问static有哪些用法。大家都知道,书上也会有标准答案:1. 全局变量的隐藏;2.
函数体内记忆功能;3.类所有实例共享,static函数不接受this指针,只能访问static成员变量。
如果你完全这么答,面试官可能觉得背的不错,对你没什么不满也不会觉得你有什么特点。我看书的时候,喜欢查博客,有时候好奇个为什么就会查查,而没有真的背。比如在这个问题上,我会这么答:1.全局变量的隐藏,因为在其他文件不可见。编译的时候解决符号表中不会导出这个变量,这样这个变量只能是内部链接,这样可以避免重复定义的错误等等。2. 函数体内记忆功能,这个功能我有时候会用到,比如。。。3.
类所有实例共享。这个功能非常有用,在单例模式实现的时候。。。再比如。。。另外
static函数不属于某个实例,也就是不接受this指针,所以只能访问static成员变量。。。。等等。这里只是举个例子,回答这种基础问题的时候,如果你能说说你的理解还有使用体验,我想比单纯背答案好很多吧。
4. 把面试官往你准备好的方向引导
比如面试官问进程和线程的区别,有一个是进程的开销比线程大,通信麻烦一些,但更安全,所以很多时候我们用多线程加速,但有时候线程用不了,只能用进程,比如我当时做猜你喜欢这个比赛的时候,主要用python,为了加速尝试过很多方法,比如GPU加速、C++动态库调用、还有就是多进程。
很多时候面试官就会问你为什么要用多进程加速。(这个地方我早就查过而且很深入去了解,就怕你不问)因为python这个语言是解释型语言,本来用来进行cpu密集型计算就不适合,还有就是python没有类型,因为全是用哈希表实现的动态内存分配方式,比如你定义a
= 2 ,其实底层的实现是先分配一个内存
块,在用一个指针指向这个内存块,最后返回的是这个指针。最重要的一点是当初在设计python的时候,为了图简单,加了一个全局锁,也就是一个时刻只能使用一个线程,多核完全浪费了。。。此处省略。。。
5. 逻辑与条理
你做的技术再牛,讲不好,有什么用?
我花了很多时间去总结我的两个小项目,第一个小比赛整整总结了20页word还不止,把项目里用到的所有知识进行了扩展和深入,并且参考了冠军的做法。数据挖掘基本就是这个套路:先大体介绍业务背景、比赛任务,再具体介绍项目/比赛:1.数据分析,你可以说你拿到题目以后用可视化或者绘制图表的方式查看数据特点,比如数据符合常规80/20分布,很可能使用常见的分类器就可以达到不错的效果;正负样本不平衡,可能会用到特别的采样方式;既有带标签样本,又有无标签样本,很典型的半监督学习问题等;特征维度高,应该要降维,可以减少计算时间。增强泛化能力等等等。。。。2.
数据预处理。。。3. 特征工程。。。4模型选择 5. 模型效果和调参 6. 模型融合 7. 后处理
一定注意条理,话都说不清,就不用谈别的了。不只是告诉面试官你怎么做的,更应该告诉面试官你的思路,遇到问题怎么解决问题,突出这个项目里,你的创新点在哪。尽量对简单为题进行拓展和深入。比如svm如何调参,我当时查资料正则项系数C有经验值1-4,如果选用RBF核,就会有参数r,我在面试好未来的总监面就被问过,还好之前看过一篇博客讲到,还做了记录和思考,C和r对最终结果除了经验参数意外,还有曲线图的,我现场画出两个参数对最后的结果的曲线分布图给他,根据图分析我为什么要这样调参。再者,你既然说你用到SVM,你就该考虑到面试官会问这样的问题,比如SVM有哪些核函数?怎么选核函数?SVM为什么不能直接处理类别型特征?如何处理类别型好数值型的特征?为什么独热编码能解决数值型的特征?SVM本来是二分类,你怎么解决多分类问题。这些问题本来就是一个你自己做比赛的时候需要考虑的,所以面试官没问的情况下,我会在给他讲解比赛的时候把这些都掺杂进去。
6. 真话不全说,假话不要说
当初面试网易,面试官问我做了什么比赛,排名,我说了以后,面试官现场百度查看我的排名、提交记录、分数等等。还好我不说假话。
7.自信大方但谦虚,注意交流,明确自己的目标
可能因为一直是班干部或者社团的干事,性格开朗,所以面试我从不会紧张,表现的也很自信。注意交流很重要,比如让我写代码,我会跟面试确认好参数的范围等等,想画图,我会问:我可以用这张纸?画图给您看,这样更清晰。等等。不要怕交流,主动交流。这不是机器人考试,就只需要当成是普通的交流就好,面不面的过看缘分的,紧张只有副作用。这家不要我,自有下家。
8. 你还有什么问题要问我吗?
这个问题或许会对你很有用,实话,表现出对这个岗位感兴趣,想要进一步了职位的具体任务等等。下面都是很官方的问题,也还不错,但最好稍稍改进下,原创最好的。
(
1)
虽然在投递的时候有看到职位描述但很抽象,您能否具体描述一下,如果这个岗位具体需要是完成什么工作的,具体分工大概是怎样的?比如您可以说说您平时的工作大致是什么呢?
(2) 刚才问的那个技术问题某个细节我还不太明白,能解释下吗?
(3) 您可以对我刚刚的表现做一个评价,指出我有哪些不足吗?
(4) 如果我有机会被录用,接下来半年有哪些优先度比较高的任务需要我处理?
(5) 如果我很幸运被被录用,我能不能提前来实习?如果不能来,接下来的一年在学校,我学习什么可以对我今后的工作有帮助?
9. 关于你投递的职位及部门有个初步了解
在面试网易金融的头一天,我在网上查看了网易和网易金融的基本资料还有互联网金融行业的大体情况,下载了网易金融旗下理财APP,专门玩了一下,果不其然用上了。HR面的时候,面试官问我对网易金融有什么了解,正中下怀。
对HR面一定上心,HR有一票否决权的。还有一些刁钻问题,比如网易HR问我:隔壁就是阿里巴巴,你怎么不去阿里巴巴?我说首先是我喜欢网易的情怀,因为用过网易的邮箱、有道词典、看过网易新闻、网易云笔记、最近后来者居上的网易云音乐,我和大的感觉一样,都觉得网易产品都是良心之作。然后说自己选择的不仅是需要从事的技术方向,更是选择一个行业。选择金融行业一直是心之所向,巴拉巴拉一堆。然后说网易技术平台很好。网易金融是去年5月成立,面向新中产,我觉得这份创意很好,很有前景,另外网易这么多年的技术积累,新成立的大数据实验室,我非常向往和大数据实验室一同成长。后面巴拉巴拉。你也不要去多说阿里怎么不好,毕竟人家确实是行业领军,而且贬低别人也说明你这人不怎么样吧,我说自己实习生面试的时候通过终面后,在资源池里泡了被伤到了等等。
10. 察言观色
有些面试官可能并不想听你叨叨,比如总监面,很多都是聊聊技术再谈谈人生,你这时候要注意,如果你感觉你说的很细节,面试官有打断你,你就要知道,你不该详细,而是应该注意有条理的介绍项目的框架和结构,核心内容,别再吧啦吧啦一堆。所以,我觉得不管什么时候察言观色很重要啊!其实即便你答得不怎么样,如果面试官喜欢你,还是会让你通过。
如果面试官到后面主动跟你分享他的经验和经历,很可能他就是喜欢你的。
就这么多了,祝各位牛友都能找到自己心仪的工作!以上仅一家之言,不喜勿喷。