IBM 面试回忆 比较惨痛吧(1)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

这几天一直在参加IBM的面试,应该不是统一的校招,是组内招聘,一直没有写这个面经,是因为我感觉不是一篇面经可以总结的,我一直觉得IBM的笔试我就应该挂了,因为除了语言基础和数据结构方面我写的还行,网络和操作系统 还有linux的我完全都忘了或者不会。 我现在在这立一个字据,我真的要开始学linux了,我觉得不会linux,不深入了解他,就像不会编程一样痛苦,我要是感觉还不能掌握linux,我就不结婚了。然后一面是一个和两个女的面试的,一大一小,但是感觉懂得挺多的,他们问的基础一点,在最后解决吧。先从痛苦的二面开始回忆,简直一个被吊打的过程,可以看出面试官是多么厉害,以至于我当时都扛不住了,旁边的那个姐姐都快笑了虐的我。。后来听别人说他是他们的技术大亨,总觉得和这种人在一起工作是一种享受,就像上次阿里一面和二面的那做技术的。在这里我又不得不吐槽一下阿里的三面,视频面试,听不清啊听不清,反复问了好几次。而且问的是我最应付的项目,要写的都写出来了,但是还是给我没通过。扯远了,还是回到今天痛苦的回忆上吧。

面试开始,我先自我介绍,说了我的项目,说完之后,大亨话题一转,你是哪个实验室的,我说高性能,那他说你说下超标量计算机的概念以及和普通计算机的不同。我去。。。这么专业,超标量。。。我不知道啊。。当我吞吞吐吐瞎侃的时候,他已经没有兴趣听了。

下面我给出超标量计算机的一些概念:

超标量是通过内置多条流水线来同时执行多个处理器,以实现一个周期内处理多条指令,其实质是以空间换取时间。思想:多条流水线并行工作,提高指令集并行度。硬件要求多套独立译码电路。多条独立流水线,控制器。


之后,他看我做的项目是多核的,他说多核情况下怎么保证cahce一致性问题,咋说呢,好几次都被问到,我一直就没有和别人讲清楚过,因为我们真的不用在乎caceh一致性,然后我就说我们做的这个没有数据共享,就跟GPU一样不会产生cache一致性问题,然后他说,cache一致性是体系结构中,最基本的概念,你讲一讲大致的模型吧,我在那纠结了半天也没有说出来真的是忘了,我说我记得cache的替换策略,什么的。他就没有逼问我了,下面来总结一下cache的一些基本知识吧。

Every cache line is marked with one of the four following states (coded in two additional bits):

Modified
The cache line is present only in the current cache, and is  dirty - it has been modified from the value in  main memory. The cache is required to write the data back to main memory at some time in the future, before permitting any other read of the (no longer valid) main memory state. The write-back changes the line to the Shared state.
Exclusive
The cache line is present only in the current cache, but is  clean - it matches main memory. It may be changed to the Shared state at any time, in response to a read request. Alternatively, it may be changed to the Modified state when writing to it.
Shared
Indicates that this cache line may be stored in other caches of the machine and is  clean - it matches the main memory. The line may be discarded (changed to the Invalid state) at any time.
Invalid
Indicates that this cache line is invalid (unused).
读请求的条件( except Invalid
A cache line may satisfy a read from any state except Invalid. An Invalid line must be fetched (to the Shared or Exclusive states) to satisfy a read.

  写请求的条件(Modified or Exclusive

A write may only be performed if the cache line is in the Modified or Exclusive state. If it is in the Shared state, all other cached copies must be invalidated first. This is typically done by a broadcast operation known as Request For Ownership (RFO).

丢弃(non-Modified

A cache may discard a non-Modified line (i.e. Shared or Exclusive) at any time, changing to the Invalid state. A Modified line must be written back first.

监听(Modified

A cache that holds a line in the Modified state must snoop (intercept) all attempted reads (from all of the other caches in the system) of the corresponding main memory location and insert the data that it holds. This is typically done by forcing the read to back off (i.e. retry later), then writing the data to main memory and changing the cache line to the Shared state.

监听(Shared

A cache that holds a line in the Shared state must listen for invalidate or request-for-ownership broadcasts from other caches, and discard the line (by moving it into Invalid state) on a match.

监听(Exclusive 

A cache that holds a line in the Exclusive state must also snoop all read transactions from all other caches, and move the line to Shared state on a match.

Read For Ownership (RFO) is an operation in cache coherency protocols that combines a read and an invalidate broadcast. The operation is issued by a processor trying to write into a cache line that is in the shared (S) or invalid (I) states of the MESI protocol. The operation causes all other cache to set the state of such a line to I. A read for ownership transaction is a read operation with intent to write to that memory address. Therefore, this operation is exclusive. It brings data to the cache and invalidates all other processor caches which hold this memory line.





关于这个状态转换的http://blog.csdn.net/muxiqingyang/article/details/6615199这篇文章讲的很不错,我就不复制了。


从结构的角度来看,多处理器系统可以分为共享存储系统,和消息传递系统两类。在消息传递的系统中,每个处理器是单独编制的,二值共享存储系统中,所有的存储器是统一编址的。常见的存储一致性模型包括

严格一致性,顺序一致性处理器一致性 弱一致性 释放一致性等

严格一致性:

任何对一个内存位置X的读操作,将返回最最近的一次对该内存位置的写操作所写入的值。如果我们有很多处理器,没有缓存,通过一条总线来访问内存,那么就我们得到(或者符合)了“严格一致性内存模型”。这里最关键的是精确地序列化所有对内存的访问。

顺序一致性:

对于满足顺序一致性的多处理器的任一执行,总可以找到同意程序在单机多进程环境下的一个执行与之对应,使得二者结果相等。任何一次执行结果都相同,就像所有处理器的操作按照某个顺序执行,各个微处理器的操作按照其程序指定的顺序进行。

处理器一致性:

在任何取数操作load允许被执行前,所有在同一处理器中先于这一LOAD的取数操作都已经完成,在任一存数操作STORE允许被执行之前,所有在同意处理器中限于这一STROE的访存擦走哦都已经完成。

弱一致性:

就是同步操作和普通访存操作区分开来,程序员必须用硬件可识别的同步操作把对可写共享单元的访问保护起来,以保证多个处理器对可写共享单元的访问时互斥的。弱一致性对访存事件发生的次序做如下限制:同步操作执行满足顺序一致性条件 在任一普通访存操作被允许之前,所有在同一处理器中先于这一访存操作的同步操作必须都已经完成。在任一同步操作被允许执行之前,所有在同一处理器中限于这一同步操作的普通访存操作都已经完成。

弱一致性:

是对弱一致性的改进,它吧同步操作进一步分成获取操作acquire和释放操作release acquire用于获取对某些共享存储单元的独占性访问权,而release则用于释放这些访问控制权。释放一致性模型对访存事件发生的次序作如下限制:同步操作的执行满足顺序一致性条件; 在任意普通访存操作被允许之前,所有同意处理器中先于这一访存操作的acquire操作都已经完成,在任意release操作被允许之前,所有在同一处理器中先于这个release的普通访存操作都已经完成。


什么是cache一致性协议

cache一致性协议是吧某个处理器新写的值传播给其他的处理器一确保所有的处理器都看到一致的共享存储内容的一种机制。cache一致性协议都是为了实现某种存储一致性模型而设计的,存储一致性模型对cache一致性协议提出了一致性要求,即cache一致性协议应该实现什么样的一致性。例如在释放一致性中,一个处理器对共享变量写新值时,其他处理器只有等到该处理器释放锁之后才能看到;而在顺序一致性中,一个处理器的值会立刻传播给所有的处理器


IBM面经-给想进外企的人的一个参考 IBM面经,希望给有志于进跨国外企的人一点帮助!!!!!!! 立即下载

相关推荐

IBM蓝色之路暑期实习面试归来

IBM蓝色之路暑期实习笔试、面试全过程。

ibm入职测试题太难了_英国学姐IBM面试+笔试全记录

逸立学员:Amanda 英国 Top 20 学校最终 Offer :IBMAmanda 自述我先说一下本人情况,在英国上的本科,学校不是特别顶尖,大学的时候零零散散在一些小公司做过兼职,不过大都没什么名气,大二暑假的时候,通过「逸立学院」的帮助,参与了四大实习。虽然是大二参与的实习,但是实习结束后跟「逸立学院」的导师 Andy 一直保着良好的关系。临近毕业,各种手忙脚乱,找工作便是最头疼的事情,导...

weixin_39926104的博客 1086

我的初面经历: IBM一面

这是一些论坛总结的IBM笔试题汇总,如果有兴趣可以看看

存储器-cpu高速缓存2

先来看一段java 代码 public class test { private static volatile int COUNTER = 0; public static void main(String[] args) { new ChangeListener().start(); new ChangeMaker().start(); } static class Change

zcjluse的博客 203

计算机组成原理:如何让多核CPU的高速缓存保持一致

多核CPU有很多好处,其中最重要的一个就是,它使得我们在不断提升CPU的主频之后,找到了另一种提供CPU吞吐率的方法。 多核CPU里的每一个CPU核,都有独立的属于自己的L1 Cache和L2 Cache。多个CPU之间,只是共用L3 Cache和主内存。 但是因为CPU的每个核都有各自的缓存,互相之间的操作又是各自独立的,就会带来缓存一致性问题。 ps:语言层面解决缓存不一致,可以使用volatile,强制CPU读写都直接访问主内存。(volatile的本意是告诉编译器,此变量的值是易变的,每次读写

OceanStar的博客 3033

记一次IBM面试经历

来北京也有快一年半了,期间

wuyingzhouzhou的专栏 5844

我在IBM的时光碎片1 - 回忆昊海大厦

在昊海大厦工作的那段时间,虽然大多数时间是忙碌的,却是一段充实和充满变化的岁月。IBM来过这里,又离开了,很多人来过这里,也离开了,希望那段时光以某种形式被记录下来。

liyane的博客 731

[书摘]吴士宏曾经这样回忆最初在IBM的岁月

吴士宏曾经这样回忆最初在IBM的岁月:那是1985年,我有充足的理由要走进这扇转门。为了离开原来毫无生气甚至满足不了温饱的护士职业,我凭着一台收音机,花了一年半时间学完了许国漳英语三年的课程。我一直守候着机遇的到来。我鼓足勇气,穿过那威严的转门和内心的召唤,走进了世界最大的信息产业公司IBM公司的北京办事处。面试像一面筛子。两轮的笔试和一次口试,我都顺利地滤过了严密的网眼。最后主考

ChneChen的Blog 2702

面试经验:深圳IBM和另一家上市公司

http://w3.sunplus.com/cn/about/ 那是他们的官网。这家公司上市了。 我面试的岗位是软件工程师,这家公司让我去面试时,我没去。算是爽约了。第二天去了IBM面试,正好离的很近,去过IBM后顺路去了。先是笔试,题目是2012年应届生招聘的题目。题目很多,分三步部分。 A:c基础题目, B:一个关于I2C的C程序源码,读源码答题。 C:英文部分,有阅读理解,翻译。

power的专栏 3266

大学生细述应聘IBM笔试面试全过程

笔试面试的过程回顾 面试一共三场,每场时间都不等,根据题型决定,我的那场是一组矩阵题,一组数字序列题,两组数学推理题。一共需要47分钟,是最长的那一类型。 每一组都必须在一定时间内完成,首先是矩阵题,13分钟,共15道。一共有三个5*5的矩阵,每个矩阵5小题,在我印象中,大概有这样一些:1,把所有的W替换成2,所有的Y替换成6,所有的X替换成4,哪一行和哪一列的和等于18...

weixin_34168880的博客 406

IBM 上海 LBS offer入手总结

(这是两年前写在CSDN上的文章,今天找到了转载过来,毕竟是回忆) IBM 上海 LBS offer入手总结 发表于2015/4/24 4:50:04 1109人阅读 今天下午IBM上海那边的team leader给我打电话,说是已经可以给我这个岗位的口头offer了,后面就是走流程的事情。自己想来,还是应该把这次面试的经过好好整理一下。 IBM的这个职位应该是在微博...

weixin_30487701的博客 109

补记IBM笔试

2006-12-5,收到IBM的笔试通,说2006-12-7在华东理工笔试,本来是不久前在网上校园招聘时投的简历,没想到真的来了通,传说中的IBM,那时很不自信,我们这个学校毕业生能进IBM?反正我就去看看IBM的笔试到底是什么样子,也算见见世面。呵呵,现在想想,那时心态不好。 曾经去过华东理工,但是很久的事情了,所以重新查路线,问我干妹妹蓓蓓,她正好在理工对面的一个小学校读书。转了次车,花...

kissinger_1984的专栏 254

回忆当年阿里的一道 SQL 面试题,亿级表合并

//阿里面试//2010 年,阿里正当红。那年 BAT 的名气还没有现今那么响亮。就业的时候,很多毕业生还是会选择 HP, IBM, EMC, SONY, ORACLE,...

wujiandao的专栏 1058

【求职经历】-JobHuting At IBM 未完成

忍不住要回忆一下自己去年的求职经历,纪念一下自己的经历同时也希望对那些即将或者准备去IBM的同志们好好准备下。有人说关键在平时积累,犯不着临阵磨枪,我想这句话是有适用人群的,至于什么样的人群我想大家心里都有数。投了IBM简历的,很容易就收到笔试通了。我想有个很重要的因素还是要精心准备你的简历,把你的水平都拿出来。初试也就是笔试-》 笔试分为智力测试和技术部分智力测试最著名的就是矩阵测试了,颠来倒

The Way To Great 1444

IBM IPAT笔试题大搜刮

前一阵子参加了IBM蓝色之路的笔试,等了好多天都没什么动静,本来十分郁闷,但论坛上的消息似乎说明哈尔滨地区的好像一个接到面试的都没有,又转念一想当时参加笔试的大多为工大学生,于是就释然了-----跟工大战友死在一个战壕也不错,起码证明我不比他们差 (自我安慰一下,呵呵)。不过回忆起笔试之前四处找题的焦急心情,也替以后参加此类考试的哥们们担心,虽然自己的考试题签了保密协议不能说(说实话也根本记不

hualusiyu的专栏 1026

成都往事之从IBM公司辞职

成都往事之从IBM公司辞职 2015-09-14,是周一, 也是我在IBM公司最后一个工作日。上午一早我就来到公司,办理离职手续。 我其实心情并不好,虽然说早...

415

2014校园招聘回忆

找工作          2013.09.19中秋节从上海IBM回到学校,到2014.01.18参加最后一场面试,整整四个月。最初计划今年回校可能要继续找,现在看来,已经完全没有必要了。在此做一个总结吧。        四个月期间,获得面试资格的单位有23家: 华为、国电南瑞、腾讯、趋势科技、山石网科、中电28所、614所、建行提前批、招商银行、兴业银行、工商银行、南京银行、浦发银行、中国

hello world@2012 4104

面试集锦。

2005IBM实习生笔试回忆http://blog.csdn.net/appleship/archive/2005/05/26/381707.aspx面试一共三场,每场时间都不等,根据题型决定,我的那场是一组矩阵题,一组数字序列题,两组数学推理题。一共需要47分钟,是最长的那一类型。……25日IBM一面回忆http://blog.csdn.net/appleship/archive/2005/05

LongAway 的 CyberLog 1674
上一篇: strtok函数源码
下一篇: C++ map 插入 困惑
ituling
博客等级 码龄14年 6粉丝 11原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值