由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
SanFrancisco版 - 刚刚和L的同胞电面完, 觉得是个很好的故事 (转载)
相关主题
面完fb,结果已经出来了,share下被拒的原因(请转jobhunting版 (转载)谁对云计算产业链比较熟悉? (转载)
马小三咨询法律zt: 抛砖引玉:如何更环保的装修(湾区)
为什么在公司不能发邮件给自己有做analog设计的吗?有些问题请教。
要买的房子3个 blocks from future Bart 线, 会吵吗?最近是比较乱 facebook门口今晚发生枪战
说说自己被国人帮助的经历 (转载)硅谷印度裔商人因H1-B 工作签证作假被捕 (转载)
NUMMI场地后续, Fremont又蠢蠢欲动建球场!![Software Engineer 内推] 某投行核心技术组位置
OSH这个星期六/日免税How do other countries handle their trash
百万豪宅买$60二手床,这样有钱人生活有意思么?老人膝盖下部红肿疼痛,急求医生信息
相关话题的讨论汇总
话题: buffer话题: block话题: location话题: size话题: abstract
进入SanFrancisco版参与讨论
1 (共1页)
c*********l
发帖数: 3438
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: advancedhei (高级嘿), 信区: JobHunting
标 题: 刚刚和L的同胞电面完, 觉得是个很好的故事
发信站: BBS 未名空间站 (Thu May 14 14:25:31 2015, 美东)
国人哥们主面, 小印跟班. 面Backend infra
给了一道这样的题
/*
Question Description: You are to write an abstraction layer for a persistent
buffer. Provide an implementation of the following abstract class:
*/
public abstract class pBuffer {
protected final int BLOCK_SIZE = 1024;
protected final int BLOCK_COUNT = 1024;
protected byte[] buffer = new byte[BLOCK_COUNT * BLOCK_SIZE]; // A sample
1mb buffer, to be allocated in 1k chunks.
public pBuffer() {
fillBufferFromFile(); // Reads the buffer from file and dumps the
contents into the array, restoring the state to what it was when onShutdown(
) was called
}
// Returns a Location for a free block of the buffer, suitable for passing
to put, get, and free
public abstract Location allocate() throws NoAvailableSpaceException;
// Stores up to BLOCK_SIZE bytes of data in location l. Data beyond BLOCK_
SIZE bytes should be truncated
public abstract void put(Location l, byte[] data);
// Returns the BLOCK_SIZE bytes of data stored at location l, or null if l
is unallocated
public abstract byte[] get(Location l);
// Indicates that an area of the buffer is no longer needed, and can be
reused
public abstract void free(Location l);
// Called on shutdown
private void onShutdown() {
writeBufferToFile(); // writes the full contents of the buffer to disk,
for reading when later invoked by the constructor
}
}
要求实现allocate, put, get, free的内容. 已知条件, pBuffer这个类在初始化过程
中已经调用了fillBufferFromFile. 此外有个onShutdown()函数要把buffer的内容写到
disk.
给完这个题目, 我读了一下题目, 就开始讨论. 说实话我并不是特别理解这个问题, 因
为初始化中已经读入了文件. 所以这四个函数的目的并不是要操作文件以及对应的
buffer本身.
国人面试官的态度让人觉得特别居高临下, 问他问题, 他就说, comments上面不都写了
吗, 你仔细读一下comments; 我就问, 那fillBufferFromFile在写入的过程中, 有没有
写入什么metadata? 他说, fillBufferFromFile()只是个API, 不用你实现; 我又问,
有没有返回什么辅助数据结构让你能标志哪些buffer被用了, 哪些buffer是free的, 他
的回答是这就是要你想啊...
各种沟通无果, 最后还是小印出来给了些提示, 说你想想是不是可以在buffer里面找个
空间记录一些信息. 我于是觉得可能涉及到位运算. 但前面的讨论已经花太多时间了,
也就草草收场.
一些感受, 首先肯定是自己学艺不精了. 但是, 这位同胞, 你出这种题目有意思吗? 说
句实话, 我自己的工作经常用到byte[]数组的操作, 写个circular buffer, memcopy不
是什么问题. 但这样一道大题, 还吝啬给提示, 让我反复猜题意, 我只能苦笑了. 谁让
你们L家就是牛呢
f*****g
发帖数: 112
2
原帖的回帖中,
面试官出来解释原因了。
不过个人觉得,对于自己人,没有必要在技术上过不去。
f********s
发帖数: 526
3
是挺mean的. 面试官的一个职责就是要保证被面试人正确理解题意.
V********s
发帖数: 1391
4
When fear hurts you, conquer it and defeat it!
1 (共1页)
进入SanFrancisco版参与讨论
相关主题
老人膝盖下部红肿疼痛,急求医生信息说说自己被国人帮助的经历 (转载)
如何赶跑放假小孩 (转载)NUMMI场地后续, Fremont又蠢蠢欲动建球场!!
H1B 被雷,求referOSH这个星期六/日免税
号外号外 气床倒闭倒计时开始 (转载)百万豪宅买$60二手床,这样有钱人生活有意思么?
面完fb,结果已经出来了,share下被拒的原因(请转jobhunting版 (转载)谁对云计算产业链比较熟悉? (转载)
马小三咨询法律zt: 抛砖引玉:如何更环保的装修(湾区)
为什么在公司不能发邮件给自己有做analog设计的吗?有些问题请教。
要买的房子3个 blocks from future Bart 线, 会吵吗?最近是比较乱 facebook门口今晚发生枪战
相关话题的讨论汇总
话题: buffer话题: block话题: location话题: size话题: abstract