|
|
|
w****x 发帖数: 2483 | 4
我觉得这题真要问的话给个二分就差不多了,又好写。
基本上写堆栈的感觉肯定是见过了 |
|
w****x 发帖数: 2483 | 5
我觉得这题真要问的话给个二分就差不多了,又好写。
基本上写堆栈的感觉肯定是见过了 |
|
r********d 发帖数: 7742 | 6 btw, 递归不仅仅是存partition point,递归的过程中堆栈会存储所有function call
和相关变量的信息。 |
|
d**********x 发帖数: 4083 | 7 任何function call都这样
不过64bit的堆栈已经大幅简化了 |
|
w***g 发帖数: 5958 | 8 我来说几个c比较tricky的用法吧。
1. Duff's device
send(to, from, count)
register short *to, *from;
register count;
{
register n = (count + 7) / 8;
switch(count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} ... 阅读全帖 |
|
w****x 发帖数: 2483 | 9
一般来说一个线程会有一个堆栈的limit, 比如1MB, 当然这个可以变化, 超过这个
limit就挂了。
好像是这样 |
|
|
t*******i 发帖数: 4960 | 11 其实我说的差不多这个意思,调用函数的时候往堆栈里放东西,返回了 pop out
不过大白话说出来的。 |
|
w****a 发帖数: 710 | 12 "10分钟前面经"系列的第二弹,这次是F家。上次G家的面经上周已发。
First of all, 求Bless!!
Fresh master非牛人,没准备多久因为H1B的愿意硬着头皮上了。
Skype加我的时间比约的晚十多分钟,是个白人小伙,挺随意的。他说看我的简历我以
前的background是游戏和图形开发,他说他以前也是做这个的,跟我说的还挺亲切的,
这个面试官人挺不错。
首先是behavior问题,先问了我过去project中遇到的最大的挑战,然后是问我为什么
选择F家,都是很经典的问题,事先也准备好了。
技术题1. 翻转链表。说实话我还挺意外的,我给出了一个非递归的实现,然后follow
up,他让我写个递归的,我只得另造一个函数。非递归的我应该写的没问题,递归的出
了点小bug,他给我一个用例让我测一下,我看了下发现确实有问题,迅速改对了,他
表示OK。然后又是follow up,问我当链表很大的时候递归方法有什么问题,我告诉他
会导致堆栈溢出。他继续OK。
技术题2. Leetcode的sort color,没什么好说的,只不过leetcode的原题类型是int,
值只有... 阅读全帖 |
|
|
|
r********d 发帖数: 7742 | 15 没错,递归的代码一般现实中都不用。但是对于理解很关键啊。
计算机里边的递归算法不要太多。。。再加上树等等递归结构上的算法,全是递归的。
很多实际中的问题,理解了递归的解法也能帮助给出好的迭代算法吧。
反正很多新问题,先给出递归解,在找迭代解挺好使的。实在不行了再用堆栈模拟递归
。。。 |
|
s********r 发帖数: 403 | 16 把算法按堆栈展开,可以形成一个类似 tree 结构,然后从底向上作 parallel
reduction。
被加数和结果应该做padding, 最好确保存在于不同的 cacheline, 降低 cache
thrashing |
|
l********n 发帖数: 1038 | 17 这两种都是one-pass,算不算都是in-place?第一种用了堆栈,第二种用了辅助空间 |
|
s***e 发帖数: 403 | 18 题目很基础。
第一题考堆栈结构的。参考csapp
第二题queue不能满足list的所有操作,因此是has-a
第三题int y后面花括号少一个分号,const id需要通过构造函数初始化,cout和endl
在std名字空间里。TrackedObject里面的东西全都是private的。Position没有重载
operator<<无法从cout输出。至于Position有没有constructor是代码好不好的标准,
和对不对无关。继承没有标明默认private.theCar.display()中theCar是const的,需
要void display() const。c.id给const成员赋值也是错的。 |
|
s***e 发帖数: 403 | 19 可以参考任何一本数据结构书。
表达式求值的常用方法是用堆栈解决。一个operand栈一个operator栈。 |
|
L*********g 发帖数: 8 | 20 自己维护堆栈遍历(non-recursive)时,需要标记已处理过的node, node class应该
加一个标记的属性。否则很容易陷在push, pop node中死循环。
请参考深度遍历的实现。 |
|
d****n 发帖数: 397 | 21 那constant space complexity呢? recursion的堆栈深度就是lgn了。 |
|
y*****2 发帖数: 22 | 22 第一题的印象有点模糊了。。大概是给一个数组,然后有一些数是重复的,然后找到重
复最多的那个数,比如说 int input[]={3,7,4,3,6,1,3,6},重复最多的数是3,这些3
的index分别是0 3 6,那么要求程序以相等的概率返回这3个index,
int computeIndex(int[] input);
33.3% return 0
33.3% return 3
33.3% return 6
当时因为叙述的比较绕,所以光题目就理解了半天,最后在他的提示下找到答案:先扫
第一遍,找到出现最多的那个数(比如3),然后写个random函数, 再扫第二遍,每次
遇到3就调用这个Random函数,若Random返回值大于一个阈值就返回当前的index。比如
这个函数可以是
bool ran(int size){
if(random()*size<1)
return true;
return false;
}
叙述的不好,见谅!有问题请提问~
第二题是leetcode原题,Permutation,我用递归做完之后,又让分析算法... 阅读全帖 |
|
h******6 发帖数: 2697 | 23 我不太明白的一点是 图太大节点太多内存储存不下来 那么是说DFS的时候深度太深所
以堆栈会溢出?那么为什么把每一层分块就能避免这个问题?因为虽然横向分块了但是
纵向深度还是不变的吧? |
|
U**m 发帖数: 313 | 24 背景:EE PhD signal/image processing方向,6月毕业,跟老板是cs系的,所以也做
了computer vision和machine learning的研究。没有实习经历(硬伤阿硬伤)。
一直有点悠哉游哉,到了3月底4月的时候才开始一边写论文准备答辩一边投简历。
leetcode刷了100多题没刷完,career up大概从头到尾简略看了一下。面试题目我就讲
一下大概哪个方面。
简历准备: 在校的同学不妨考虑学校的career center。一般都有很多辅导的讲座,也
帮助大家改简历。还有就是已经工作的,最好是有面试别人机会的师兄师姐,联系一下
让人帮忙瞧瞧。另外版上精化文章要尽量学习。
感觉简历还是需要稍微准备一下,至少能够过简历关。
投简历:无非就是网上海投,请人refer,以及直接联系HR。
一local小公司:
学校的career center投的简历,过了两三天HM直接联系(小公司没有HR-_-)。
phone interview问的是基本问题,类似于what is the difference between "deep"
copy and "sh... 阅读全帖 |
|
y*******8 发帖数: 112 | 25 然后偶数层或者奇数层翻转一下不就行了:你会怎么实现呢?stack不就是很好的么。
如果你用堆栈,你是如何实现呢?
下。 |
|
b********0 发帖数: 62 | 26 我感觉递归可以理解为两层意思
第一层是类似于数学归纳法的思想 就是把大问题分解为类似的小问题 这类思想肯定到
处都用得到 没什么好争的
第二层就是代码里的 函数自己调用自己 这种递归都是可以改写为循环的形式的
一般递归由堆栈实现 会有存储和处理的开销
自己写 一般也要多加一个全局变量
所以大家总会有 递归效率低的印象 其实差不了多少
某些递归实现的问题在于同一个问题的重复计算浪费了资源 可以用记忆化改善
尾递归就是一种特殊的形式 返回值在每一层递归都被直接返回为上一层 这样其实用外
部变量存储的意义就没有了 也就可以直截了当的写成循环的形式
一般递归转化为尾递归的方法 我感觉一般也就是增加传递变量 以达到之前外部状态变
量的效果
个人认为递归简洁直观 如果编译器强大到能做好优化 那就完美了 |
|
z******g 发帖数: 271 | 27 抛砖引玉,仅供参考
1、如果算法为recursive,修改为iterative,节约call frame空间
2、如果还不行,就只能disk了 |
|
t*********i 发帖数: 20 | 28 import sys
sys.setrecursionlimit({something bigger than 1000}) |
|
i******t 发帖数: 798 | 29 用 iterative 方法 可以不溢出
递归大数据会死掉的 |
|
y*******n 发帖数: 99 | 30 试过,正常的机器,都是Segmentation fault |
|
y*******n 发帖数: 99 | 31 也是就是说,基本在实际大数据应用中,都不会用recursive? |
|
|
|
|
i******t 发帖数: 798 | 35 你意思是dfs吧
其它问题大数据也能用recursion的 |
|
|
a********m 发帖数: 15480 | 37 大数据关键是并行处理,处理逻辑尽可能简单。递归基本已经是串行了,和大数据其实
不沾边,只是数据量大而已。 |
|
w****k 发帖数: 755 | 38 后序用两个堆栈来解那是相当容易,不到10行代码。 |
|
H**********5 发帖数: 2012 | 39 C语言传参机制是拷贝的,都放在堆栈里,函数返回后传递的值是不会改变的。
如果你想改变传递的参数,必须传递其地址给一个指针,
但如果你想改变某个指针,那就传递指向该指针的指针。
那就只有2种方法,
(1)在函数中返回一个指针,将返回值给这个指针
(2)传递一个2级指针,即**.
这两种方法对应那两种原型。 |
|
H**********5 发帖数: 2012 | 40 好像是OS 诊断组。
周一视频面。
问了些PCI驱动,BOOTLOADER,kernel internal的问题,
白女问的很细,让画堆栈指针怎么走,寄存器怎么分。
大概40分钟,总体感觉答的还可以,问得都是简历上的project,
最后写了个bit reverse。
到今天还没任何消息。
因为想把后续所有重心放在java这块,不想再分心复习embd C了。
要是apple这个挂了就全心找java的工作了。
昨天忍不住发了个邮件问下feedback
今天hr还没回。
这样子是默剧的节奏?apple拒人连据邮都不回的? |
|
d*****5 发帖数: 1920 | 41 recursive space 我觉得是O(n^2), 堆栈里是 n + (n - 2) + (n - 4)...
不一定对,大牛指点下。
再说用recursive感觉没必要。 String长了容易出问题。 |
|
c***G 发帖数: 88 | 42 这两年毕业找工作找得很磕磕碰碰,很感谢版上的国人的面经让我最终找到了工作。在
这贴些这两年面过的几家公司一些面积,很惭愧,这些全都跪了。
板上和LeetCode上有的就都不提了,就贴几个我觉得在这个版上不常见到的题目吧。
Pure Storage
i = 0;
五个进程同时run
for (int k = 0; k < 5; k++)
++i;
i最后可能的最大值和最小值。
Tintri
print(x,y,z)函数的参数在堆栈上的顺序, 是x,y,z 还是z,y,x
Google
用正则表达式表达浮点数
i = 0;
五个进程同时run
while(true) {
++i;
print i;
}
所有可能打印的sequence。(瞬间跪了,我至今都不知道这个要怎么回答)
好像还问了个如果是2个进程的话,可否出现打印序列是1,2,2,3,3,3,4,,,
Vmware:
Page Fault的原理
GDB的原理
解释下当你在电脑上输入www.google.com后,从开始请求到最后返回结果的整个过程。 |
|
c*******e 发帖数: 373 | 43 听起来挺简单的啊
用个堆栈来存储每步操作就可以了吧 |
|
c*******e 发帖数: 373 | 44 听起来挺简单的啊
用个堆栈来存储每步操作就可以了吧 |
|
t**8 发帖数: 4527 | 45 不同的公司有不同的标准
大多数公司不刷题, 而是经验优先
当然 fresh graduate只能刷题了
平时编程序, 用递归就是找死,
有人用递归写程序, 号称没用额外空间, 所谓O(1)
可堆栈的空间比普通内存要宝贵的多
还有用hash map 也号称O(1)
这不是扯淡吗 |
|
t****b 发帖数: 2484 | 46 重复问题用递归
若非全序最小堆
DP要先求递推
二分查找不吃亏
想好思路再动笔
贪心也能解难题
合并寻根并查集
堆栈队列差不离 |
|
d****g 发帖数: 7460 | 47 自己想的。我没交过他两位数的加法。
一位数的老早前DRILL过。(比如8+7,7+6)他算的慢。经常8+7变成 8+3
+3 +1,成堆栈了。试图教过他凑整十,不很理想,就算了。后来一位数也都挺快
,大概是都记住了。
6。 |
|
d****g 发帖数: 7460 | 48 其实哪个概念你用哪种语言接触的,你就用习惯哪种语言表述。
好比我喜欢说"堆栈"。有的人就只习惯说heap and stack. American Idol 比 美国
偶像 自然多了。。你用"美国偶像"觉得纯粹,我还觉得你矫情呢。还有隔壁的
gregory vs. 格雷戈里, iphone vs "爱疯"?
不光是专有名词。很多形容词的概念也是出来后接触的。比如categorically, social,
oxymoron, 很多。。。
对了,付雷家书里难道不都是各种语言间杂吗。看的难受别看吗。。
总之,我认为你可以批评"语言矫情"。但
中英间杂 != 矫情。
纯中文 != 不矫情。
教条主义 == 又懒又笨又虚伪。
Judgemental害死人。 |
|
c****n 发帖数: 15245 | 49 Britax Marathon G4 Convertible Car Seat (reg $289.99) $275.99
Use code CUTIE20 to save 20%
Use code ACCESS15 to save 15% on $100+
Free shipping on orders of $75 or more
Final Price: $187.67 shipped
http://www.kohls.com/product/prd-1651002/britax-marathon-g4-con
如果等的及10号,后天
就可以30%并且满50出10
Sept 10-17
SPLURGE30: 30% off for kohls charge members only
FREESHIP4U: free shipping for kohls charge members only
Earn $10/50 Kohls Cash full over lap and redeem 9/18-28
但是只能堆栈这一个code
$10 o... 阅读全帖 |
|
Z*T 发帖数: 105 | 50 有我这个2号的垫底,你们愁什么,我现在认为DOS给USCIS的case是堆栈的,先进后出
,后进先出的那种!祝你们早日收到,我就有希望了! |
|