g********d 发帖数: 19244 | 1 ☆─────────────────────────────────────☆
qqzj (小车车) 于 (Thu May 16 12:58:15 2013, 美东) 提到:
我还是先抛砖引玉。
半径:
假设车做匀速直线运动,轮子上的力要抵消风的阻力。阻力是一定的。所以轮子上的力
是一样的,但是大半径的轮子需要轴上的力更大(杠杆原理),所以engine rpm 要高一
些(普通na engine)。rpm高了,engine是否efficient要看rpm 的阶段,所以在engin
e最 efficient的rpm之下,是大轮子省油。之上是小轮子省油。考虑到一般efficient
rpm在 55-60 mph,一般开车在65mile以上cruise,所以应该是小轮子省油。对不对?
☆─────────────────────────────────────☆
qqzj (小车车) 于 (Thu May 16 13:13:31 2013, 美东) 提到:
下来是加速。这个简单,假设从零开始,full throttle,engine在最大torque的地方,
这样同样是杠... 阅读全帖 |
|
k***g 发帖数: 7244 | 2 R 是一个免费开源的统计软件,一般搞统计或者计量的用的很多,因为很灵活,网站是
: http://www.r-project.org/
直接下载 windows 版本安装就可以了,然后运行下面的 code:
install.packages("foreign")
#安装 foreign library
library(foreign)
#加载 foreign 这个library
dat1<-read.spss("path/file")
#读入你的 SPSS 数据,暂时命名为 dat1
write.csv(dat1, file="path/file.csv")
#把 dat1 写成 csv 格式数据
这样就可以了,不需要太多 R 的知识 |
|
g****7 发帖数: 192 | 3 应该说,旧model做出的结果是错的。因为数据读入的不对。 |
|
i*****y 发帖数: 3449 | 4 基督教同志神学之起源
传统中的同志
英语同性恋一词,在语意学中已带有鄙视、仇恨之意味,就欧美各国而言,基督宗教(基督教与天主教)的主流论述中对异性恋的高举与对同性恋的谴责,是造成西方人憎恶同性恋的心理基础。西方主流教会自中古世纪掌握一切政教资源后,便开始厉行排除异己,包括非白人、非基督徒、非异性恋、贬抑女性地位等。同性恋在此之后,成为人人可诛的低等生物,近代以来,因大众传播媒体的兴起,各式同志平权运动兴起,各教会领袖也站起来呼吁信徒抵抗同志运动、出版大量“医治同性恋”的书籍:一方面它们强调“爱”、“包容”,对同志施以柔性诉求;另一方面又坚持同性爱是“罪”,提出许多“前同性恋者”被“医治”而脱离“罪恶”的见证。
传统教会对于要求同性恋“悔改”所持的论点整理如下:
“根据圣经”,上帝“不喜悦”或“憎恶”同志。
同性恋是后天环境不良、人为堕落的结果,并非上帝美好的创造。
同志必须“悔改”并“放弃”自己的性倾向才能得救,从事矫治“同性恋罪恶”的人,认为她/他们在“为神争战”。
后现代社会的兴起
后现代主义在二次大战后兴起,相... 阅读全帖 |
|
m*****f 发帖数: 1243 | 5 我对这题有点不明白
given a matrix(assume it is a bitmap), print all cells that is on.
是用一个map存储1的个数然后一个byte一个byte的读入吗? |
|
r**u 发帖数: 1567 | 6 1. 先对all available phone numbers 构造一个bitmap,把这个bitmap写成文件
bitfile。
bitfile logical divided into pages of size of 1MB
检索的时候,给一个电话,e.g., 8008997654,找到这个number在bitfile的哪一个
page,
8008997654/1MB。然后move文件指针到这个page,读入这个page,check这个number
在不在
这page里。
2. 题目不明白,calloc? |
|
|
z*****9 发帖数: 86 | 8 这个如果你知道总行数,那么随机选一行打印就可以了。那位中国哥们提示了我好一会
,后来做出来了。基本上,如果你已经读入了n-1行,当读第n行的时候,以概率1/n把
这行存到内存中。等整个文件读完后把在内存里面的那行打印出来。 |
|
p********7 发帖数: 549 | 9 先把可以用的内存分成5部分,每个部分占用Km空间。
先把数据读入M1并且从2头到中间来判断
M1满了,存M2,并且M1从头开始,M2从尾开始判断
M2满了,存M3.新的数据继续读到M3.
M3满了,就把M2存到file1.然后新的数据读到M2.
M2满了,就把M3存file2,读新的数据到M3.
如果M1,和M2,M3的数据都没问题,需要读file的文件继续判断,就把需要的file读到
M4,M5
file的数序是从2头到中间。 |
|
|
c*r 发帖数: 278 | 11 为避免创建大量临时文件和写文件,可以只统计每个bucket里数的个数,确定bucket
range后再扫描一遍把属于目标bucket的数读入memory.
这个解法的一个前提是数据分布比较均衡。否则的话需要细化bucket,重复同样步骤。 |
|
p********7 发帖数: 549 | 12 内存明显不够的,我觉得这个题结合大量数据存储的思路,用max-min heap做就出来了。
思路大概是把数按照大概大小分堆,比如你有7个G的数据,先获得数据range 分布,比
如数据低于-1000的数据有1G,-1000到1000有2G,1000到5000有1G,5000到10000有2G
,10000以上1G,然后就知道中位数是在1000-5000,然后再把文件分批读入内存,然后
把这个范围内的数据丢到MAX-MIN heap,不就得到答案了么? 思路大概就是这样,我
觉得1G个int也太多了,可以再次细分一次也就出来了。 |
|
p*u 发帖数: 136 | 13 第三题没啥好的想法,目前更倾向于用的方法是:
Facebook应该不止会计算一个月以内访问量最大的N个网页,一定也会计算一周以内,
一个季度以内或者一年以内的吧。
所以,我想是否应该都记录下来这样一些信息呢?前K天的各个网页的访问量。由于
timestamp都是排序好的,所以有前K天推到前(K + 1)天,也是很方便的。把这些数据
都写到磁盘上,用的时候再读入内存就好了。
那样要计算某一个区间[a, b]内的网页访问量的时候,就直接用前b天减去前(a - 1)天
的就好了。
现在已知了某一个区间的网页访问量之后,要求访问量最大的N个网页。可以用一个大
小为N的最小堆的结构。当发现某个值大于堆顶元素的值是,弹出堆顶元素,把当前这
个值压入堆中。这样把所有访问量扫一遍,最后留在堆中的就是最大的N个了。 |
|
|
n*******r 发帖数: 22 | 15 what's wrong with cin?
cin >> m[i][j]; |
|
q**r 发帖数: 611 | 16 不懂 :( 这个哪里是矩阵呀。。 其它元素都是0吗。。
顺便问一下, c++有sparse matrix的处理方式吗? |
|
p********7 发帖数: 549 | 17 如果marked了,没有release,如果下面读入的也需要mark就不用了。其实mark就是一
个int mark; 开始的时候mark == 中间那个轴,前面一个int的位置。如果下一个仍然
是对称,就mark--,当mark==0,表示就回文;如果不对称,mark=-1;就release了。
previous |
|
y*********e 发帖数: 518 | 18 对于磁盘读写,sequential seek速度比random seek要快1~2个数量级。所以,减少
磁盘读写overhead的首要任务是尽可能的进行sequential seek。
假设没有RAID:
若是有2枚硬盘,那么用一个盘读,一个盘写,就可以做到最大化的sequential seek。
从一个盘读入欲排序的文件,用另外一个盘做临时盘存放临时文件。
若是只有一枚硬盘:尽力的提高 IO Buffer,也可以减少disk random seek。
能用到SSD或者RAID也是很不错的。
若是RAID,用RAID0和RAID5能提高速度,原理是用多枚硬盘同时读写。 |
|
s*******r 发帖数: 47 | 19 楼主的做法好像是:读入数据时(任何时刻),实时的把读到的每只股票价格插入到
linklist中(如果大于当前满linklist中最小值),剔除当前最小值。
你的意思是? |
|
x**y 发帖数: 1086 | 20 多谢各位,还有个问题就是如果这样做的话,每个integer读入内存的次数的上限应该
怎么确定啊 |
|
w********l 发帖数: 154 | 21 在本版潜水了很久,今天拿到Offer了,回报一下,反正没有签过保密协议:)
不记得所有的题了,尽量罗列吧:
电面:
thread是系统实现还是程序实现的
static
程序运行时,内存是怎么样的?stack, heap....
有无限长的一列数,每次读入1个,始终保持至今最大的10个数,怎么实现?heap。
onsite:
实现Hashtable, 要具有expand功能
int (*a)[10]; a++; a指向哪里?指向原来位置+10个int
一组2维坐标的点。找出一组edge,使得所有点都能相连,并且minimize sum(length(
edge)).
int sqrt(int n),返回平方根。注意返回的只需要整数部分。不要求效率。只要code
尽可能简洁。(linear search)
其他问题:
why bloomberg? why not bank IT? why not quant? Describe one project....
应该就从了。不想再找了。有一起的朋友站内联系:) |
|
d*********g 发帖数: 59 | 22 有无限长的一列数,每次读入1个,始终保持至今最大的10个数,怎么实现?heap
请问这个是heap sort吗? |
|
c*e 发帖数: 15 | 23 因为没见过这个题,所以想了好半天才答上来
面试感觉一般,答得不顺利,move on了
一个很长的text文档,怎样遍历一边,随机输出其中的一行
限制:
1.只能遍历一边
2.随机均匀分配
================
我的答案是:
保存已经遍历的行中的一个preLine
每读入第n行,在line_n和preLine中选一个,update preLine.
line_n的概率是1/n, preLine的概率是(n-1)/n
读到文件尾return preLine. |
|
c**j 发帖数: 103 | 24 软件 position。
1.software localization (不同语言自动实现,不是定位)
how to translate characters from English to Chinese? (问题好像不是这样,实
在没明白, 大概是如何实现language localization)encoded in UTF-8
what is UTF-8? how many bits.
2. have a very very large text file, how to transfer (read in) to memory
using the least memory... 也没太明白。。。
我说了divide and conquer, 之后又说考虑cache hit rate...
问如何 Divide,他说只能sequencial 读。这样貌似只能小块读入,然后clear,然后
再读?? 考虑压缩?? |
|
s*******t 发帖数: 248 | 25 没太明白用多个服务器的话,为什么要用两个hashmap,这两个map都是如何定义的?一
个应该是itemID 和count,另外一个是?
读写文件慢的话,是先批量读入读出吗? |
|
y*******i 发帖数: 100 | 26 读入一系列 string 对象,直到同一
个单词连续出现两次,或者所有的单词都已读完,才结束读取
string preword,currword;
while(cin>>currword){
if(preword==currword){
cout<<"the word is: "<
break;
}//end if
else preword=currword;
}//end while
if(currword.empty()||(currword!=preword))
cout<<"there are no adjacent words are the same"<
有重复单词测试成功,但是如果输入一系列没重复单词的单词,总是打印不出"there
are no adjacent words are the same",为什么呢?找了半天找不出逻辑错误。
谢谢各位。 |
|
g*****k 发帖数: 623 | 27 17万行的数据应该不需要你做高深的优化。
应该可以直接读入内存操作。上了billion再考虑如何分块使用buffer |
|
i***k 发帖数: 45 | 28 就是说,直接当做数组读入数据先,然后直接访问数组数据来进行内插和外插?
(interpolation extrapolation)
那就简单多了! 多谢! |
|
|
y*******g 发帖数: 6599 | 30 无法读入内存,
一行大于1G不用考虑把
感觉类似merge sort, 只不过以前的sort/compare都改成shuffle就好了
把文件分成 N部分,每个分别shuffle, 然后merge的时候从N个文件里面随机去一个
的问题? |
|
d*******u 发帖数: 186 | 31 我回答第一题:
我假定a bunch of phone numbers是可用的电话号码。
初始化: 读入所有的电话号码建Trie (只需要十个分支,0~9).
IsNumberTaken(phone #) {
用phone #查询Trie如果能走到叶子,说明phone #可用,not taken,
return false.
else true.
}
GiveMeANumber() {
//从Trie中取出最左边的号码,返回该号码。
//也可以从Trie中取出随机的号码,返回该号码。
//对每一级节点,随机选一个分支。
//从Trie删除该号码。
}
ReturnBackANumber(phone #) {
把phone # 插入Trie中。
}
You
in |
|
y*******g 发帖数: 6599 | 32 无法读入内存,
一行大于1G不用考虑把
感觉类似merge sort, 只不过以前的sort/compare都改成shuffle就好了
把文件分成 N部分,每个分别shuffle, 然后merge的时候从N个文件里面随机去一个
的问题? |
|
d*******u 发帖数: 186 | 33 我回答第一题:
我假定a bunch of phone numbers是可用的电话号码。
初始化: 读入所有的电话号码建Trie (只需要十个分支,0~9).
IsNumberTaken(phone #) {
用phone #查询Trie如果能走到叶子,说明phone #可用,not taken,
return false.
else true.
}
GiveMeANumber() {
//从Trie中取出最左边的号码,返回该号码。
//也可以从Trie中取出随机的号码,返回该号码。
//对每一级节点,随机选一个分支。
//从Trie删除该号码。
}
ReturnBackANumber(phone #) {
把phone # 插入Trie中。
}
You
in |
|
A**u 发帖数: 2458 | 34 大牛 能不能讲解一下
这个算法为啥是对的? 我看不懂.
假设栈里元素为 AB. (B>A)。
读入C, C < A
那么 AB 都pop出.
难道不存在这样的可能性吗: 将来某个时候,可以以A开头,形式最大的面积? |
|
l*****a 发帖数: 14598 | 35 假定你访问过一些item,设计数据结构使得每次新读入一个item,
你可以判断是否已经访问过,已经访问过的话,更新他的访问顺序
新则插入
只能保存一定数目的item,如果到上限了
删掉访问时间距离现在最久的 |
|
i******r 发帖数: 793 | 36 程序是从文件读入数据还是标准输入
我貌似没看到这个说明。。。 |
|
d*******r 发帖数: 806 | 37 谢谢各位
其实不需要page by page
可以多线程读入
但是得考虑资源优化
而且最终的结果是单词尾随所有页数 |
|
b*2 发帖数: 94 | 38
G
那这种情况下,因为expected user是developer本身,操作环境也是可控的,所以只考
虑基本功能的实现。
Demo->Web App
根据要展示的基本功能进行测试,是否function well, 在正常操作&&正常输入的情况
下是否有unexpected result/error
Usability: 每个UI 控件,例如点击Btn是否按照预期有相应的结果;Exit时候是否整
个app就关闭了;点击Cancel时候程序是退到上一步,还是回到了主界面;TextBox的文
字读入,重新返回某个界面时候,之前输入的txt是否被清空等;Option-Box等等; 界
面上是否有错误的拼写,大小写问题等等;
Web App就会涉及Connection Speed;如果过慢,App performance;如果加入了第三方
API,还要考虑它的稳定性;
这样子? |
|
a******a 发帖数: 2646 | 39 应该有nlgn 算法
struct person
{ start time
end time
}
读入person
按start time binary排序,是 nlgn
如果重叠,修改
struct, 另
person.start =min
person.end =max
合并成为一个记录。 |
|
l*****c 发帖数: 316 | 40 这两天被问到的
有一个program,可以不停的读入数据,需要建立一个数据结构,管理这些数据
有N多个公司,M多个地点,然后每个公司在各个地方都有分部,每个分部有不同
的工资标准,希望用一个数据结构来管理。N,M未知, 可能很大
比如
公司A 公司B 公司C 。。。。。。。
地点A 100 150 200 。。。。。
地点B 140 200 160 。。。。
。 。 。 。 。。。。
。 。 。 。 。。。
。 。 。 。 。。
我想如果直接分配一个矩阵的话,如果公司数量或者地点数量超过矩阵大小,还要重新
分配。
dynamic的话,不是很清楚怎么做,希望高手指点一下。
多谢 |
|
S******t 发帖数: 151 | 41 但是即使是这样的话,那这个题目也是线性啊?
不是直接读入每个单词,parse一下看这个单词是不是由一堆non overlapping的化学元
素组成就可以了? |
|
c****g 发帖数: 85 | 42 external sorting里merge m个已经内部排序的文件。
在内存里建立m个queue。
分别m个文件的数据,然后取m个数字排序写入final file。如果queue空了,再读入。 |
|
|
|
h****n 发帖数: 1093 | 45 来自主题: JobHunting版 - A家面试题 是不算,问题是你输出前面一半之后,后面一半怎么办,你得到的只是两段sorted好的
,而不是整个sorted好的
如果允许重新读入内存做merge sort,那就又回到external storage的问题了 |
|
i***h 发帖数: 12655 | 46 来自主题: JobHunting版 - A家面试题 可以重复读入多次的话,
用bitmap不是更有效率?
不过这样好象有点cheating,
算external storage么? |
|
q****x 发帖数: 7404 | 47 这个yield到底有啥好处?这里的例子怎么省内存了?readlines不还是要读入整个文件
吗?
http://stackoverflow.com/questions/7883962/where-to-use-yield-i
我的理解:
def func_0(input_list):
return [f(i) for i in input_list]
def func_1(input_list):
for i in input_list:
yield f(i)
这两个区别在于,func_0把所有的f(i)算好,返回。func_1创建一个对象,包含input_
list,函数f,迭代子iter。遍历这个对象时,动态计算f(i)。这样看上去只是lazy
evaluation,并没有省内存啊。 |
|
q****x 发帖数: 7404 | 48 有可能。不过几百兆的文件读入内存也没啥压力吧。
真要是超级大文件,派送又慢了点。
returns |
|
K*********n 发帖数: 2852 | 49 啊,这个给挖出来了。我贴了以后没人讨论……
这个给的答案我觉得挺那个的……
就是,word比integer大得多,一般来说。建一个hash table,把vocabulary里面的每一
个word都map成一个int。然后读入数据的时候,查阅hash table,在内存中存储的是in
t而不是word。
然后random access的时候,读的实际上是int,再用另一个hash table,这次key和val
ue反过来了,来查阅读到的int对应的word,就可以了。
这个压缩率是有限的,但是对于题目给的50M vs 100M,要求压缩率为50%,还是可以实
现的。int是4个字节,一个unicode char就是2个字节 |
|
K*********n 发帖数: 2852 | 50 啊,这个给挖出来了。我贴了以后没人讨论……
这个给的答案我觉得挺那个的……
就是,word比integer大得多,一般来说。建一个hash table,把vocabulary里面的每一
个word都map成一个int。然后读入数据的时候,查阅hash table,在内存中存储的是in
t而不是word。
然后random access的时候,读的实际上是int,再用另一个hash table,这次key和val
ue反过来了,来查阅读到的int对应的word,就可以了。
这个压缩率是有限的,但是对于题目给的50M vs 100M,要求压缩率为50%,还是可以实
现的。int是4个字节,一个unicode char就是2个字节 |
|