Company | MassMutual |
Date | 30/09/15 |
Location | Boston, MA |
Position | Application Developer |
It's not a coding interview. The interviewer only asked me questions about my resume and some techniques.
There are two points to note here.
1. What are wait() and notify() in Java?
These two methods are used in multi-thread programming.
Causes the current thread to wait until another thread invokes the notify()
method or the notifyAll()
method for this object.
This method should only be called by a thread that is the owner of this object's monitor. After calling this method, the thread releases ownership of this monitor and waits until another thread notifies threads waiting on this object's monitor to wake up either through a call to the notify
method or the notifyAll
method.
Typical usage:
synchronized (obj) { while (<condition does not hold>) obj.wait(); ... // Perform action appropriate to condition }
Wakes up a single thread that is waiting on this object's monitor. If any threads are waiting on this object, one of them is chosen to be awakened.
The awakened thread will not be able to proceed until the current thread relinquishes the lock on this object.
Wakes up all threads that are waiting on this object's monitor.
(More on ProgramCreek)
2. What is Hadoop in your word?
The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.
The project includes:
- Hadoop Common: The common utilities that support the other Hadoop modules.
- Hadoop Distributed File System (HDFS™): A distributed file system that provides high throughput access to application data.
- Hadoop YARN: A framework for job scheduling and cluster resource management.
- Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.
Previous structure:
Current structure: