百度云计算部门面试

本文记录了一次百度云计算部门的面试经历,涵盖了Java基础、操作系统、算法、计算机网络、JVM以及Spark的相关问题。面试涉及for与foreach的区别、32位系统int的取值范围、HashMap源码分析、括号字符串匹配算法、数组最大值查找等技术点。
摘要由CSDN通过智能技术生成

感觉百度部门之间面试都没加锁呢。。一个个部门都开始来面试了。。。

今天面了一个百度的云计算部门,对方是一个姐姐,感觉还挺客气的,说重点吧,讲讲面试的过程,不过感觉那个姐姐就是列了个题目列表,按顺序一个个问的。

(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

//
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值