g*****e 发帖数: 282 | 1 前两天被apple recruiter在linkedin上勾搭,答应试试,今天跟hiring manager tech
interview。结果半个多小时就是把跟recruiter聊的重复了一遍,从简历到prj到
interest。最后说tech question一下,说设计个闹钟,用api可以得到一个有max的硬
件count,和这个硬件count overflow多少次了的软件count。我问是不是OOD,他说给
出怎么得到时间就可以了,我给了个等式,他不置可否就礼貌性结束了。不知道这个题
有陷阱还是就是为了考察communication。
搜了mitbbs和glassdoor没这样的,要么这个不算tech interview吧。apple的hiring
manager不是想招人的那个组的老板么? |
c********6 发帖数: 382 | 2 也算正常,这种很有可能是想把你直接带到on-site, 好好准备on-site吧,Good Luck.
tech
【在 g*****e 的大作中提到】 : 前两天被apple recruiter在linkedin上勾搭,答应试试,今天跟hiring manager tech : interview。结果半个多小时就是把跟recruiter聊的重复了一遍,从简历到prj到 : interest。最后说tech question一下,说设计个闹钟,用api可以得到一个有max的硬 : 件count,和这个硬件count overflow多少次了的软件count。我问是不是OOD,他说给 : 出怎么得到时间就可以了,我给了个等式,他不置可否就礼貌性结束了。不知道这个题 : 有陷阱还是就是为了考察communication。 : 搜了mitbbs和glassdoor没这样的,要么这个不算tech interview吧。apple的hiring : manager不是想招人的那个组的老板么?
|
a***s 发帖数: 440 | |
m*x 发帖数: 31 | 4 这道题主要是考如何同步两个counter,看上去你miss了这个point,good luck and
move on吧。
tech
【在 g*****e 的大作中提到】 : 前两天被apple recruiter在linkedin上勾搭,答应试试,今天跟hiring manager tech : interview。结果半个多小时就是把跟recruiter聊的重复了一遍,从简历到prj到 : interest。最后说tech question一下,说设计个闹钟,用api可以得到一个有max的硬 : 件count,和这个硬件count overflow多少次了的软件count。我问是不是OOD,他说给 : 出怎么得到时间就可以了,我给了个等式,他不置可否就礼貌性结束了。不知道这个题 : 有陷阱还是就是为了考察communication。 : 搜了mitbbs和glassdoor没这样的,要么这个不算tech interview吧。apple的hiring : manager不是想招人的那个组的老板么?
|
g*****e 发帖数: 282 | 5 嗯,收到email被move on了。方便讲讲这里需要怎么同步么?是说读取hardware count
和software count必须是一个atomic operation么。谢谢。
【在 m*x 的大作中提到】 : 这道题主要是考如何同步两个counter,看上去你miss了这个point,good luck and : move on吧。 : : tech
|
w****f 发帖数: 684 | 6 Co-ask
count
【在 g*****e 的大作中提到】 : 嗯,收到email被move on了。方便讲讲这里需要怎么同步么?是说读取hardware count : 和software count必须是一个atomic operation么。谢谢。
|
P**********c 发帖数: 3417 | 7 apple每个组差别很大。没有统一的面试标准。
tech
【在 g*****e 的大作中提到】 : 前两天被apple recruiter在linkedin上勾搭,答应试试,今天跟hiring manager tech : interview。结果半个多小时就是把跟recruiter聊的重复了一遍,从简历到prj到 : interest。最后说tech question一下,说设计个闹钟,用api可以得到一个有max的硬 : 件count,和这个硬件count overflow多少次了的软件count。我问是不是OOD,他说给 : 出怎么得到时间就可以了,我给了个等式,他不置可否就礼貌性结束了。不知道这个题 : 有陷阱还是就是为了考察communication。 : 搜了mitbbs和glassdoor没这样的,要么这个不算tech interview吧。apple的hiring : manager不是想招人的那个组的老板么?
|
m*x 发帖数: 31 | 8 其实这时一个比较有趣也很实际的题目。系统时钟的设计就要解决这个问题。
如果不同步的话,可能会有误差。比如说,硬件计数器的最大值是9。你如果先读软件
计数器值,得到10,然后读硬件值,得到0。你可能会输出10*10+0 = 100作为结果。
但实际上,当你读到硬件的0的时候,软件计数器的值可能已经发生变化成为了11。
简单的解决方案是读三次 + fail/retry,如下面code.
boolean consistent = false;
int m, n;
while (!consistent) {
m = softCounter.read();
n = hardCounter.read();
consistent = m == softCounter.read();
}
return m * (hardCounter.MAX + 1)+ n;
count
【在 g*****e 的大作中提到】 : 嗯,收到email被move on了。方便讲讲这里需要怎么同步么?是说读取hardware count : 和software count必须是一个atomic operation么。谢谢。
|
S*******h 发帖数: 7021 | 9 不懂
consistent = m == softCounter.read();
softCounter read了兩次 那 n值怎都沒用到?
能不能說明一下 這回傳值代表什麼? 原題說要回傳時間 這跟Counter有何關系?
return m * (hardCounter.MAX + 1)+ n;
--------------------
while (!consistent) {
m = softCounter.read();
n = hardCounter.read();
consistent = m == softCounter.read();
}
return m * (hardCounter.MAX + 1)+ n; |
y****8 发帖数: 40 | 10 回傳值代表 totoal的counter数
return m * (hardCounter.MAX + 1)+ n;
原題說要设计闹钟,所以回傳的就是Counter值,然后和设定值比较,到了就可以闹了 |