百度云计算部门面试
2016-08-30 20:36
393 查看
感觉百度部门之间面试都没加锁呢。。一个个部门都开始来面试了。。。
今天面了一个百度的云计算部门,对方是一个姐姐,感觉还挺客气的,说重点吧,讲讲面试的过程,不过感觉那个姐姐就是列了个题目列表,按顺序一个个问的。
(1)for和foreach的区别(从源码角度分析一下)?
答:在固定长度或长度不需要计算的时候for循环效率高于foreach。
在不确定长度,或计算长度有性能损耗的时候,用foreach比较方便。
并且foreach的时候会锁定集合中的对象,期间不能修改。
foreach
for
(2)32位系统int的取值范围?
unsigned int 0~4294967295(2^32-1)
int -2147483648(-2^31) ~2147483647(2^32-1)
十亿数量级的。
(3)HashMap的源码?什么时候扩容?扩容方式?解决冲突方式?
(4)memory copy与string copy的区别?
答:表示不会,没有答出来,感觉是C++的呀。。。
网上搜了一个答案:
(5)【操作系统】页面置换算法有哪些?LRU怎么进行优化?
(6)【操作系统】分页与分段的区别?
(7)【算法题】判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
答:用个栈就行啦,leetcode上的easy难度。
(8)【算法题】一个数组,前半段是递增的,后半段是递减的,找出数组中最大的值?
答:类似于二分查找,丢弃另一半,时间复杂度O(n)
(9)【算法题】最长公共子序列?
(10)【计算机网络】traceroute命令?
(11)【计算机网络】什么时候会进入time-wait状态?
(12)【JVM】什么时候会触发GC?
(13)【JVM】JVM参数设置时newsize代表了什么?
(14)Spark提交任务的整体工作流程描述一下?
(15)Spark如何进行性能调优?详细描述。
(16)Spark设置中executor-memory 和spark.default.parallelism分别代表什么?
(17)数据倾斜的解决方案?
(18)宽依赖和窄依赖的比较。。。
时间:一个小时10分钟
今天面了一个百度的云计算部门,对方是一个姐姐,感觉还挺客气的,说重点吧,讲讲面试的过程,不过感觉那个姐姐就是列了个题目列表,按顺序一个个问的。
(1)for和foreach的区别(从源码角度分析一下)?
答:在固定长度或长度不需要计算的时候for循环效率高于foreach。
在不确定长度,或计算长度有性能损耗的时候,用foreach比较方便。
并且foreach的时候会锁定集合中的对象,期间不能修改。
foreach
//第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a,以后每次再执行 var a in GetList() 的时候 调用 MoveNext.直到循环结束. foreach (var a in GetList()){ ... } var a; IEnumerator e = GetList().GetEnumerator(); while (e.MoveNext){ a = e.Current; }
for
//for 循环每次循环会调用 GetCount() 来比较长度, 而 foreach 不考虑长度,只调用一次GetList()。 for(int i = 0; i < GetCount(); i++) { .... } int i = 0; while(i < GetCount()) { ... }
(2)32位系统int的取值范围?
unsigned int 0~4294967295(2^32-1)
int -2147483648(-2^31) ~2147483647(2^32-1)
十亿数量级的。
(3)HashMap的源码?什么时候扩容?扩容方式?解决冲突方式?
(4)memory copy与string copy的区别?
答:表示不会,没有答出来,感觉是C++的呀。。。
网上搜了一个答案:
1、memory拷贝,根据拷贝的字节个数,从src一个一个字节拷贝到dst,拷贝过程不管src的取值,也不管dst是否能容纳。 2、因此,对于memory拷贝,src中NULL字符(取值为0的字符)后面的字符也能拷贝过去。不管dst是否能容纳,都拷贝过去,会存在踩内存。为了避免踩内存,拷贝的字节个数,需要小于等于dst分配的大小。 3、string拷贝,遇到src的NULL字符结束。因此,strcpy有两个问题特别需要注意:一,src结尾必须要有NULL字符,否则会一直拷贝下去,直到遇到NULL字符。二,dst在src有效长度的基础上,要多分配一个字符,用于保存NULL字符,如果没有多分配这个字符,会导致拷贝到dst的时候,踩一个字节的内存。 4、src没有NULL字符,会一直拷贝下去,直到遇到NULL字符,怎么解决这个问题? 使用strncpy,表示最多拷贝n个字节。如果不到n个字节,遇到src中的NULL字符,结束拷贝,并且从当前点到n位置,补充NULL。这一点和memory拷贝不同,memcpy不管src的取值,都会拷贝n个字节。 5、注意: string src ="abcdabcd"; char* dst = new char[8]; strcpy(dst,src.c_str()); // 踩内存,src多出一个NULL,而dst分配的内存不够 strncpy(dst,src.c_str(),8);// 不踩内存 memcpy(dst,src.c_str(),8); // 不踩内存 strncpy和memcpy不踩内存,但是会导致dst没有结束符。这往往会出现问题,比如dst再拷贝到其他地方。因此,解决办法最好是 dst多分配一个字符,用于保存NULL,并且初始化dst,如下: char* dst = new char[src.size()+1]; memset(dst,0,src.size()+1);
(5)【操作系统】页面置换算法有哪些?LRU怎么进行优化?
(6)【操作系统】分页与分段的区别?
(7)【算法题】判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
答:用个栈就行啦,leetcode上的easy难度。
(8)【算法题】一个数组,前半段是递增的,后半段是递减的,找出数组中最大的值?
答:类似于二分查找,丢弃另一半,时间复杂度O(n)
(9)【算法题】最长公共子序列?
(10)【计算机网络】traceroute命令?
(11)【计算机网络】什么时候会进入time-wait状态?
(12)【JVM】什么时候会触发GC?
(13)【JVM】JVM参数设置时newsize代表了什么?
(14)Spark提交任务的整体工作流程描述一下?
(15)Spark如何进行性能调优?详细描述。
(16)Spark设置中executor-memory 和spark.default.parallelism分别代表什么?
(17)数据倾斜的解决方案?
(18)宽依赖和窄依赖的比较。。。
时间:一个小时10分钟
相关文章推荐
- 百度云计算部门面试
- 2012联发科校园招聘成都手机软件部门笔试&第一轮面试
- 一个拓扑结构题得实现(2011baidu校招研发部门的面试题目)
- 百度网页搜索部门面试经历
- 一个拓扑结构题得实现(2011baidu校招研发部门的面试题目)
- 广告策划部门面试
- 网友的百度移动云可穿戴部门的面试经历
- 记2017年搜狗语音部门实习生面试
- 百度面试实习 LBS部门
- 2012联发科校园招聘成都手机软件部门笔试&第一轮面试
- 2012联发科校园招聘成都手机软件部门笔试&第一轮面试
- 政府部门招聘要交面试费
- 一个毕业生面试的遭遇:高盛EQ/FICC销售与交易部门面试归来
- 今日头条财经部门后台研发实习生面试
- PEG面试部门经验之一
- 某互联网风控部门算法实习生面试
- 百度贴吧测试部门实习生电话面试
- 百度图片搜索部门面试
- huaweiMM部门面试总结
- 搜狐面试题目解析