由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Seattle版 - 刚刚和L的同胞电面完, 觉得是个很好的故事 (转载)
相关主题
转让computer books and textbooks前 Google Wave 工程师说 Google 的软件架构也忒过时了
程序员怎么定义 ’强‘与’弱'?Technical Program Manager - Content & Services
面完fb,结果已经出来了,share下被拒的原因(请转jobhunting版 (转载)被AAA气死了
大家是怎么review写的跟狗屎一样的代码的?【征文】Victoria 游记--(有好多好看的片片)
湾区CS的offer真肥啊 (转载)大家是怎么在网上看电影的?
版已不版10个月的婴儿回国需要买机票吗?
【绿湖轮滑散步活动】总结why do I still get emails from a blocked address?
[合集] Frontier的FIOS一个月多少钱?万能的西版,大家都咋上网看球阿
相关话题的讨论汇总
话题: buffer话题: block话题: location话题: size话题: abstract
进入Seattle版参与讨论
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家就是牛呢
1 (共1页)
进入Seattle版参与讨论
相关主题
万能的西版,大家都咋上网看球阿湾区CS的offer真肥啊 (转载)
Google Search Fully Blocked in China版已不版
Bellevue Crime Map Of August【绿湖轮滑散步活动】总结
今天I-90怎么堵成这个鬼样子啊,以前从来不堵的[合集] Frontier的FIOS一个月多少钱?
转让computer books and textbooks前 Google Wave 工程师说 Google 的软件架构也忒过时了
程序员怎么定义 ’强‘与’弱'?Technical Program Manager - Content & Services
面完fb,结果已经出来了,share下被拒的原因(请转jobhunting版 (转载)被AAA气死了
大家是怎么review写的跟狗屎一样的代码的?【征文】Victoria 游记--(有好多好看的片片)
相关话题的讨论汇总
话题: buffer话题: block话题: location话题: size话题: abstract