登录
  • #美国面经
  • #码农类general
  • #面试经验
  • #purestorage

Pure Storage OA面经

xieqilu1989
9752
16
[backcolor=rgb(242, 242, 242)]大概一个月前做的Pure Storage的OA,想起来了分享一下面经,攒攒人品。[/backcolor]

[backcolor=rgb(242, 242, 242)]OA总共有12道题,时间是60分钟,其中第一道是代码题,第二道是代码改错题,剩下的10道都是多选题。[/backcolor]

[backcolor=rgb(242, 242, 242)]1,代码题:Remove nodes from a LinkedList that have the given value. [/backcolor]

[backcolor=rgb(242, 242, 242)]这题比较简单,就是给一个LinkedList和一个int值,去掉List里面所有包含这个值的节点。方法就不多说了,相信大家都是闭着眼睛秒杀的。这道题可以用C, C++或者Java做。默认的是Java。这个题是可以在线跑一下的,提交之前可以确保所有test case都通过。[/backcolor]

[backcolor=rgb(242, 242, 242)]2,代码改错题:给了一段很简单的C代码,说这个代码有错误,要求改正错误。题目大概就是给一个int数组和int diff,要求找到数组中的pair使得a-b=diff. 返回值是所有符合条件的pair的个数。给的有bug的代码也就5行左右,因为默认数组已经被sort过了。虽然是C写的,但没用到C的特性,而且错误很基础,一眼就看出来了。这个只能用C语言改,改完后也可以跑一下确保test case都通过就行了。[/backcolor]

[backcolor=rgb(242, 242, 242)]多选题:多选题有的稍微有点tricky, 好像很多都是跟GRE CS类似的题目。具体题目如下(具体选项记不清了,望谅解):[/backcolor]

[backcolor=rgb(242, 242, 242)]3,判断下列哪些小数有确定有限的(exact)二进制表示: A 0.1, B 0.2, C 0.3, D 0.4, E 0.5[/backcolor]

[backcolor=rgb(242, 242, 242)]这题只要会手动转换十进制到二进制就行了[/backcolor]

[backcolor=rgb(242, 242, 242)]4,1-1000猜数字,你每次的提问对方只能用yes或no来回答,问最少需要猜多少次才能才出来 [/backcolor]

[backcolor=rgb(242, 242, 242)]用binary search, 每次缩小一半范围[/backcolor]

本帖隐藏的内容需要论坛积分高于188才可浏览
点击前往一亩三分地论坛查看 >>


[backcolor=rgb(242, 242, 242)]11,多线程的题。有个两个线程如下:[/backcolor]

[backcolor=rgb(242, 242, 242)]Task1: x=1; a=Y[/backcolor]

[backcolor=rgb(242, 242, 242)]Task2: y=1; b=x[/backcolor]

[backcolor=rgb(242, 242, 242)]两个线程的执行顺序是不确定的,问执行完之后a和b可能的结果[/backcolor]

[backcolor=rgb(242, 242, 242)]12,给出一段C#代码,问f(x)的时间复杂度 (which best describes the growth of f(X) as a function of X)[/backcolor]

[backcolor=rgb(242, 242, 242)]代码大概是这样的:[/backcolor]

[backcolor=rgb(242, 242, 242)]int f(int x)[/backcolor]

[backcolor=rgb(242, 242, 242)]{[/backcolor]

[backcolor=rgb(242, 242, 242)]if(x<1) return 1;[/backcolor]

[backcolor=rgb(242, 242, 242)]else return f(x-1) +g(x/2);[/backcolor]

[backcolor=rgb(242, 242, 242)]}[/backcolor]

[backcolor=rgb(242, 242, 242)]int g(int x)[/backcolor]

[backcolor=rgb(242, 242, 242)]{[/backcolor]

[backcolor=rgb(242, 242, 242)]if(x<2) return 2;[/backcolor]

[backcolor=rgb(242, 242, 242)]else return f(x-1) + g(x/2);[/backcolor]

[backcolor=rgb(242, 242, 242)]}[/backcolor]

[backcolor=rgb(242, 242, 242)]把f(x)按照代码展开看看跟x的关系就可以了,要细心想,别弄错了。[/backcolor]
16条回复
热度排序

发表回复