由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请帮我看下这道coding exercise
相关主题
关于multithread programming大家看什么书为啥大家都说刷题无用呢
问一道Amazon的老题面經面經
Yodle 面试题 Triangle 答对能有面试机会the shortest code to crash your system
这里人多,请问Java如何读取需要登录的网页的内容请推荐Multithread的学习资料。
谁能给个Serialization/Deserialization of a Binary Tree Java版完整code?请推荐一本复习JAVA/OO的好书(面试用)
career cup 150第五版10.3 中numberOfInts为什么要除以8?multithread app的design要注意哪些问题? (转载)
问一下Multithreaded Programming有啥经典书籍可以推荐?C++ timer class for multithreads? (转载)
找工作需要:推荐一本multithreaded programming的书吧Multithread
相关话题的讨论汇总
话题: fork话题: file话题: join话题: map话题: string
进入JobHunting版参与讨论
1 (共1页)
w********p
发帖数: 948
1
下面这个是收到的coding exercise, 烦请帮忙看看。
Please design, code and send back a complete, production ready module,
第一步:
* if CLI parameter is “-g [foler_name]"
** generates 100 files in a specified folder, named from 001.txt to 100.txt
** each file contains 10,000 text lines
** each line is a space separated list of random 10 integers
** each integer contains 8 digits
** prints file generation timing statistics
*** per file
*** total
第二步
* if CLI parameter is “-s [foler_name]"
** reads 10 files from a specified folder, named from 01.txt to 10.txt and
prints out time it took to finish reading all files
** puts all the numbers into a map, with file name being the key
** uses fork/join paradigm to map/reduce this map in order to sort all the
numbers in the shortest possible time
** outputs results into a single file, with the same line structure, named
res.txt in the same folder
** prints how long it took to
*** read the files
*** sort the numbers
*** write the file
我没有java multithread 或者java concurrency的经验。
所以这句“uses fork/join paradigm to map/reduce this map”不是很懂。
第二步是不是有个Hashmap> map, 然后用Fork把每个
value -- arrayList 的integer排序?
Join的时候,再merge所有的ArrayList? 再写到file里
这个具体的fork/join咋整的。是用 java 7 的fork/join framework 吗? http://homes.cs.washington.edu/~djg/teachingMaterials/spac/grossmanSPAC_forkJoinFramework.html
http://fahdshariff.blogspot.com/2012/08/java-7-forkjoin-framewo
求指导?
还有我理解的有偏差不?
还有linux 下fork明明是create child process
咋到了java fork/join 里就是multithread 呢?
谢谢。
j**********3
发帖数: 3211
2
菜鸟不会,帮你把帖子顶起来哈
p*********g
发帖数: 116
3
有趣 mark 下。
b*****n
发帖数: 618
4
我觉得就是你说的那样。
用Java的forkjoin framework,
input size大就继续fork,然后merge结果返回上一层。
一个JVM只有一个process,concurrency只能通过multithread实现。
fork到底是什么不重要吧。对你解决问题有什么影响么。。
w********p
发帖数: 948
5
非常谢谢。

【在 j**********3 的大作中提到】
: 菜鸟不会,帮你把帖子顶起来哈
w********p
发帖数: 948
6
非常谢谢。

【在 p*********g 的大作中提到】
: 有趣 mark 下。
w********p
发帖数: 948
7
其实这题是merge sort 的 java concurrency 版本
目前打算用 java 8 stream 和 java.nio来做。不过很多细节还是不了解怎么处理。

【在 b*****n 的大作中提到】
: 我觉得就是你说的那样。
: 用Java的forkjoin framework,
: input size大就继续fork,然后merge结果返回上一层。
: 一个JVM只有一个process,concurrency只能通过multithread实现。
: fork到底是什么不重要吧。对你解决问题有什么影响么。。

b*****n
发帖数: 618
8
Why do you need stream and nio for this problem?
你写的大概就是stream怎么搞map reduce的一种实现方式。
nio你需要用来做什么?aynch同时处理多个文件?感觉不是这道题目考查的地方。
如果不用forkjoin的话应该是可以的,但是貌似这里说了一定要forkjoin,所以你可能
想太多了。

【在 w********p 的大作中提到】
: 其实这题是merge sort 的 java concurrency 版本
: 目前打算用 java 8 stream 和 java.nio来做。不过很多细节还是不了解怎么处理。

w********p
发帖数: 948
9
就是指定一定要用forkjoin。 不是想太多。
这道题考的就是同时处理多个文件。这个是经典的hadoop的考题,说白了,是模
拟hadoop 的程序。不是简单的java刷题算法。
如果您懂Java8, nio还请指教。我要如何同时handle多个文件的处理。给个链接啊,
关键词啥的都好。
我找了好多links,都没有发现到底怎么整。
多谢了。

【在 b*****n 的大作中提到】
: Why do you need stream and nio for this problem?
: 你写的大概就是stream怎么搞map reduce的一种实现方式。
: nio你需要用来做什么?aynch同时处理多个文件?感觉不是这道题目考查的地方。
: 如果不用forkjoin的话应该是可以的,但是貌似这里说了一定要forkjoin,所以你可能
: 想太多了。

b*****n
发帖数: 618
10
You are totally on the wrong track.
nio只是为了提供channel做IO读写,根本不是这个题目考察的地方。
一个thread写一个file不行么?nio跟hadoop有什么必然联系?
建议你先把一些基本概念理清楚了再说。

【在 w********p 的大作中提到】
: 就是指定一定要用forkjoin。 不是想太多。
: 这道题考的就是同时处理多个文件。这个是经典的hadoop的考题,说白了,是模
: 拟hadoop 的程序。不是简单的java刷题算法。
: 如果您懂Java8, nio还请指教。我要如何同时handle多个文件的处理。给个链接啊,
: 关键词啥的都好。
: 我找了好多links,都没有发现到底怎么整。
: 多谢了。

