AlgorithmCrackers / Interview-Questions

List of all the Interview questions practiced from online resources and books
246 stars 127 forks source link

Redefine structure of repo #9

Closed prakashn27 closed 9 years ago

prakashn27 commented 9 years ago

lets redefine the structure of repository with all the questions in readme file and links in the corresponding files. by this way it would be easy for us to reference later.

santhoshvai commented 9 years ago

Yes, even i was thinking of that.... wait for some time.. we will plan this well..

santhoshvai commented 9 years ago

We can seperate questions for companies using the wiki

santhoshvai commented 9 years ago

First thing to separate is by technique used,

santhoshvai commented 9 years ago

Things not to be removed from root folder,

Things to be removed,

prakashn27 commented 9 years ago

Yes dude. we will redefine the structure asap and i will get a new branch and start doing my code. at each quarter we will integrate all the code. BUT FIRST basic structure is necessary. or else it would be cumbersome to split it later. I will define a structure and upload it here. after your confirmation we will split and change it.

prakashn27 commented 9 years ago

@santhoshvai What do you think of this structure in each repo https://github.com/juchem/prep/blob/master/exercises.md

lets assign readme in such a way that it is easy for some one to read it. :)

santhoshvai commented 9 years ago

A huge long list... Not a very good way of organising things.. you need some sort of organisation.

prakashn27 commented 9 years ago

lets split up into diff categories(LinkedList, Array) and save it..

santhoshvai commented 9 years ago

Yeah, linkedlist, array, graph, dynamic, greedy, trie, bithacks.... etc

santhoshvai commented 9 years ago

This is so annoying, We havent done this for a long time. Can you propose a structure by this week? I am going to restructure this weekend. @prakashn27

prakashn27 commented 9 years ago

I personnaly like this structure:

Lets categorize the repo based on Data structure:

DataStructures:

Array HashTable LinkedList String Binary Search tree Stack Heap graph

In the ReadMe.md Techniques we can put a link for defining the problem for that appripiate technique:

For instance: calculate the fibonacci series can be put under 
Recusion as well as Dynamic Programming. 
fib_recursion.java defines the recursive version
fib_dynamic.java defines the dynamic version.
We can add the link in readme.md

Few suggested techniques are below:

Techniques:

Recursion Union Find Divide and Conquer Dynamic Programming Greedy Backtracking Sort Bit Manipulation DFS BFS Misc

Source of structure idea from Leetcode.com

Let me know your suggestion:

Inteview Questions/
-Readme.md - (contains list of all algorithmic technique heading and the corresponing problems with the Links.)
- Data_Structure_Name/
  - Readme.md - List of problem definitions defined under the data structure
  -Problem_1_heading/
    -Readme.md - definition of problem.
    -solution-technique1.java
    -solution_technique2.java

Why this approach:

Check and let me know if u want to make any changes. (my views are perspective of beginner all feed backs are welcome :) )

santhoshvai commented 9 years ago

I like this structure. But our main readme has to be tiny. It cannot have information. It has to be a introduction readme. Maybe we can add what you said to wiki. I like this structure though. Based on what you said, this is what i came up with.

Main folders

Folders are based on chapter headings of ctci. A mixture of techniques and Data structures.

ReadMe

Links to 3 wikis

  1. Data Structures based problem classification
  2. Technique based
  3. Company specific {I dont know if this can be done. This can be future feature}

    Miscellaneous stuff.

    1. Language specific questions
    2. Design questions? Patterns? OS ? processes threads?

Disclaimer

Just use the existing one.

Structure

Interview Questions/
-Readme.md - (Points to 3 wikis) [1. Data structures 2. Techniques 3. Language Specific]

- ctci classification_Name/
  - Readme.md - List of problem definitions defined under the data structure
  -Problem_1_heading/
    -Readme.md - definition of problem.
    -solution-technique1.java
    -solution_technique2.java
prakashn27 commented 9 years ago

Okay i like this structure too.. Lets do it. i will do it in free time. Lets have a target of finishing our classification before our next push.

prakashn27 commented 9 years ago

done da. Have to provide the wiki. @santhoshvai

santhoshvai commented 9 years ago

Have you erased my files "javascript questions ", "android questions"? i cant find them now? Did you merge with the previous commit before pushing your commit? Please check da.

santhoshvai commented 9 years ago

Seems like the folder names are only datastructures? I said to use the ctci way right. See this image for the index. It has to be a mixture of DS and techniques. In many problems we use combo of datastructures. So ctci headings are the best way to categorize.

prakashn27 commented 9 years ago

We agreed with repo with technique in file name and then updating the wiki. That is what u mentioned in the previous comment.

- ctci classification_Name/
  - Readme.md - List of problem definitions defined under the data structure
  -Problem_1_heading/
    -Readme.md - definition of problem.
    -solution-technique1.java
    -solution_technique2.java
santhoshvai commented 9 years ago

Dai ctci_classification_Name isnt that clear. The comment was an example man.

santhoshvai commented 9 years ago

Used CTCI v6 to categorize.