These implementations are for learning purpose. The solution would be provided in any programming language.
You are welcomed to contribute in the repository. For contributions in the repository, Do read Contribution Guidelines.
- Contribution Guidelines
- Sample Code
- Moderator
- Advantage of Contributing to the repository
- Order to Follow for Learning
- Track for Different Profiles
- Shoaib Rayeen - I am A Software Development Engineer Intern at PropTiger, Co-Author for Chatbot Report 2019 at @ChatSpot, An Alexa Student Influencer at Amazon Alexa and An M.C.A. Student at Department of Computer Science, University of Delhi, Delhi, India. I am a Techie. As being an Alexa student influencer, I teach about building and designing Alexa Skills to beginners and intermediate developers. I also organized Amazon Alexa Delhi Meetups along with another Alexa Student Influencer. Feel Free to Connect with me on - Linkedin Twitter Facebook Github
The goal for the repository can be summarised as follows:-
- Learn How to Write Clean Code
- Learn How to Solve Problems with Multiple Approaches
- Learn to Understand Other's Code
- Learn to Review Other's Code
- Learn How to Contribute in Open Source
The Following Order is the most effective to learn Data Structures and Algorithms:-
- Basic
- All Searching Algorithms
- All Sorting Algorithms
- Data Structures
- String
- Array/Vector
- Matrix
- Stack, Queue and Priority Queue
- Linked List
- Binary Tree
- Heap
- Set and Hash Map
- Graph
- Trie
- Advanced Data Structure ( Segment Tree, B+ Tree, etc)
- Standard Template Library ( STL - Only Available in C++ )
- Algorithm Techniques
- Bitwise Algorithm
- Dynamic Programming
- Divide and Conquer
- Backtracking
- Greedy Approach
- Advanced Algorithm Techniques
The mentioned profiles and their respective tracks are only for Freshers.
-
Software Development Engineer
- Quatitative Aptitudes and Puzzles
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- Databases ( Relational or Non-Relational )
- System Design and Query
- At least 3 Projects ( Either on Team or Individual )
- Any Framework ( Plus Point )
-
UI/UX Designer
- Quatitative Aptitudes
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- Databases ( Relational or Non-Relational )
- At least 2 Projects on UI/UX Design
- Any Framework ( Vue.js, React, Django, etc. )
-
Full Stack Web Developer
- Quatitative Aptitudes and Puzzles
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- Databases ( Relational or Non-Relational )
- Good hands on HTML, CSS, and Javascript
- At least 3 Projects ( Either on Team or Individual )
- Any Framework ( Plus Point )
-
Front-end Developer
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- At least 3 Projects ( Either on Team or Individual )
- Good hands on HTML, CSS, and Javascript
- Any Framework ( Plus Point )
-
Solution Engineer or Solution Architect
- Quatitative Aptitudes and Puzzles
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- Databases ( Relational or Non-Relational )
- At least 3 Projects ( Either on Team or Individual )
-
Data Analyst
- Quatitative Aptitudes
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- Knowledge of Probability and Statistics
- At least 2 Projects based on Data ( Either R or Python )
-
Business Analyst, Technical Analyst or Business Techinal Analyst
- Quatitative Aptitude and Puzzles
- Good Communication Skill
- Applying Business Intelligence to Case Studies
- Good Knowledge of Machine Learning
- Knowledge of Probability and Statistics
- At least 2 Good Projects based on Data ( Either R, SAS or Python )
-
Data Scientist
- Data Structures and Algorithms in C, C++, Java or Python
- Problem Solving by Logics
- Good Knowledge of Neural Networks and Machine Learning
- At least 2 Good Projects based on NN or ML
-
Android Developer
- Quatitative Aptitudes and Puzzles
- Data Structures and Algorithms in Java
- Problem Solving by Logics
- Databases ( Relational or Non-Relational )
- At least 2 Projects on Androids ( Either on Team or Individual )
-
iOS Developer
- Quatitative Aptitudes
- Data Structures and Algorithms
- Problem Solving by Logics
- At least 2 Projects on iOS
-
AR/VR Developer
- Problem Solving by Logics
- At least 2 Projects on AR/VR