相关主题
career cup 150第五版10.3 中numberOfInts为什么要除以8?为啥大家都说刷题无用呢
问一下Multithreaded Programming有啥经典书籍可以推荐?面經面經
找工作需要:推荐一本multithreaded programming的书吧the shortest code to crash your system
进入JobHunting版参与讨论
A*******e
发帖数: 2419
11
楼主在编程版说这是作业。合着顶着面试题名义来骗答案的。

【在 w********p 的大作中提到】
: 就是指定一定要用forkjoin。 不是想太多。
: 这道题考的就是同时处理多个文件。这个是经典的hadoop的考题,说白了,是模
: 拟hadoop 的程序。不是简单的java刷题算法。
: 如果您懂Java8, nio还请指教。我要如何同时handle多个文件的处理。给个链接啊,
: 关键词啥的都好。
: 我找了好多links,都没有发现到底怎么整。
: 多谢了。

w********p
发帖数: 948
12
这个是面试,拿回家的写的作业啊。
我还查了下字典。作业是什么意思?
“教师给学生布置的功课;
部队给士兵布置的训练性的军事活动;
生产单位给工人或工作人员布置的生产活动:课外 ~│野外~│~计划。”
如果是上课的作业,自然有老师,同学和TA,没有必要在这里骗啊。
这种题,本来出现的就少,应该鼓励才是啊。

【在 A*******e 的大作中提到】
: 楼主在编程版说这是作业。合着顶着面试题名义来骗答案的。
w********p
发帖数: 948
13
我想用nio是因为,我想用Stream API (parallel streams use common fork-join
thread pool)
不过fork-join 和Parallel stream 哪个更快,是有争议的。
参看:From Imperative Programming to Fork/Join to Parallel Streams in Java 8
http://www.infoq.com/articles/forkjoin-to-parallel-streams
Fork/Join Framework vs. Parallel Streams vs. ExecutorService: The Ultimate
Fork/Join Benchmark
http://blog.takipi.com/forkjoin-framework-vs-parallel-streams-v
这题并不是要在hadoop上写,而是借用了map reduce 的概念。参看forkjoin 和Stream
的其他reference.

【在 b*****n 的大作中提到】
: You are totally on the wrong track.
: nio只是为了提供channel做IO读写,根本不是这个题目考察的地方。
: 一个thread写一个file不行么?nio跟hadoop有什么必然联系?
: 建议你先把一些基本概念理清楚了再说。

p*********g
发帖数: 116
14
不是当场做,回家做的就叫homework

【在 A*******e 的大作中提到】
: 楼主在编程版说这是作业。合着顶着面试题名义来骗答案的。
w********p
发帖数: 948
15
现在明白了。nio 和Stream没有必然的关系。
没有nio的基本概率的说。
谢谢你的耐心。估计之前看我的回复会着急上火。呵呵。

【在 b*****n 的大作中提到】
: You are totally on the wrong track.
: nio只是为了提供channel做IO读写,根本不是这个题目考察的地方。
: 一个thread写一个file不行么?nio跟hadoop有什么必然联系?
: 建议你先把一些基本概念理清楚了再说。

b*****n
发帖数: 618
16
赞,不用这么客气,问题解决了就好。

【在 w********p 的大作中提到】
: 现在明白了。nio 和Stream没有必然的关系。
: 没有nio的基本概率的说。
: 谢谢你的耐心。估计之前看我的回复会着急上火。呵呵。

S**********5
发帖数: 896
17
不懂,帮顶
w********p
发帖数: 948
18
程序终于吭哧吭哧写完了。
公司说要和我面聊suggestion. 头疼。不知道要建议个啥。
恳请大牛们批评指教。与其被别人challenge, 不如在这预先知道的说。一定发包子感
谢的说。
https://github.com/selinaGit/SortNFiles
为了搏眼球,牺牲下隐私。貌似无盐,切勿下载哦, 否则是小猪🐷
还有主要的reference 是下面这个link. 照葫芦画瓢的说。
http://www.oracle.com/technetwork/articles/java/fork-join-42260
我想请教下在上面的link里为什么要用static method return new object.
而不是 用非static method "public Document fromFile(File file)" 然后 new
WordCounter obj
调用obj.Document fromFile(File file)
没有concurrency 的经验。问题有点傻。求教的说。
我的理解是这样的话,fork之前,file就read到list里了,file reading不会
是多线程一起run。
class Document {
private final List lines;

Document(List lines) {
this.lines = lines;
}

List getLines() {
return this.lines;
}

static Document fromFile(File file) throws IOException {
List lines = new LinkedList<>();
try(BufferedReader reader = new BufferedReader(new FileReader(file))
) {
String line = reader.readLine();
while (line != null) {
lines.add(line);
line = reader.readLine();
}
}
return new Document(lines);
}
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
Multithread谁能给个Serialization/Deserialization of a Binary Tree Java版完整code?
Thread 和 concurrency怎么准备?career cup 150第五版10.3 中numberOfInts为什么要除以8?
推荐一下Anthony Williams的multithreading的书问一下Multithreaded Programming有啥经典书籍可以推荐?
有几个东西我一直想学,但是没时间找工作需要:推荐一本multithreaded programming的书吧
关于multithread programming大家看什么书为啥大家都说刷题无用呢
问一道Amazon的老题面經面經
Yodle 面试题 Triangle 答对能有面试机会the shortest code to crash your system
这里人多,请问Java如何读取需要登录的网页的内容请推荐Multithread的学习资料。
相关话题的讨论汇总
话题: fork话题: file话题: join话题: map话题: string