Amazon Interview Question
Software Engineer / DevelopersCountry: United States
Interview Type: Phone Interview
Shouldnt the drive class have a vector of folders as its member? If not, could you please explain why not?
The two classes are
1. Folder
2. File
Now folder can have sub folders and files.
class Folder
{
ArrayList<Folder> subFolderList;
ArrayList<File> fileList;
Folder(File file)
{
fileList.add(file);
}
Folder(Folder folder)
{
subFolderList.add(folder);
}
Folder(Folder folder, File file)
{
folder.addFile(file);
subFolderList.addFolder(folder);
}
}
class File
{
String fileName;
MetaData metadata;
File(String fileName, MetaData metadata)
{
this.fileName = fileName;
this.metadata = metadata;
}
}
A basic file system can be shown as managmenet of data in Files & Folders. It should also manage the space available.
FIles and folder structure can be representd using Composite pattern as below:
- sand February 07, 2012