Spaces:
Running
Running
Upload 8 files
Browse files- .gitattributes +35 -35
- Dockerfile +13 -0
- README.md +11 -11
- app.py +146 -0
- data/Software Questions.csv +201 -0
- data/Updated_Job_Posting_Dataset.csv +0 -0
- data/coursera_course_dataset_v2_no_null.csv +0 -0
- requirements.txt +5 -0
.gitattributes
CHANGED
@@ -1,35 +1,35 @@
|
|
1 |
-
*.7z filter=lfs diff=lfs merge=lfs -text
|
2 |
-
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
-
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
-
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
-
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
-
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
-
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
-
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
-
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
-
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
-
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
-
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
-
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
-
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
-
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
-
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
-
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
-
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
-
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
-
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
-
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
-
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
-
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
-
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
-
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
-
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
-
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
-
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
-
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
-
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
-
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
-
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
-
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
-
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
Dockerfile
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM python:3.9-slim
|
2 |
+
|
3 |
+
WORKDIR /app
|
4 |
+
|
5 |
+
COPY requirements.txt .
|
6 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
7 |
+
|
8 |
+
COPY app.py .
|
9 |
+
COPY data/ data/ # Copy remaining datasets
|
10 |
+
|
11 |
+
EXPOSE 7860
|
12 |
+
|
13 |
+
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|
README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
---
|
2 |
-
title: Skill Assessment
|
3 |
-
emoji: 🔥
|
4 |
-
colorFrom: indigo
|
5 |
-
colorTo: green
|
6 |
-
sdk: docker
|
7 |
-
pinned: false
|
8 |
-
license: apache-2.0
|
9 |
-
---
|
10 |
-
|
11 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
1 |
+
---
|
2 |
+
title: Skill Assessment
|
3 |
+
emoji: 🔥
|
4 |
+
colorFrom: indigo
|
5 |
+
colorTo: green
|
6 |
+
sdk: docker
|
7 |
+
pinned: false
|
8 |
+
license: apache-2.0
|
9 |
+
---
|
10 |
+
|
11 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
ADDED
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from fastapi import FastAPI, HTTPException
|
2 |
+
from pydantic import BaseModel
|
3 |
+
from typing import Optional, Dict, List
|
4 |
+
import pandas as pd
|
5 |
+
from sentence_transformers import SentenceTransformer
|
6 |
+
from sklearn.feature_extraction.text import TfidfVectorizer
|
7 |
+
from sklearn.metrics.pairwise import cosine_similarity
|
8 |
+
import time
|
9 |
+
import os
|
10 |
+
|
11 |
+
app = FastAPI()
|
12 |
+
|
13 |
+
# Load datasets (only those needed for questions, jobs, and courses)
|
14 |
+
DATA_DIR = "data/"
|
15 |
+
job_df = pd.read_csv(os.path.join(DATA_DIR, "Updated_Job_Posting_Dataset.csv"), encoding="latin1")
|
16 |
+
course_df = pd.read_csv(os.path.join(DATA_DIR, "coursera_course_dataset_v2_no_null.csv"))
|
17 |
+
coding_df = pd.read_csv(os.path.join(DATA_DIR, "Software Questions.csv"), encoding="latin1")
|
18 |
+
|
19 |
+
# Preprocess datasets
|
20 |
+
coding_df.rename(columns={'Question': 'question', 'Answer': 'solutions'}, inplace=True)
|
21 |
+
job_df.rename(columns={'company_name': 'company', 'required_skills': 'skills'}, inplace=True)
|
22 |
+
course_df.rename(columns={'Title': 'course_title', 'Skills': 'skills'}, inplace=True)
|
23 |
+
coding_df.dropna(subset=['question', 'solutions'], inplace=True)
|
24 |
+
job_df["job_description"] = job_df["job_description"].fillna("")
|
25 |
+
|
26 |
+
# Load BERT model and vectorizer
|
27 |
+
bert_model = SentenceTransformer('paraphrase-MiniLM-L6-v2')
|
28 |
+
vectorizer = TfidfVectorizer()
|
29 |
+
|
30 |
+
# Pydantic model for request body
|
31 |
+
class UserInput(BaseModel):
|
32 |
+
name: str
|
33 |
+
skills: List[str] # Required list of skills
|
34 |
+
answers: Optional[Dict[str, Dict[str, str]]] = None # Optional answers
|
35 |
+
|
36 |
+
# Evaluate coding answers
|
37 |
+
def evaluate_coding_with_time(user_code, correct_code, start_time):
|
38 |
+
end_time = time.time()
|
39 |
+
execution_time = end_time - start_time
|
40 |
+
vectorized = vectorizer.fit_transform([user_code, correct_code])
|
41 |
+
similarity = cosine_similarity(vectorized)[0][1] * 100
|
42 |
+
if execution_time > 120:
|
43 |
+
similarity -= (execution_time - 120) * 0.1
|
44 |
+
return round(max(similarity, 0), 2)
|
45 |
+
|
46 |
+
# Get coding challenges
|
47 |
+
def get_coding_challenges(skills, num_questions=5):
|
48 |
+
skill_challenges = {}
|
49 |
+
for skill in skills:
|
50 |
+
relevant = coding_df[coding_df["question"].str.contains(skill, case=False, na=False)]
|
51 |
+
if not relevant.empty:
|
52 |
+
skill_challenges[skill] = relevant.sample(min(num_questions, len(relevant)))[["question", "solutions"]].to_dict(orient="records")
|
53 |
+
else:
|
54 |
+
skill_challenges[skill] = []
|
55 |
+
return skill_challenges
|
56 |
+
|
57 |
+
# Assign proficiency level
|
58 |
+
def get_proficiency_level(score):
|
59 |
+
if score >= 80:
|
60 |
+
return "Expert"
|
61 |
+
elif score >= 50:
|
62 |
+
return "Intermediate"
|
63 |
+
else:
|
64 |
+
return "Beginner"
|
65 |
+
|
66 |
+
# Recommend courses
|
67 |
+
def recommend_courses(weak_skills):
|
68 |
+
if not weak_skills:
|
69 |
+
return []
|
70 |
+
courses = course_df[course_df['skills'].str.contains('|'.join(weak_skills), case=False, na=False)]
|
71 |
+
return courses[['course_title', 'Organization']].head(5).to_dict(orient="records")
|
72 |
+
|
73 |
+
# Recommend jobs
|
74 |
+
def recommend_jobs(skills):
|
75 |
+
if not skills:
|
76 |
+
return []
|
77 |
+
job_df["job_embeddings"] = job_df["job_description"].apply(lambda x: bert_model.encode(str(x)))
|
78 |
+
user_embedding = bert_model.encode(" ".join(skills))
|
79 |
+
job_df["BERT_Similarity"] = job_df["job_embeddings"].apply(lambda x: cosine_similarity([x], [user_embedding])[0][0])
|
80 |
+
top_jobs = job_df.sort_values(by="BERT_Similarity", ascending=False).head(5)
|
81 |
+
return top_jobs[["job_title", "company", "location", "BERT_Similarity"]].to_dict(orient="records")
|
82 |
+
|
83 |
+
@app.get("/")
|
84 |
+
def read_root():
|
85 |
+
return {"message": "Skill Assessment API"}
|
86 |
+
|
87 |
+
@app.post("/assess")
|
88 |
+
def assess_skills(user_input: UserInput):
|
89 |
+
# Extract user data from request
|
90 |
+
user_name = user_input.name
|
91 |
+
user_skills = user_input.skills
|
92 |
+
|
93 |
+
if not user_skills:
|
94 |
+
raise HTTPException(status_code=400, detail="Skills list cannot be empty")
|
95 |
+
|
96 |
+
# Fetch coding challenges based on provided skills
|
97 |
+
challenges = get_coding_challenges(user_skills)
|
98 |
+
|
99 |
+
# Evaluate skills
|
100 |
+
user_scores = {}
|
101 |
+
for skill, challenge_list in challenges.items():
|
102 |
+
if not challenge_list:
|
103 |
+
user_scores[skill] = 0
|
104 |
+
continue
|
105 |
+
|
106 |
+
total_score = 0
|
107 |
+
num_questions = len(challenge_list)
|
108 |
+
|
109 |
+
if user_input.answers and skill in user_input.answers:
|
110 |
+
# Use provided answers
|
111 |
+
for challenge in challenge_list:
|
112 |
+
question = challenge["question"]
|
113 |
+
if question in user_input.answers[skill]:
|
114 |
+
start_time = time.time() - 10 # Simulate execution time
|
115 |
+
user_code = user_input.answers[skill][question]
|
116 |
+
correct_code = challenge["solutions"]
|
117 |
+
score = evaluate_coding_with_time(user_code, correct_code, start_time)
|
118 |
+
total_score += score
|
119 |
+
else:
|
120 |
+
total_score += 0 # No answer provided for this question
|
121 |
+
else:
|
122 |
+
# No answers provided; assign default score (50% per question)
|
123 |
+
total_score = 50 * num_questions
|
124 |
+
|
125 |
+
user_scores[skill] = round(total_score / num_questions, 2)
|
126 |
+
|
127 |
+
# Proficiency levels
|
128 |
+
proficiency_levels = {skill: get_proficiency_level(score) for skill, score in user_scores.items()}
|
129 |
+
weak_skills = [skill for skill, level in proficiency_levels.items() if level in ["Beginner", "Intermediate"]]
|
130 |
+
|
131 |
+
# Recommendations
|
132 |
+
courses = recommend_courses(weak_skills)
|
133 |
+
jobs = recommend_jobs(user_skills)
|
134 |
+
|
135 |
+
return {
|
136 |
+
"name": user_name,
|
137 |
+
"skills": user_skills,
|
138 |
+
"scores": user_scores,
|
139 |
+
"proficiency_levels": proficiency_levels,
|
140 |
+
"recommended_courses": courses,
|
141 |
+
"recommended_jobs": jobs
|
142 |
+
}
|
143 |
+
|
144 |
+
if __name__ == "__main__":
|
145 |
+
import uvicorn
|
146 |
+
uvicorn.run(app, host="0.0.0.0", port=7860)
|
data/Software Questions.csv
ADDED
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Question Number,Question,Answer,Category,Difficulty
|
2 |
+
1,What is the difference between compilation and interpretation?,Compilation translates source code into machine code creating an executable file. Interpretation translates and executes code line by line without an executable.,General Programming,Medium
|
3 |
+
2,Explain the concept of polymorphism.,"Polymorphism allows objects of different classes to be treated as objects of a common superclass, enabling method overriding.",General Programming,Medium
|
4 |
+
3,Define encapsulation and give an example.,"Encapsulation bundles data and methods in a class, restricting direct data access. Example: class with private data and public methods.",General Programming,Hard
|
5 |
+
4,"What is an abstract class, and how is it different from an interface?",An abstract class can't be instantiated and can have abstract and concrete methods. An interface only has method signatures without implementations.,General Programming,Medium
|
6 |
+
5,Describe the principles of Object-Oriented Programming (OOP).,"OOP principles include encapsulation, inheritance, polymorphism, and abstraction, promoting organized and maintainable code.",General Programming,Medium
|
7 |
+
6,What is the purpose of a constructor?,"A constructor initializes object properties upon class instantiation, ensuring a well-defined state.",General Programming,Medium
|
8 |
+
7,Explain the difference between stack and heap memory.,"Stack memory stores local variables and function calls; heap memory is for dynamic allocation. Stack operates in LIFO, heap managed manually or by garbage collection.",General Programming,Medium
|
9 |
+
8,"What is a design pattern, and can you name a few?","Design patterns are solutions to common design problems. Examples: Singleton, Factory, Observer, MVC.",General Programming,Medium
|
10 |
+
9,"Define the term ""DRY"" in software development.",DRY (Don't Repeat Yourself) advocates for avoiding code duplication by reusing existing code.,General Programming,Medium
|
11 |
+
10,What is the SOLID principle?,"SOLID represents five design principles for OOP: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.",General Program,Hard
|
12 |
+
11,What is the difference between an array and a linked list?,"An array has fixed size and stores elements in contiguous memory; a linked list consists of nodes with data and references, allowing dynamic size.",Data Structures,Easy
|
13 |
+
12,Explain the time complexity of an algorithm.,"Time complexity measures the time an algorithm takes relative to its input size, expressed in Big O notation.",Data Structures,Hard
|
14 |
+
13,Describe the difference between a binary search tree and a hash table.,"A binary search tree is hierarchical, maintaining order; a hash table maps keys to values for fast retrieval, without maintaining order.",Data Structures,Medium
|
15 |
+
14,What is a linked list and how does it work?,"A linked list is a series of nodes each containing data and a reference to the next node, allowing dynamic memory allocation and efficient insertions/deletions.",Data Structures,Medium
|
16 |
+
15,Explain the concept of recursion.,"Recursion is when a function calls itself to solve subproblems, with a base case to terminate recursion.",Data Structures,Medium
|
17 |
+
16,"What is Big O notation, and why is it important?","Big O notation describes the upper bound of algorithm time complexity, important for comparing efficiency and growth rates.",Data Structures,Medium
|
18 |
+
17,How do you perform a binary search on a sorted array?,"Binary search divides the search interval in half, repeatedly comparing the middle element to the target.",Data Structures,Hard
|
19 |
+
18,Discuss the advantages and disadvantages of different sorting algorithms.,Sorting algorithms vary in time/space complexity and stability. Quick Sort and Merge Sort are fast but more complex; Insertion and Bubble Sort are simple but slower.,Data Structures,Medium
|
20 |
+
19,Explain how a hash table works.,"A hash table uses a hash function to map keys to values in an array, allowing fast O(1) access.",Data Structures,Medium
|
21 |
+
20,What is dynamic programming?,"Dynamic programming solves complex problems by dividing them into smaller subproblems, avoiding redundant calculations.",Data Structures,Hard
|
22 |
+
21,What is the difference between Java and JavaScript?,"Java is a compiled, statically-typed language used for server-side, mobile, and desktop apps. JavaScript is an interpreted, dynamically-typed language for web development.",Languages and Frameworks,Medium
|
23 |
+
22,Describe the MVC architectural pattern.,"MVC divides an application into Model (data), View (UI), and Controller (input handling), promoting separation of concerns.",Languages and Frameworks,Medium
|
24 |
+
23,What is a RESTful API?,"RESTful API is a web service implementation using HTTP methods to perform CRUD operations on resources, adhering to stateless, client-server architecture.",Languages and Frameworks,Medium
|
25 |
+
24,"Explain the use of ""this"" keyword in JavaScript.","""this"" in JavaScript refers to the execution context, varying based on function calling, global scope, or event handlers.",Languages and Frameworks,Medium
|
26 |
+
25,What is a closure in programming?,A closure is a function with access to its outer scope variables even after the outer function has executed.,Languages and Frameworks,Medium
|
27 |
+
26,What are the differences between Python 2 and Python 3?,"Python 3 has print as a function, true division, Unicode support by default, and different syntax for exceptions, unlike Python 2.",Languages and Frameworks,Medium
|
28 |
+
27,Discuss the role of a package manager like npm or pip.,"Package managers manage installation, update, and dependency resolution of libraries, simplifying library management in development.",Languages and Frameworks,Hard
|
29 |
+
28,Explain the concept of multi-threading in Java.,"Multi-threading in Java allows concurrent execution of multiple threads, improving application responsiveness and performance.",Languages and Frameworks,Medium
|
30 |
+
29,What is a Singleton pattern?,"Singleton ensures a class has only one instance and provides a global access point to it, useful for shared resources.",Languages and Frameworks,Medium
|
31 |
+
30,What is a virtual function in C++?,"Virtual functions in C++ allow derived classes to override them, enabling runtime polymorphism and dynamic method dispatch.",Languages and Frameworks,Medium
|
32 |
+
31,"What is a database index, and why is it important?","A database index speeds up data retrieval, similar to a book's index, improving query performance.",Database and SQL,Medium
|
33 |
+
32,Explain the differences between SQL and NoSQL databases.,SQL databases use structured query language with a predefined schema; NoSQL databases store schema-less data with flexible models.,Database and SQL,Medium
|
34 |
+
33,What is a foreign key in a database?,"A foreign key links two tables by referring to the primary key in another table, ensuring referential integrity.",Database and SQL,Medium
|
35 |
+
34,Describe the ACID properties in database transactions.,"ACID: Atomicity (indivisible transactions), Consistency (consistent state transitions), Isolation (independent transactions), Durability (persisted changes).",Database and SQL,Hard
|
36 |
+
35,How do you optimize a SQL query for better performance?,"Optimize using indexes, efficient SQL, limiting data retrieval, analyzing query performance, and considering denormalization.",Database and SQL,Easy
|
37 |
+
36,What is normalization in database design?,"Normalization organizes data into separate tables to reduce redundancy and improve integrity, following normalization forms.",Database and SQL,Hard
|
38 |
+
37,Explain the difference between INNER JOIN and LEFT JOIN in SQL.,INNER JOIN returns matching rows from both tables; LEFT JOIN returns all rows from the left table and matching rows from the right.,Database and SQL,Medium
|
39 |
+
38,"What is a stored procedure, and when would you use one?","Stored procedures are precompiled SQL statements for data manipulation and logic, used for repetitive tasks and improving performance.",Database and SQL,Medium
|
40 |
+
39,"What is database denormalization, and when is it appropriate?","Denormalization introduces redundancy for performance, useful in read-heavy scenarios at the expense of storage and complexity.",Database and SQL,Medium
|
41 |
+
40,Discuss the advantages and disadvantages of using an ORM tool.,ORM simplifies database interactions and is language-agnostic. It can introduce performance overhead and may limit database features.,Database and SQL,Medium
|
42 |
+
41,What is the Document Object Model (DOM)?,"The DOM is a tree-like representation of a web page's structure, allowing manipulation of content, structure, and style via programming languages.",Web Development,Hard
|
43 |
+
42,Explain the difference between HTTP and HTTPS.,"HTTP is an unsecured data transmission protocol; HTTPS is secure, encrypting data in transit using SSL/TLS.",Web Development,Medium
|
44 |
+
43,What is CORS (Cross-Origin Resource Sharing)?,"CORS is a security measure allowing or restricting resources requested from another domain, managed via HTTP headers.",Web Development,Medium
|
45 |
+
44,Describe the purpose of a web server like Apache or Nginx.,"Web servers handle HTTP requests, serve content, manage security, routing, and can act as reverse proxies for application servers.",Web Development,Medium
|
46 |
+
45,"What is a cookie, and how does it work?","Cookies are data stored on the user's computer by the web server, sent with HTTP requests for session management, tracking, and storing preferences.",Web Development,Hard
|
47 |
+
46,What is a session in web development?,"A session maintains stateful information across multiple HTTP requests, typically for user authentication and data storage.",Web Development,Medium
|
48 |
+
47,Explain the concept of responsive web design.,"Responsive design ensures web content functions across different devices and screen sizes, using CSS media queries and flexible layouts.",Web Development,Medium
|
49 |
+
48,Describe the differences between GET and POST requests.,"GET requests retrieve data and include parameters in the URL; POST requests send data to the server, encapsulating data in the request body.",Web Development,Medium
|
50 |
+
49,What is the importance of SEO in web development?,"SEO enhances a website's visibility in search engine results, improving organic traffic and user reach through optimized content and structure.",Web Development,Medium
|
51 |
+
50,How does a web browser render a web page?,"Browsers parse HTML to create a DOM, fetch resources, build a rendering tree, apply CSS, calculate layout, and paint the page on the screen.",Web Development,Medium
|
52 |
+
51,"What is unit testing, and why is it important?","Unit testing evaluates individual code components, ensuring correctness and facilitating early defect detection.",Software Testing,Medium
|
53 |
+
52,Explain the difference between black-box and white-box testing.,Black-box tests functionality without internal code knowledge; white-box tests internal code logic and structure.,Software Testing,Hard
|
54 |
+
53,What is regression testing?,"Regression testing ensures new code changes don't break existing features, maintaining functionality over updates.",Software Testing,Easy
|
55 |
+
54,Describe the purpose of code reviews.,"Code reviews identify defects, improve quality, enforce standards, and facilitate knowledge sharing.",Software Testing,Hard
|
56 |
+
55,What is continuous integration (CI) and continuous delivery (CD)?,CI involves frequent code integration and testing; CD extends CI by deploying changes to production automatically after testing.,Software Testing,Medium
|
57 |
+
56,Explain the concept of code coverage in testing.,"Code coverage measures the extent of code tested, assessing test thoroughness and identifying untested areas.",Software Testing,Medium
|
58 |
+
57,What is a test case and how do you write one?,"A test case outlines test conditions, inputs, and expected results, structured with objective, steps, and documentation.",Software Testing,Medium
|
59 |
+
58,"What is load testing, and why is it necessary?","Load testing evaluates system performance under expected load conditions, identifying bottlenecks and scalability issues.",Software Testing,Medium
|
60 |
+
59,Describe the differences between manual and automated testing.,Manual testing is human-driven; suitable for exploratory and UX testing. Automated testing uses tools for repetitive tasks; suitable for regression and performance testing.,Software Testing,Hard
|
61 |
+
60,What is a bug tracking system?,"A bug tracking system logs, manages, and resolves issues in software development, ensuring systematic problem handling.",Software Testing,Medium
|
62 |
+
61,"What is Git, and how does it work?","Git is a distributed version control system for tracking changes in source code, allowing collaborative work and branch management.",Version Control,Medium
|
63 |
+
62,Explain the difference between Git and SVN (Subversion).,"Git is distributed, with local repository copies; SVN is centralized, requiring network connectivity for repository access.",Version Control,Hard
|
64 |
+
63,"What is a merge conflict, and how do you resolve it in Git?",Merge conflicts occur when changes in different branches clash. Resolve by manually editing files and committing the result.,Version Control,Medium
|
65 |
+
64,Describe the purpose of branching in version control.,"Branching isolates development work without affecting other parts of the repository, aiding in feature development and experimentation.",Version Control,Medium
|
66 |
+
65,"What is a pull request (PR), and how does it work?","A PR is a request to merge code from one branch to another, facilitating code review and discussion before integration.",Version Control,Medium
|
67 |
+
66,How do you handle code conflicts in a team project?,"Resolve code conflicts through communication, careful review, manual merging, testing, and documenting resolutions.",Version Control,Medium
|
68 |
+
67,"What is code refactoring, and why is it important?","Refactoring improves code structure and readability without altering functionality, enhancing maintainability and quality.",Version Control,Medium
|
69 |
+
68,Explain the role of Git branching strategies like GitFlow.,"GitFlow organizes branches and releases, defining naming conventions and branch purposes for structured and organized development.",Version Control,Medium
|
70 |
+
69,"What is Git rebase, and when would you use it?",Git rebase re-applies commits onto another base for a cleaner history. Use with caution to maintain a linear project history.,Version Control,Hard
|
71 |
+
70,Discuss the advantages of distributed version control systems.,"Distributed systems allow offline work, flexible branching/merging, faster operations, redundancy, and collaborative workflows.",Version Control,Medium
|
72 |
+
71,Describe the concept of microservices architecture.,"Microservices architecture consists of small, independent services communicating via APIs, each responsible for specific functionality, promoting scalability and maintenance.",System Design,Medium
|
73 |
+
72,"What is a load balancer, and why is it used in web applications?","A load balancer distributes incoming traffic across servers, ensuring resource efficiency, fault tolerance, and high availability.",System Design,Medium
|
74 |
+
73,Explain the importance of caching in web applications.,"Caching stores frequently accessed data for faster retrieval, reducing backend load, improving performance, and enhancing user experience.",System Design,Medium
|
75 |
+
74,What is a CDN (Content Delivery Network)?,"A CDN is a network of servers for delivering content efficiently to users based on geographic proximity, reducing latency and load times.",System Design,Medium
|
76 |
+
75,Discuss the pros and cons of monolithic vs. microservices architecture.,Monolithic is simple but less scalable; microservices offer scalability and flexibility but are complex to manage.,System Design,Medium
|
77 |
+
76,What is a stateless vs. stateful service?,"Stateless services don't retain client data between requests; stateful services maintain client state, useful for sessions and transactions.",System Design,Hard
|
78 |
+
77,Explain the concept of CAP theorem in distributed systems.,"The CAP theorem states that in a distributed system, you cannot simultaneously guarantee Consistency, Availability, and Partition Tolerance at all times.",System Design,Easy
|
79 |
+
78,How do you ensure data consistency in a distributed database?,"Ensure consistency using strong consistency models, two-phase commits, optimistic concurrency control, and conflict resolution strategies.",System Design,Hard
|
80 |
+
79,Describe the role of a reverse proxy in a web application.,"A reverse proxy routes client requests to appropriate servers, providing load balancing, SSL termination, caching, and security.",System Design,Medium
|
81 |
+
80,"What is a message broker, and when would you use one?","A message broker facilitates communication in distributed systems through asynchronous messaging, used in event-driven architectures and high-volume scenarios.",System Design,Medium
|
82 |
+
81,"What is SQL injection, and how can it be prevented?","SQL injection exploits vulnerabilities to execute malicious SQL. Prevent with parameterized queries, input validation, and least privilege access.",Security,Medium
|
83 |
+
82,Explain the concept of Cross-Site Scripting (XSS).,"XSS injects malicious scripts into web apps, executed by users' browsers. Prevent with input validation, output encoding, and CSP.",Security,Medium
|
84 |
+
83,What is two-factor authentication (2FA)?,2FA adds extra security by requiring two verification forms: something known (password) and something possessed (device).,Security,Hard
|
85 |
+
84,Describe the process of password hashing and salting.,"Hashing transforms passwords into hashes using algorithms; salting adds randomness, enhancing security against attacks.",Security,Medium
|
86 |
+
85,"What is OAuth, and how does it work?","OAuth allows third-party app access to user data without exposing credentials, using access tokens for authorization.",Security,Medium
|
87 |
+
86,How do you protect against session fixation attacks?,"Protect by regenerating session IDs post-authentication, using unpredictable IDs, and tying IDs to user authentication.",Security,Medium
|
88 |
+
87,Explain the principles of least privilege and defense in depth.,Least privilege limits access rights; defense in depth layers security. Both minimize attack surfaces and provide redundancy.,Security,Hard
|
89 |
+
88,What is a DDoS (Distributed Denial of Service) attack?,"A DDoS attack overwhelms a target with traffic, causing unavailability. Mitigate with DDoS protection, rate limiting, and traffic analysis.",Security,Medium
|
90 |
+
89,How can you secure sensitive data in a mobile app?,"Secure data by encrypting at rest and in transit, using secure authentication, and following best practices.",Security,Medium
|
91 |
+
90,Discuss the importance of security in API design.,"API security is vital to protect data and prevent unauthorized access, using authentication, validation, rate limiting, and encryption.",Security,Medium
|
92 |
+
91,"What is Docker, and how does it work?","Docker is a containerization platform packaging applications with dependencies, ensuring consistent environments across systems.",DevOps,Medium
|
93 |
+
92,Explain the concept of container orchestration.,"Container orchestration automates deployment, scaling, and management of containers, optimizing resource use and handling failures.",DevOps,Medium
|
94 |
+
93,"What is Kubernetes, and why is it popular in container management?","Kubernetes is an open-source container orchestration platform automating deployment and management, known for its scalability and community support.",DevOps,Medium
|
95 |
+
94,Describe the process of continuous integration and continuous delivery (CI/CD).,"CI/CD automates build, test, and deployment processes, delivering code changes rapidly and reliably to production.",DevOps,Hard
|
96 |
+
95,What is infrastructure as code (IaC)?,"IaC manages infrastructure using code, ensuring consistency, automation, and version control in deployments.",DevOps,Easy
|
97 |
+
96,How do you monitor the performance of a web application?,"Monitor using tools to collect and analyze data on response times, resource utilization, error rates, and user experience.",DevOps,Hard
|
98 |
+
97,Discuss the importance of automated testing in CI/CD pipelines.,"Automated testing in CI/CD ensures code changes are defect-free, enhancing reliability and speeding up delivery.",DevOps,Medium
|
99 |
+
98,"What is Blue-Green deployment, and when would you use it?",Blue-Green deployment alternates between two production environments for easy rollbacks and minimal downtime during updates.,DevOps,Medium
|
100 |
+
99,Explain the role of a configuration management tool like Ansible.,"Configuration management tools automate provisioning and management of software and infrastructure, ensuring consistency and efficiency.",DevOps,Medium
|
101 |
+
100,"Describe the benefits of using a cloud platform like AWS, Azure, or Google Cloud.","Cloud platforms offer scalability, cost-efficiency, global reach, and managed services, reducing operational burdens with security and compliance features.",DevOps,Medium
|
102 |
+
101,Explain the concept of 'closure' in JavaScript.,A closure is a function that remembers its outer variables and can access them.,Front-end,Hard
|
103 |
+
102,Describe the use of Docker in a DevOps environment.,"Docker allows for packaging applications in containers, facilitating consistent deployment across different environments.",DevOps,Medium
|
104 |
+
103,What is a 'race condition' in software development?,A race condition occurs when the system's behavior depends on the sequence or timing of other uncontrollable events.,Back-end,Medium
|
105 |
+
104,How would you optimize a website's load time?,"Optimizations can include minimizing HTTP requests, using CDNs, compressing files, caching, etc.",Front-end,Hard
|
106 |
+
105,What is the difference between SQL and NoSQL databases?,"SQL databases are structured, use SQL, and are better for complex queries. NoSQL databases are flexible, scale well, and are good for hierarchical data storage.",Back-end,Medium
|
107 |
+
106,Can you explain the concept of 'state' in React?,State in React is an object that holds some information that may change over the lifecycle of the component.,Front-end,Medium
|
108 |
+
107,What is continuous integration in DevOps?,Continuous integration is the practice of automating the integration of code changes into a software project.,DevOps,Medium
|
109 |
+
108,How do you implement a binary search algorithm?,"Binary search involves repeatedly dividing in half the portion of the list that could contain the item, until you've narrowed the possibilities to just one.",Full-stack,Medium
|
110 |
+
109,Describe the MVC architecture.,"MVC architecture stands for Model-View-Controller, separating the application into three interconnected components.",Full-stack,Medium
|
111 |
+
110,What are microservices and how do they differ from monolithic architectures?,"Microservices are a software development technique�a variant of the service-oriented architecture architectural style that structures an application as a collection of loosely coupled services. In a monolithic architecture, all components are interconnected and interdependent.",Back-end,Medium
|
112 |
+
111,Explain the difference between '==' and '===' in JavaScript.,"'==' compares values after type conversion, while '===' compares both value and type.",Front-end,Hard
|
113 |
+
112,What is Kubernetes and how does it relate to containerization?,"Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts.",DevOps,Medium
|
114 |
+
113,Describe how you would implement a RESTful API in a back-end application.,"A RESTful API is implemented by setting up HTTP routes (GET, POST, PUT, DELETE) and handling requests and responses in a stateless manner, often using JSON.",Back-end,Medium
|
115 |
+
114,What are the benefits of server-side rendering vs client-side rendering?,"Server-side rendering improves initial page load time and SEO, while client-side rendering is good for dynamic websites with less initial loading content.",Front-end,Medium
|
116 |
+
115,How do NoSQL databases handle data scaling compared to traditional SQL databases?,NoSQL databases are generally more scalable and provide superior performance for large-scale applications due to their flexibility in handling unstructured data.,Back-end,Medium
|
117 |
+
116,Explain the use of hooks in React.,Hooks are functions that let you 'hook into' React state and lifecycle features from function components.,Front-end,Medium
|
118 |
+
117,What is Infrastructure as Code (IaC) and its significance in DevOps?,"IaC is the management of infrastructure (networks, virtual machines, load balancers, etc.) in a descriptive model, using code, which increases development and deployment speed.",DevOps,Medium
|
119 |
+
118,Describe the process of memoization in programming.,Memoization is an optimization technique used to speed up programs by storing the results of expensive function calls.,Full-stack,Hard
|
120 |
+
119,What are the advantages of using a microservices architecture?,"Advantages include easier scalability, flexibility in choosing technology, better fault isolation, and improved continuous deployment.",Back-end,Easy
|
121 |
+
120,Explain the SOLID principles in software engineering.,"SOLID stands for Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles, guiding towards more maintainable, understandable, and flexible software.",Full-stack,Hard
|
122 |
+
121,What is lazy loading in web development?,"Lazy loading is a design pattern that delays loading of non-critical resources at page load time, reducing initial load time and page weight.",Front-end,Medium
|
123 |
+
122,Discuss the role of a load balancer in a distributed system.,A load balancer distributes network or application traffic across multiple servers to enhance responsiveness and availability of applications.,DevOps,Medium
|
124 |
+
123,How does indexing improve database query performance?,"Indexing speeds up data retrieval operations by effectively creating a smaller, faster version of the database table.",Back-end,Medium
|
125 |
+
124,Explain event delegation in JavaScript.,Event delegation refers to the practice of using a single event listener to manage all events of a specific type for child elements.,Front-end,Medium
|
126 |
+
125,Explain the concept of 'closure' in JavaScript.,A closure is a function that remembers its outer variables and can access them.,Front-end,Hard
|
127 |
+
126,Describe the use of Docker in a DevOps environment.,"Docker allows for packaging applications in containers, facilitating consistent deployment across different environments.",DevOps,Medium
|
128 |
+
127,What is a 'race condition' in software development?,A race condition occurs when the system's behavior depends on the sequence or timing of other uncontrollable events.,Back-end,Hard
|
129 |
+
128,How would you optimize a website's load time?,"Optimizations can include minimizing HTTP requests, using CDNs, compressing files, caching, etc.",Front-end,Medium
|
130 |
+
129,What is the difference between SQL and NoSQL databases?,"SQL databases are structured, use SQL, and are better for complex queries. NoSQL databases are flexible, scale well, and are good for hierarchical data storage.",Back-end,Medium
|
131 |
+
130,Can you explain the concept of 'state' in React?,State in React is an object that holds some information that may change over the lifecycle of the component.,Front-end,Medium
|
132 |
+
131,What is continuous integration in DevOps?,Continuous integration is the practice of automating the integration of code changes into a software project.,DevOps,Medium
|
133 |
+
132,How do you implement a binary search algorithm?,"Binary search involves repeatedly dividing in half the portion of the list that could contain the item, until you've narrowed the possibilities to just one.",Full-stack,Medium
|
134 |
+
133,Describe the MVC architecture.,"MVC architecture stands for Model-View-Controller, separating the application into three interconnected components.",Full-stack,Medium
|
135 |
+
134,What are microservices and how do they differ from monolithic architectures?,"Microservices are a software development technique�a variant of the service-oriented architecture architectural style that structures an application as a collection of loosely coupled services. In a monolithic architecture, all components are interconnected and interdependent.",Back-end,Hard
|
136 |
+
135,Explain the difference between '==' and '===' in JavaScript.,"'==' compares values after type conversion, while '===' compares both value and type.",Front-end,Easy
|
137 |
+
136,What is Kubernetes and how does it relate to containerization?,"Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts.",DevOps,Hard
|
138 |
+
137,Describe how you would implement a RESTful API in a back-end application.,"A RESTful API is implemented by setting up HTTP routes (GET, POST, PUT, DELETE) and handling requests and responses in a stateless manner, often using JSON.",Back-end,Medium
|
139 |
+
138,What are the benefits of server-side rendering vs client-side rendering?,"Server-side rendering improves initial page load time and SEO, while client-side rendering is good for dynamic websites with less initial loading content.",Front-end,Medium
|
140 |
+
139,How do NoSQL databases handle data scaling compared to traditional SQL databases?,NoSQL databases are generally more scalable and provide superior performance for large-scale applications due to their flexibility in handling unstructured data.,Back-end,Medium
|
141 |
+
140,Explain the use of hooks in React.,Hooks are functions that let you 'hook into' React state and lifecycle features from function components.,Front-end,Medium
|
142 |
+
141,What is Infrastructure as Code (IaC) and its significance in DevOps?,"IaC is the management of infrastructure (networks, virtual machines, load balancers, etc.) in a descriptive model, using code, which increases development and deployment speed.",DevOps,Hard
|
143 |
+
142,Describe the process of memoization in programming.,Memoization is an optimization technique used to speed up programs by storing the results of expensive function calls.,Full-stack,Medium
|
144 |
+
143,What are the advantages of using a microservices architecture?,"Advantages include easier scalability, flexibility in choosing technology, better fault isolation, and improved continuous deployment.",Back-end,Medium
|
145 |
+
144,Explain the SOLID principles in software engineering.,"SOLID stands for Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles, guiding towards more maintainable, understandable, and flexible software.",Full-stack,Hard
|
146 |
+
145,What is lazy loading in web development?,"Lazy loading is a design pattern that delays loading of non-critical resources at page load time, reducing initial load time and page weight.",Front-end,Medium
|
147 |
+
146,Discuss the role of a load balancer in a distributed system.,A load balancer distributes network or application traffic across multiple servers to enhance responsiveness and availability of applications.,DevOps,Medium
|
148 |
+
147,How does indexing improve database query performance?,"Indexing speeds up data retrieval operations by effectively creating a smaller, faster version of the database table.",Back-end,Medium
|
149 |
+
148,Explain event delegation in JavaScript.,Event delegation refers to the practice of using a single event listener to manage all events of a specific type for child elements.,Front-end,Medium
|
150 |
+
149,Explain the concept of 'closure' in JavaScript.,A closure is a function that remembers its outer variables and can access them.,Front-end,Medium
|
151 |
+
150,Describe the use of Docker in a DevOps environment.,"Docker allows for packaging applications in containers, facilitating consistent deployment across different environments.",DevOps,Medium
|
152 |
+
151,Design a distributed key-value store.,"Focus on data partitioning, replication for fault tolerance, consistency models, and handling node failures.",System Design,Hard
|
153 |
+
152,Implement a function to check if a binary tree is balanced.,Use a recursive function to check the height of each subtree; return false if the difference is more than one.,Algorithms,Hard
|
154 |
+
153,Design a URL shortening service like bit.ly.,"Consider efficient hashing, collision resolution, database schema, scalability, and API rate limiting.",System Design,Hard
|
155 |
+
154,Design a recommendation system for a large e-commerce platform.,"Use collaborative filtering, content-based filtering, or hybrid methods; consider scalability and real-time processing.",Machine Learning,Hard
|
156 |
+
155,Write an algorithm to find the median of a stream of numbers.,"Use two heaps (max heap for lower half, min heap for upper half) to maintain the median.",Algorithms,Hard
|
157 |
+
156,Explain the Raft consensus algorithm.,"Discuss leader election, log replication, safety, and how Raft achieves consensus in a distributed system.",Distributed Systems,Hard
|
158 |
+
157,"Optimize a global, high-traffic content delivery network.","Use strategies like caching, edge locations, load balancing, and optimizing routing and data compression.",Networking,Hard
|
159 |
+
158,Design a chat application that can scale to millions of users.,"Consider websocket protocol for real-time communication, efficient message broadcasting, and scalable backend architecture.",System Design,Hard
|
160 |
+
159,Implement a garbage collector for a programming language.,"Understand memory management concepts like mark-and-sweep, reference counting, and generational collection.",Low-level Systems,Hard
|
161 |
+
160,Design a scalable notification system for a social network.,"Focus on system architecture, push vs. pull models, handling peak loads, database optimization, and message queuing.",System Design,Hard
|
162 |
+
161,Explain the workings of the TCP protocol for a low-latency network.,"Focus on the three-way handshake, congestion control (like TCP Fast Open, and CUBIC), and optimizing for reduced latency.",Networking,Hard
|
163 |
+
162,Design and implement a concurrent hash map.,Implement with fine-grained locking or lock-free techniques to ensure thread safety and high concurrency.,Data Structures,Hard
|
164 |
+
163,Find the Kth largest element in a stream of numbers.,"Utilize a min-heap to keep track of the K largest elements, ensuring efficient insertion and extraction.",Algorithms,Hard
|
165 |
+
164,Implement Google's PageRank algorithm.,Use graph-based algorithms focusing on eigenvector calculation and iterative approaches.,Algorithms,Hard
|
166 |
+
165,Design an API rate limiter for a web service.,"Use token bucket or leaky bucket algorithms, consider distributed storage for scalability.",System Design,Hard
|
167 |
+
166,Optimize database queries for a high-traffic website.,"Focus on indexing, query optimization, using caching, database sharding, and efficient schema design.",Database Systems,Hard
|
168 |
+
167,Create a secure and scalable authentication system for a web application.,"Implement OAuth for third-party integrations, use JWT for stateless authentication, and ensure protection against common security vulnerabilities.",Security,Hard
|
169 |
+
168,Design a system for efficient storage and retrieval of large-scale time-series data.,"Optimize for write-heavy loads, use time-based partitioning, efficient indexing, and consider data compression techniques.",Database Systems,Hard
|
170 |
+
169,Explain how a blockchain works and how to implement one.,"Focus on cryptographic hashing, decentralized consensus algorithms (like Proof of Work), and the maintenance of a distributed ledger.",Distributed Systems,Hard
|
171 |
+
170,Design an efficient parking lot management system.,"Use object-oriented design principles, focus on efficiently handling different vehicle sizes, and optimizing space usage.",System Design,Hard
|
172 |
+
171,Develop a machine learning model to predict stock prices.,"Consider time series analysis, regression models, and reinforcement learning; pay attention to features and data preprocessing.",Machine Learning,Hard
|
173 |
+
172,Write a custom memory allocator for a C++ application.,"Discuss memory pool allocation, handling fragmentation, and optimizing for allocation/deallocation speed.",Low-level Systems,Hard
|
174 |
+
173,Design a real-time multiplayer online game architecture.,"Focus on handling high network traffic, efficient state synchronization, latency reduction, and scalability.",System Design,Hard
|
175 |
+
174,Implement a distributed file system.,"Address challenges in data distribution, replication, fault tolerance, consistency, and performance.",Distributed Systems,Hard
|
176 |
+
175,Optimize a search algorithm for a large dataset in a distributed environment.,Implement distributed searching algorithms like MapReduce for scalability and efficiency.,Algorithms,Hard
|
177 |
+
176,Design a data pipeline for processing big data in real-time.,"Utilize stream processing frameworks (like Apache Kafka, Spark Streaming), ensure fault tolerance, and manage backpressure.",Data Engineering,Hard
|
178 |
+
177,Build a high-frequency trading system and discuss its components.,"Focus on low latency, high throughput, reliable data feeds, order execution systems, and concurrent algorithms.",System Design,Hard
|
179 |
+
178,Develop a deep learning model to analyze and interpret medical images.,"Use convolutional neural networks, pay attention to dataset quality and preprocessing, and handle class imbalances.",Machine Learning,Hard
|
180 |
+
179,Create an AI that can play a complex board game at a competitive level.,"Implement advanced AI techniques like Monte Carlo Tree Search, deep learning, and reinforcement learning.",Artificial Intelligence,Hard
|
181 |
+
180,Design a fraud detection system for online transactions.,"Use machine learning for anomaly detection, implement rule-based systems for known fraud patterns, ensure real-time processing.",Security,Hard
|
182 |
+
181,Implement a distributed graph processing framework.,"Discuss vertex-centric computation, message passing between nodes, and optimizations for large-scale processing.",Distributed Systems,Hard
|
183 |
+
182,Design a global video streaming service like Netflix.,"Focus on CDN usage, adaptive bitrate streaming, content caching strategies, and handling peak traffic loads.",System Design,Hard
|
184 |
+
183,Create a system to efficiently match job seekers with job postings.,"Use NLP for parsing resumes, implement ranking algorithms, and optimize for search and matching efficiency.",Algorithms,Hard
|
185 |
+
184,Design and implement a large-scale distributed cache system.,"Consider consistency, data partitioning, eviction policies, and fault tolerance in distributed caching.",Distributed Systems,Hard
|
186 |
+
185,Optimize network protocols for a satellite communication system.,"Address latency, data loss, and bandwidth issues; optimize for long-distance and high-latency networks.",Networking,Hard
|
187 |
+
186,Develop an autonomous vehicle's path planning algorithm.,"Implement algorithms considering real-time obstacle avoidance, dynamic path adjustments, and efficient routing.",Algorithms,Hard
|
188 |
+
187,Design a scalable and reliable messaging system for a large corporation.,"Utilize message queues (like Kafka, RabbitMQ), ensure fault tolerance, and implement load balancing.",System Design,Hard
|
189 |
+
188,Implement a natural language processing algorithm to understand and answer user queries.,"Use NLP techniques like tokenization, parsing, and deep learning models for understanding and generating responses.",Machine Learning,Hard
|
190 |
+
189,Create an efficient algorithm for real-time anomaly detection in network traffic.,Implement statistical models or machine learning algorithms to detect unusual patterns indicative of anomalies.,Algorithms,Hard
|
191 |
+
190,Design a system to manage and process Internet of Things (IoT) data.,"Focus on handling large-scale data influx, real-time processing, data storage, and analytics.",System Design,Hard
|
192 |
+
191,Build a compiler for a new programming language.,"Discuss lexical analysis, parsing, syntax tree generation, semantic analysis, and code generation.",Low-level Systems,Hard
|
193 |
+
192,Implement a robust text editor with features like auto-complete and syntax highlighting.,"Consider efficient data structures for text storage (like gap buffers), and algorithms for syntax parsing.",Algorithms,Hard
|
194 |
+
193,Design a scalable infrastructure for an online advertising platform.,"Focus on handling high-volume traffic, data analytics, ad targeting algorithms, and ensuring low-latency responses.",System Design,Hard
|
195 |
+
194,Develop a machine learning algorithm to detect fake news on social media.,"Use NLP for text analysis, implement classification algorithms, and consider the challenge of unstructured data.",Machine Learning,Hard
|
196 |
+
195,Optimize an SQL database for a high-volume financial transaction system.,"Focus on transaction isolation levels, indexing strategies, query optimization, and database sharding.",Database Systems,Hard
|
197 |
+
196,Design a cloud-based virtual desktop infrastructure.,"Address virtualization technologies, resource allocation, security, and remote access protocols.",System Design,Hard
|
198 |
+
197,Create a real-time sports analytics system using sensor data.,"Utilize streaming data processing, machine learning for pattern recognition, and efficient data storage solutions.",Data Engineering,Hard
|
199 |
+
198,Implement a quantum algorithm for solving a well-known computational problem.,"Discuss quantum computing principles, qubit manipulation, and specific algorithms like Grover's or Shor's algorithm.",Algorithms,Hard
|
200 |
+
199,Design a secure mobile payment system for developing countries.,"Focus on security protocols, offline capabilities, user authentication, and low-resource optimizations.",Security,Hard
|
201 |
+
200,Build a scalable image processing pipeline for a photo-sharing app.,"Implement distributed processing, efficient storage, and consider ML techniques for feature extraction.",System Design,Hard
|
data/Updated_Job_Posting_Dataset.csv
ADDED
The diff for this file is too large to render.
See raw diff
|
|
data/coursera_course_dataset_v2_no_null.csv
ADDED
The diff for this file is too large to render.
See raw diff
|
|
requirements.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
fastapi==0.103.0
|
2 |
+
uvicorn==0.23.2
|
3 |
+
pandas==2.0.3
|
4 |
+
sentence-transformers==2.2.2
|
5 |
+
scikit-learn==1.3.0
|