互联网企业面试
2012-11-12 22:05
477 查看
腾讯电面
自我介绍后,直接上基础知识问题,30分钟狂轰烂炸。
C++中virtual的作用是什么?为什么要把基类的析构函数定义成virtual?
宏定义和inline的区别,说说inline使用的场合。为什么加了inline的函数中不能有循环?
Windows下进程间通信的方式有哪些?
说下对堆,栈,静态存储区的理解,程序的内存分配还有其他地方吗?描述一下其他段的作用?
开发时如何选择数据库,mysql和oracle如何选择?为什么oracle的性能高于mysql?数据库如何实现高效的互斥读写?
mutex和临界区各自的适用场合,在多进程和多线程中都用适用吗?mutex的实现机制是什么?
熟悉网络编程不?如何解决高并发访问?
在Windows下如何调试程序?在一个循环中,如何在不改变代码,也不改变变量值的情况下,在第k次循环时加断点?如果程序在客户的机器上崩溃了,如何调试程序?如果记录日志的话,也会很大,不容易找出原因,有其他办法吗?
Windows下遍历文件夹下面的所有文件,包括子目录,采用宽度优先遍历还是深度优先遍历好,为什么?
微软面试有感
实习生转正面试:
1. 以问项目为主,出的两道写代码的题,非常简单(类似atoi之类的题,恕不能透露原题,但题目基本都涵盖在 编程之美 等类似算法书上,原题!!当然不排除也会有难题,动态规划),核心代码就5-6行左右。
2. 微软面试非常注重细节,务必保证写在纸上的代码能够正确运行,所有边界条件均需仔细斟酌考虑。考官有可能会跟你一起double check代码的正确性。鄙人写了一个程序,自认为太简单了,没有做任何检查,就交给考官,在考官验收过程中,连续发现3个bug,改了三次,后果可想而知。直接挂掉了。。。
3. 对于内推面试或正式校招,估计会有基础知识的考察。
Hulu电面
自我介绍,自己选择一个项目进行介绍,问得不是很细。
算法题:
1.给一个各个数字不相同的数组,求满足数组中两个数字和等于k的对数。
排序O(nlogn)+前后指针扫描O(n)。
然后又问已经排好序后,要是求两个数字差等于k怎么做,保持O(n)复杂度。囧,想了一会儿,没得到正确结果。后来才发现跟求和相差不是很大,两个指针同时从起始位置走就行了。
2.在地球上向南走一公里,向东走一公里,再向北走一公里,到达了原来的位置,问地球上存在哪些这样的位置。
北极,然后让证明,后来又让我仔细想想还有没有可能,想了半天,在面试官提示下才想出完整的答案。
(1)、北极点;
(2)、很靠近南极点上一个圈上的任意点,它满足:当你向南走了1公里到达P点后,再向东走一公里时恰好绕了纬线一圈,回到了P点,再向北走就行了;
(3)、很靠近南极点上一个圈上的任意点,它满足:当你向南走了1公里到达P点后,再向东走一公里时绕了纬线不是一圈,而是好几圈(可以是任意多圈),回到了P点,再向北走就行了。
3.一个二维数组,每个位置上有值,从左上角到右下角只能向右走和向下走,问经过路径的和的最大值。
典型的动态规划O(nm),答完了后,又问要是两个人同时走,如果有路径交叉,只累加一次怎么做。
提出几种方案被否决后,最后又是在面试官提示下才找到正确方法,时间复杂度是O(nmnm)。杯具了。
阿里巴巴面试
阿里巴巴一面
如何理解大数据
竞赛和项目经验
问了一下ACM/ICPC亚洲区域赛的情况及银奖的份量?
再问了某项目与其它类似系统的区别及其优势在哪?
又问了某项目的用途、主要实现及复杂度?
你觉得最有挑战性的问题是什么?这个问题跪了
基础知识
多进程和多线程的区别?进程间是如何通信的?
进程间共享内存的机制是怎么实现的?
网络分为那几层,TCP/IP分别在那一层?
C和C++中的内存管理?在栈中最大可分配多大的存储空间?堆和栈?第二问跪了,俺的64位Linux是8MB?
C++中的抽象类,java抽象类和接口的区别
C++中static关键字的几种用法
java中的模板
算法与数据结构
倒排索引中如何求不同关键字对应文档的交集? 跳表?跳表每一跳的有多长?根号n被鄙视了
给定一个词典,有10W个中文单词,统计出一篇文档中出现的所有单词?中文不好处理,设计的trie树被鄙视,面试官的提示应该是用HashTable,但复杂度也不低。
随机抽样,有一个1亿行左右的文件,如何从文件中随机抽取100行?蓄水池抽样?
求两个字符串的最长公共子串(连续)?后缀树?代码是写不出来的,O(m*n)的动态规划还是比较好想到的。
hash和B树相比的优缺点
平衡二叉树
快速排序的平均时间复杂度,最好最坏时间复杂度
将char* a 复制到 char * b,怎样保证一定复制成功,在有内存重叠的时候,a字符串可以被破坏掉
阿里巴巴一面题目(三个不同的来源)
项目外只有一题:如何实现哈希表
项目外只有一题:检测回文字符串
项目外一个题都没问,基本是在闲聊。黑板上有好几个c++的题,看清了四个:
strcpy和memcpy的区别,new和malloc的区别,const int *p, int const *p, int *const p的区别,sizeof(i++)i的值。
剩下的问题基本就是:除了c++还会什么语言?会不会hbase?择业考虑哪些因素(工作内容?团队?薪水?户口?)?如果所有的互联网公司都给你offer你会选哪个?
阿里二面
二面有三个面试官(其实有四个,一个hr打酱油的,很随意得靠在旁边的椅子上),两个技术人员,一个hr。
第一个面试官主要问项目
问曰:你感觉你做的最有成就感的一个项目是啥?为啥?
答曰:一个分类项目,通过这个项目我学会了整个分类问题的流程。
问曰:仅仅熟悉了流程有什么好兴奋的,说说技术上你有什么收获?
答曰:把书本知识运用到了实际。(对方一顿鄙视,心中万匹草泥马飞奔了起来)
问曰:你这个分类问题里面用了什么模型?
答曰:GBDT。
问曰:为什么选用这个模型啊?
答曰:头儿指定的(其实这个是对模型理解不深,没有说出个道道来)
问曰:feature选取使用了什么方法啊?
答曰:使用了决策树剪枝~(唯一一个没有被鄙视的问题)。
问曰:你觉得你更适合哪种工作啊?(这问题有点宽泛)
答曰:我适合给一个问题,然后自己考虑去解决(尼玛,不该这么答啊!接下来就是sb15分钟了!)
问曰:那好,给你两个词“校园”,“招聘会”你衡量一下两个词的相关度。(完蛋玩意儿,不熟悉,随便扯吧,但是还是有很长时间的冷场,一直在纸上画画)
答曰:总体来说我提供了三个思路吧:
1,计算P(A|B)的概率分布,这个思路不太对,但是我也推到了一番,估计推导的过程那人是认可的,但是推出来的东西没啥用
2,计算P(A,B)这实际上就是计算AB的一种共现的次数(对方也不置可否,估计思路太简单了)
3,计算P(A),P(B)的KL距离(这个被对方一顿鄙视,然后说没道理)。
第二个面试官问了C++,设计模式、编译相关的问题。
问曰:项目中用到了什么设计模式?特点?
答曰:工厂模式,不用关心工厂内部是如何产生对象,可以不用改变调用代码。(还不知道答案对不对,感觉肯定不是全对也不是全错,对方想了想,也没啥反应)
问曰:c++中纯虚函数是否需要有默认实现?(尼玛,不会)
答曰:不需要。分析是总要有一个类来实现这个纯虚函数,这个函数才会被调用,所以默认实现也用不上(对方想了想,难道他也不知道?进入下一题)
问曰:链表查环? (故作思考,随便画了几个节点)
答曰:两个指针追赶。 (对方也很配合演好这出戏,想了想,没反应)
HR提问
问曰:你本科成绩好,为啥?
答曰:从实践中理解了书本内容。
问曰:理解多还是实践多?
答曰:理解了以后不用死记硬背。
问曰:那这么说你比较聪明?
答曰:不算是(表谦虚),从实践中理解。
问曰:那主要是实践?(尼玛,有完没完,一直问!)
答曰:嗯,还是实践多。(赶紧结束这个问题)
问曰:你有啥缺点?(想了好久,不能直接回答,来个委婉的吧)
答曰:有些工作刚接手的时候没意识到重要性,后来意识到了,如果能一开始就意识到,可能工作会开展得更好。(心想这个答案总可以了吧,自己想去)
问曰:那是神马导致你这样呢?(万只草泥马啊!想了好久。。。)
答曰:态度!(出口就后悔!怎么能说态度有问题,得~)
百度面试有感
百度垂搜一面
首先聊了15分钟左右的项目经验
随后是C++问题:
printf是干啥的,能否打印到文件中(貌似应该用fprintf才能打印,在linux上可以通过shell将信息打印到log文件中)
C++ namespace 的作用
C++ 多态是什么 怎么实现函数的覆盖
再然后是数据结构
单链表实现快速定位中间元素
快速实现找到几个最大元素 (构建大顶堆)
最后是海量数据处理:如何在1千万条重复的短信中去除重复的
百度基础架构(两面)
一面:
自我介绍
项目:先把项目聊了一遍,巨细无遗(性能参数记错好几个,囧),大概40分钟
题目:矩阵相乘如何并行(逐步加限制,直到我没招了),大概10分钟
闲聊:另外问以后希望做什么,平时都看些什么书
二面(也可以叫三面?15分钟左右):
聊了聊研究生阶段有什么感受,有哪些收获,代码能力有没有进步,有没有带人做项目的经验
是否有时间实习
最后是有什么要问的&介绍一下组内目前情况
百度LBS搜索部-数据挖掘(三面)
一面:
自我介绍
项目介绍
针对简历的内容,主要讲了两个项目,占了大部分时间
基础题
感觉都比较基础:C/C++基础,多态的实现,inline函数和宏;
vector和list容器的实现(这个我答得不好);
线程与进程的区别,线程的优点,加锁;
Transaction的含义(我就说了原子性),如何回滚后防止读脏数据(经提示,要加锁,感觉这个题目有问题,和面试者讨论了下)。
算法题
估计没时间了,就问了一个:上楼梯只能每次只能上一个阶梯或两个阶梯,要写代码输出所有上楼梯的方法。
二面:
都是项目经历,遇到的问题是怎么解决的。
三面:
项目
代码行数,自大学到研究生做的东西罗列了一下。
搜狗面试
搜狗一面:
面的很糟糕, 笔的也很糟糕
几个没做上来的题
p()是一个概率生成器,有p的概率生成0,1-p的概率生成1,问如何实现g()生成均匀的0、1分布
平面上以x,y轴进行分割,开始的时候平面中有n个长方形区域,区域间可能存在相互覆盖。
问有没有一种方法,求出随机到来的一个点究竟落在哪几个区域中。
Google面试有感
Google Phone Interview
自我介绍
问项目
项目有多少人参与
有多少用户使用
在项目中担任的角色,完成的工作
项目中遇到的最困难的问题是什么
Google Docs上做题
在循环有序数组(原来有序的数组进行了一次旋转,比如89 99 103 111 3 5 8 12 22 28 39 45 49 66 78)中查找一个数,这个也是个经典的面试题,是二分查找变种,思路知道,但没写过代码,敲代码时思路不太清晰,写了挺久的
给你10亿个URL,这些URL属于1亿个不同的domain,举个例子,https://docs.google.com/document/d/ 这个URL的domain是docs.google.com,内存的限制是1GB,磁盘空间无限制,你可以对数据进行任意的预处理,之后会有很多个查询,每个查询的输入是domain,输出是属于这个domain的所有URL,比较土的方法可以用hash+外部排序,当前脑子一片空白,想不出外部排序,还扯了B树之类的结构
面试的时间是45分钟,总之就是悲剧了
自我介绍后,直接上基础知识问题,30分钟狂轰烂炸。
C++中virtual的作用是什么?为什么要把基类的析构函数定义成virtual?
宏定义和inline的区别,说说inline使用的场合。为什么加了inline的函数中不能有循环?
Windows下进程间通信的方式有哪些?
说下对堆,栈,静态存储区的理解,程序的内存分配还有其他地方吗?描述一下其他段的作用?
开发时如何选择数据库,mysql和oracle如何选择?为什么oracle的性能高于mysql?数据库如何实现高效的互斥读写?
mutex和临界区各自的适用场合,在多进程和多线程中都用适用吗?mutex的实现机制是什么?
熟悉网络编程不?如何解决高并发访问?
在Windows下如何调试程序?在一个循环中,如何在不改变代码,也不改变变量值的情况下,在第k次循环时加断点?如果程序在客户的机器上崩溃了,如何调试程序?如果记录日志的话,也会很大,不容易找出原因,有其他办法吗?
Windows下遍历文件夹下面的所有文件,包括子目录,采用宽度优先遍历还是深度优先遍历好,为什么?
微软面试有感
实习生转正面试:
1. 以问项目为主,出的两道写代码的题,非常简单(类似atoi之类的题,恕不能透露原题,但题目基本都涵盖在 编程之美 等类似算法书上,原题!!当然不排除也会有难题,动态规划),核心代码就5-6行左右。
2. 微软面试非常注重细节,务必保证写在纸上的代码能够正确运行,所有边界条件均需仔细斟酌考虑。考官有可能会跟你一起double check代码的正确性。鄙人写了一个程序,自认为太简单了,没有做任何检查,就交给考官,在考官验收过程中,连续发现3个bug,改了三次,后果可想而知。直接挂掉了。。。
3. 对于内推面试或正式校招,估计会有基础知识的考察。
Hulu电面
自我介绍,自己选择一个项目进行介绍,问得不是很细。
算法题:
1.给一个各个数字不相同的数组,求满足数组中两个数字和等于k的对数。
排序O(nlogn)+前后指针扫描O(n)。
然后又问已经排好序后,要是求两个数字差等于k怎么做,保持O(n)复杂度。囧,想了一会儿,没得到正确结果。后来才发现跟求和相差不是很大,两个指针同时从起始位置走就行了。
2.在地球上向南走一公里,向东走一公里,再向北走一公里,到达了原来的位置,问地球上存在哪些这样的位置。
北极,然后让证明,后来又让我仔细想想还有没有可能,想了半天,在面试官提示下才想出完整的答案。
(1)、北极点;
(2)、很靠近南极点上一个圈上的任意点,它满足:当你向南走了1公里到达P点后,再向东走一公里时恰好绕了纬线一圈,回到了P点,再向北走就行了;
(3)、很靠近南极点上一个圈上的任意点,它满足:当你向南走了1公里到达P点后,再向东走一公里时绕了纬线不是一圈,而是好几圈(可以是任意多圈),回到了P点,再向北走就行了。
3.一个二维数组,每个位置上有值,从左上角到右下角只能向右走和向下走,问经过路径的和的最大值。
典型的动态规划O(nm),答完了后,又问要是两个人同时走,如果有路径交叉,只累加一次怎么做。
提出几种方案被否决后,最后又是在面试官提示下才找到正确方法,时间复杂度是O(nmnm)。杯具了。
阿里巴巴面试
阿里巴巴一面
如何理解大数据
竞赛和项目经验
问了一下ACM/ICPC亚洲区域赛的情况及银奖的份量?
再问了某项目与其它类似系统的区别及其优势在哪?
又问了某项目的用途、主要实现及复杂度?
你觉得最有挑战性的问题是什么?这个问题跪了
基础知识
多进程和多线程的区别?进程间是如何通信的?
进程间共享内存的机制是怎么实现的?
网络分为那几层,TCP/IP分别在那一层?
C和C++中的内存管理?在栈中最大可分配多大的存储空间?堆和栈?第二问跪了,俺的64位Linux是8MB?
C++中的抽象类,java抽象类和接口的区别
C++中static关键字的几种用法
java中的模板
算法与数据结构
倒排索引中如何求不同关键字对应文档的交集? 跳表?跳表每一跳的有多长?根号n被鄙视了
给定一个词典,有10W个中文单词,统计出一篇文档中出现的所有单词?中文不好处理,设计的trie树被鄙视,面试官的提示应该是用HashTable,但复杂度也不低。
随机抽样,有一个1亿行左右的文件,如何从文件中随机抽取100行?蓄水池抽样?
求两个字符串的最长公共子串(连续)?后缀树?代码是写不出来的,O(m*n)的动态规划还是比较好想到的。
hash和B树相比的优缺点
平衡二叉树
快速排序的平均时间复杂度,最好最坏时间复杂度
将char* a 复制到 char * b,怎样保证一定复制成功,在有内存重叠的时候,a字符串可以被破坏掉
阿里巴巴一面题目(三个不同的来源)
项目外只有一题:如何实现哈希表
项目外只有一题:检测回文字符串
项目外一个题都没问,基本是在闲聊。黑板上有好几个c++的题,看清了四个:
strcpy和memcpy的区别,new和malloc的区别,const int *p, int const *p, int *const p的区别,sizeof(i++)i的值。
剩下的问题基本就是:除了c++还会什么语言?会不会hbase?择业考虑哪些因素(工作内容?团队?薪水?户口?)?如果所有的互联网公司都给你offer你会选哪个?
阿里二面
二面有三个面试官(其实有四个,一个hr打酱油的,很随意得靠在旁边的椅子上),两个技术人员,一个hr。
第一个面试官主要问项目
问曰:你感觉你做的最有成就感的一个项目是啥?为啥?
答曰:一个分类项目,通过这个项目我学会了整个分类问题的流程。
问曰:仅仅熟悉了流程有什么好兴奋的,说说技术上你有什么收获?
答曰:把书本知识运用到了实际。(对方一顿鄙视,心中万匹草泥马飞奔了起来)
问曰:你这个分类问题里面用了什么模型?
答曰:GBDT。
问曰:为什么选用这个模型啊?
答曰:头儿指定的(其实这个是对模型理解不深,没有说出个道道来)
问曰:feature选取使用了什么方法啊?
答曰:使用了决策树剪枝~(唯一一个没有被鄙视的问题)。
问曰:你觉得你更适合哪种工作啊?(这问题有点宽泛)
答曰:我适合给一个问题,然后自己考虑去解决(尼玛,不该这么答啊!接下来就是sb15分钟了!)
问曰:那好,给你两个词“校园”,“招聘会”你衡量一下两个词的相关度。(完蛋玩意儿,不熟悉,随便扯吧,但是还是有很长时间的冷场,一直在纸上画画)
答曰:总体来说我提供了三个思路吧:
1,计算P(A|B)的概率分布,这个思路不太对,但是我也推到了一番,估计推导的过程那人是认可的,但是推出来的东西没啥用
2,计算P(A,B)这实际上就是计算AB的一种共现的次数(对方也不置可否,估计思路太简单了)
3,计算P(A),P(B)的KL距离(这个被对方一顿鄙视,然后说没道理)。
第二个面试官问了C++,设计模式、编译相关的问题。
问曰:项目中用到了什么设计模式?特点?
答曰:工厂模式,不用关心工厂内部是如何产生对象,可以不用改变调用代码。(还不知道答案对不对,感觉肯定不是全对也不是全错,对方想了想,也没啥反应)
问曰:c++中纯虚函数是否需要有默认实现?(尼玛,不会)
答曰:不需要。分析是总要有一个类来实现这个纯虚函数,这个函数才会被调用,所以默认实现也用不上(对方想了想,难道他也不知道?进入下一题)
问曰:链表查环? (故作思考,随便画了几个节点)
答曰:两个指针追赶。 (对方也很配合演好这出戏,想了想,没反应)
HR提问
问曰:你本科成绩好,为啥?
答曰:从实践中理解了书本内容。
问曰:理解多还是实践多?
答曰:理解了以后不用死记硬背。
问曰:那这么说你比较聪明?
答曰:不算是(表谦虚),从实践中理解。
问曰:那主要是实践?(尼玛,有完没完,一直问!)
答曰:嗯,还是实践多。(赶紧结束这个问题)
问曰:你有啥缺点?(想了好久,不能直接回答,来个委婉的吧)
答曰:有些工作刚接手的时候没意识到重要性,后来意识到了,如果能一开始就意识到,可能工作会开展得更好。(心想这个答案总可以了吧,自己想去)
问曰:那是神马导致你这样呢?(万只草泥马啊!想了好久。。。)
答曰:态度!(出口就后悔!怎么能说态度有问题,得~)
百度面试有感
百度垂搜一面
首先聊了15分钟左右的项目经验
随后是C++问题:
printf是干啥的,能否打印到文件中(貌似应该用fprintf才能打印,在linux上可以通过shell将信息打印到log文件中)
C++ namespace 的作用
C++ 多态是什么 怎么实现函数的覆盖
再然后是数据结构
单链表实现快速定位中间元素
快速实现找到几个最大元素 (构建大顶堆)
最后是海量数据处理:如何在1千万条重复的短信中去除重复的
百度基础架构(两面)
一面:
自我介绍
项目:先把项目聊了一遍,巨细无遗(性能参数记错好几个,囧),大概40分钟
题目:矩阵相乘如何并行(逐步加限制,直到我没招了),大概10分钟
闲聊:另外问以后希望做什么,平时都看些什么书
二面(也可以叫三面?15分钟左右):
聊了聊研究生阶段有什么感受,有哪些收获,代码能力有没有进步,有没有带人做项目的经验
是否有时间实习
最后是有什么要问的&介绍一下组内目前情况
百度LBS搜索部-数据挖掘(三面)
一面:
自我介绍
项目介绍
针对简历的内容,主要讲了两个项目,占了大部分时间
基础题
感觉都比较基础:C/C++基础,多态的实现,inline函数和宏;
vector和list容器的实现(这个我答得不好);
线程与进程的区别,线程的优点,加锁;
Transaction的含义(我就说了原子性),如何回滚后防止读脏数据(经提示,要加锁,感觉这个题目有问题,和面试者讨论了下)。
算法题
估计没时间了,就问了一个:上楼梯只能每次只能上一个阶梯或两个阶梯,要写代码输出所有上楼梯的方法。
二面:
都是项目经历,遇到的问题是怎么解决的。
三面:
项目
代码行数,自大学到研究生做的东西罗列了一下。
搜狗面试
搜狗一面:
面的很糟糕, 笔的也很糟糕
几个没做上来的题
p()是一个概率生成器,有p的概率生成0,1-p的概率生成1,问如何实现g()生成均匀的0、1分布
平面上以x,y轴进行分割,开始的时候平面中有n个长方形区域,区域间可能存在相互覆盖。
问有没有一种方法,求出随机到来的一个点究竟落在哪几个区域中。
Google面试有感
Google Phone Interview
自我介绍
问项目
项目有多少人参与
有多少用户使用
在项目中担任的角色,完成的工作
项目中遇到的最困难的问题是什么
Google Docs上做题
在循环有序数组(原来有序的数组进行了一次旋转,比如89 99 103 111 3 5 8 12 22 28 39 45 49 66 78)中查找一个数,这个也是个经典的面试题,是二分查找变种,思路知道,但没写过代码,敲代码时思路不太清晰,写了挺久的
给你10亿个URL,这些URL属于1亿个不同的domain,举个例子,https://docs.google.com/document/d/ 这个URL的domain是docs.google.com,内存的限制是1GB,磁盘空间无限制,你可以对数据进行任意的预处理,之后会有很多个查询,每个查询的输入是domain,输出是属于这个domain的所有URL,比较土的方法可以用hash+外部排序,当前脑子一片空白,想不出外部排序,还扯了B树之类的结构
面试的时间是45分钟,总之就是悲剧了
相关文章推荐
- 某视频互联网企业 校招面试
- 研究生互联网企业面试刷题信息渠道
- 程序员求职之道(《程序员面试笔试宝典》)之企业面试笔试攻略(互联网)?
- 著名的互联网企业的面试笔试真题
- 程序员求职之道(《程序员面试笔试宝典》)之企业面试笔试攻略(互联网)?
- 面试互联网企业Android开发工程师的一些面试题
- 程序员求职之道(《程序员面试笔试宝典》)之企业面试笔试攻略(互联网)?
- 互联网企业部分面试笔试真题以及考察知识点总结(一)
- [心得]传统IT转互联网面试经验分享
- 第三届中国互联网安全领袖峰会举行,企业网络安全成热点
- 企业APP如何才能在移动互联网平台展翅高飞
- 【读图】中国互联网上市企业分析
- 1小时刷完 LeetCode链表题,获取企业面试密钥
- 企业生活12大颠覆性技术:移动互联网居首
- 利用openstack建设适合中小型互联网企业的私有云(二)
- Java后台-面试问题汇总:历时20天,主流互联网公司面试经历
- 国内知名互联网企业开源项目简介及Git位置
- 俞炜:互联网企业研发微创整形术
- 细数互联网企业组织架构大调整
- 从互联网大会看互联网企业的社会责任