r**d 发帖数: 316 | 1 答的不太好
1:过去项目
2:一些java概念,this, super, synchronized
3:排序,QuickSort方法,binary tree方法,
4:OOD 家具店的问题。(这题没答好,觉得没抓住想问的点,现在事后考虑可能应该
用design patterns的套路)
5: 一个巨大的文件,找出电话号码(regular expression, grep)
6:考虑一个StringToInt函数,估计用户会有什么样的输入,期待什么样的输出。
7:Coding, 写一个函数返回不大于输入的所有素数,email交回。 |
c***n 发帖数: 921 | 2 谢谢题目!
Big bless!
【在 r**d 的大作中提到】 : 答的不太好 : 1:过去项目 : 2:一些java概念,this, super, synchronized : 3:排序,QuickSort方法,binary tree方法, : 4:OOD 家具店的问题。(这题没答好,觉得没抓住想问的点,现在事后考虑可能应该 : 用design patterns的套路) : 5: 一个巨大的文件,找出电话号码(regular expression, grep) : 6:考虑一个StringToInt函数,估计用户会有什么样的输入,期待什么样的输出。 : 7:Coding, 写一个函数返回不大于输入的所有素数,email交回。
|
s*******n 发帖数: 344 | 3 lz说说你第7题目的思路吧?面试官给什么引导了么 |
w*********g 发帖数: 1055 | |
y******5 发帖数: 43 | 5 Thank you.
Some quick thoughts about 6 and 7:
Possible input:
"0"
"+123"
"-123"
"+-123"
"0x123f"
"12.3"
non-number chars
Anything else?
Brute Force with improvements:
1. only consider odd numbers (except 2)
2. for current number, only check to its sqrt
3. for current number, only check prime numbers which are not more than its
sqrt
【在 r**d 的大作中提到】 : 答的不太好 : 1:过去项目 : 2:一些java概念,this, super, synchronized : 3:排序,QuickSort方法,binary tree方法, : 4:OOD 家具店的问题。(这题没答好,觉得没抓住想问的点,现在事后考虑可能应该 : 用design patterns的套路) : 5: 一个巨大的文件,找出电话号码(regular expression, grep) : 6:考虑一个StringToInt函数,估计用户会有什么样的输入,期待什么样的输出。 : 7:Coding, 写一个函数返回不大于输入的所有素数,email交回。
|
r**d 发帖数: 316 | 6 木有引导,这个是面试快结束的时候说的,说完题目然后就挂电话了。
因为急着交,没太多考虑特别极端的情况,只是用了一个列表存了到目前为止发现的所
有素数,然后用一个boolean函数,传入已知素数表,候选整数,判断是否是新素数。
主函数先生成空表,然后从2到n一个循环,依次调用上面这个布尔函数,如果是素数就
加入。
【在 s*******n 的大作中提到】 : lz说说你第7题目的思路吧?面试官给什么引导了么
|
y******5 发帖数: 43 | 7 Of course we need to consider empty string.
【在 y******5 的大作中提到】 : Thank you. : Some quick thoughts about 6 and 7: : : Possible input: : "0" : "+123" : "-123" : "+-123" : "0x123f" : "12.3"
|
r**d 发帖数: 316 | 8 面试官提示了一个情况估计很少有人会想到,他说用户有可能会输入自然语言表示的数
,并期待返回此整数值。
比如输入"fifty two" 输出52
【在 y******5 的大作中提到】 : Of course we need to consider empty string.
|
y******5 发帖数: 43 | 9 I see. So how about Chinese chars? :)
【在 r**d 的大作中提到】 : 面试官提示了一个情况估计很少有人会想到,他说用户有可能会输入自然语言表示的数 : ,并期待返回此整数值。 : 比如输入"fifty two" 输出52
|
j*****u 发帖数: 1133 | 10 7.可以用排除法:
从2开始去除2的不大于N除自己之外的所有倍数,直到N/2
【在 r**d 的大作中提到】 : 答的不太好 : 1:过去项目 : 2:一些java概念,this, super, synchronized : 3:排序,QuickSort方法,binary tree方法, : 4:OOD 家具店的问题。(这题没答好,觉得没抓住想问的点,现在事后考虑可能应该 : 用design patterns的套路) : 5: 一个巨大的文件,找出电话号码(regular expression, grep) : 6:考虑一个StringToInt函数,估计用户会有什么样的输入,期待什么样的输出。 : 7:Coding, 写一个函数返回不大于输入的所有素数,email交回。
|
|
|
s******c 发帖数: 1920 | |
r****l 发帖数: 28 | |
b*******8 发帖数: 37364 | 13 最后一个,写一个函数返回不大于输入的所有素数
如何效率比较高?用筛法,速度快,但空间要求大。
【在 r**d 的大作中提到】 : 答的不太好 : 1:过去项目 : 2:一些java概念,this, super, synchronized : 3:排序,QuickSort方法,binary tree方法, : 4:OOD 家具店的问题。(这题没答好,觉得没抓住想问的点,现在事后考虑可能应该 : 用design patterns的套路) : 5: 一个巨大的文件,找出电话号码(regular expression, grep) : 6:考虑一个StringToInt函数,估计用户会有什么样的输入,期待什么样的输出。 : 7:Coding, 写一个函数返回不大于输入的所有素数,email交回。
|
b*******8 发帖数: 37364 | 14 这个筛法,如何空间效率高?
【在 j*****u 的大作中提到】 : 7.可以用排除法: : 从2开始去除2的不大于N除自己之外的所有倍数,直到N/2
|
i**9 发帖数: 351 | 15 家具店
设计个买家具店的OOD?能谈具体一点吗?
【在 r**d 的大作中提到】 : 答的不太好 : 1:过去项目 : 2:一些java概念,this, super, synchronized : 3:排序,QuickSort方法,binary tree方法, : 4:OOD 家具店的问题。(这题没答好,觉得没抓住想问的点,现在事后考虑可能应该 : 用design patterns的套路) : 5: 一个巨大的文件,找出电话号码(regular expression, grep) : 6:考虑一个StringToInt函数,估计用户会有什么样的输入,期待什么样的输出。 : 7:Coding, 写一个函数返回不大于输入的所有素数,email交回。
|
l*****g 发帖数: 685 | 16 sieve of eratosthenes的空间确实是个问题。因此,如果记得住Sieve of Atkin方法
的人当然最好用Sieve of Atkin来做。
如果只记得sieve of eratosthenes的话, 我觉得可以给原算法稍微做点预处理,以减
少空间要求。
譬如把100之内的prime number先存到一个数组a里,反正数目也不大
a = {2, 3, 5, 7, ..., 97}
接下去是3种情况
1) 如果n小于100, 直接从a里搜索
2) 如果n大于100,loop i from 100-->n, 给i apply a里的所有prime numbers,如
果i最后还能漏下来,那就放到一个list b
b = { 101, 103, ...}
这一轮下来,剩下来的数字估计减少了十几倍。(没具体算过到底减少到多少,大致估
计是:1/2 * 2/3 * 4/5 * 6/7 *....*96/97, 不过这是不确切的)
3) 接下来再对b里的数字做正常的sieve of eratosthenes筛法, 当然用不着从2开始了
,可以直接从101开始。
最后的结果是a + b.
【在 b*******8 的大作中提到】 : 这个筛法,如何空间效率高?
|