Coding Interview Resources
This channel contains the free resources and solution of coding problems which are usually asked in the interviews. Managed by: @love_data
Show more📈 Analytical overview of Telegram channel Coding Interview Resources
Channel Coding Interview Resources (@crackingthecodinginterview) in the English language segment is an active participant. Currently, the community unites 52 248 subscribers, ranking 2 474 in the Technologies & Applications category and 6 815 in the India region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 52 248 subscribers.
According to the latest data from 26 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 31 over the last 30 days and by -3 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 1.85%. Within the first 24 hours after publication, content typically collects 0.76% reactions from the total number of subscribers.
- Post reach: On average, each post receives 966 views. Within the first day, a publication typically gains 398 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 2.
- Thematic interests: Content is focused on key topics such as array, stack, algorithm, programming, sort.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“This channel contains the free resources and solution of coding problems which are usually asked in the interviews.
Managed by: @love_data”
Thanks to the high frequency of updates (latest data received on 27 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
SELECT name, salary
FROM employees;
2. FROM
What it is: Specifies the table
What it does: Tells SQL where to get data from
Query: Fetch all data from employees
SELECT *
FROM employees;
3. WHERE
What it is: Filters rows based on condition
What it does: Returns only matching rows
Query: Employees with salary > 30000
SELECT *
FROM employees
WHERE salary > 30000;
4. ORDER BY
What it is: Sorts the data
What it does: Arranges rows in order
Query: Sort by salary (highest first)
SELECT *
FROM employees
ORDER BY salary DESC;
5. COUNT()
What it is: Counts rows
What it does: Returns total records
Query: Count employees
SELECT COUNT(*)
FROM employees;
6. AVG()
What it is: Calculates average
What it does: Returns mean value
Query: Average salary
SELECT AVG(salary)
FROM employees;
7. GROUP BY
What it is: Groups rows by column
What it does: Applies aggregation per group
Query: Avg salary per department
SELECT department, AVG(salary)
FROM employees
GROUP BY department;
8. HAVING
What it is: Filters grouped data
What it does: Returns filtered groups
Query: Departments with avg salary > 40000
SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) > 40000;
9. INNER JOIN
What it is: Combines matching rows from tables
What it does: Returns common data
Query: Employees with department names
SELECT e.name, d.department_name
FROM employees e
INNER JOIN departments d
ON e.dept_id = d.dept_id;
10. LEFT JOIN
What it is: Combines all left + matching right
What it does: Returns all left table data
Query: All employees with departments
SELECT e.name, d.department_name
FROM employees e
LEFT JOIN departments d
ON e.dept_id = d.dept_id;
11. CASE WHEN
What it is: Conditional logic
What it does: Creates values based on condition
Query: Categorize salary
SELECT name,
CASE
WHEN salary > 40000 THEN 'High'
ELSE 'Low'
END AS category
FROM employees;
12. SUBQUERY
What it is: Query inside another query
What it does: Uses result of inner query
Query: Salary above average
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);
13. RANK()
What it is: Window function
What it does: Assigns rank without grouping
Query: Rank employees by salary
SELECT name, salary,
RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;
14. DISTINCT
What it is: Removes duplicates
What it does: Returns unique values
Query: Unique departments
SELECT DISTINCT department
FROM employees;
15. LIKE
What it is: Pattern matching
What it does: Filters text patterns
Query: Names starting with A
SELECT *
FROM employees
WHERE name LIKE 'A%';
Double Tap ♥️ For MoreSELECT MAX(salary)
FROM employee
WHERE salary < (SELECT MAX(salary) FROM employee);
2️⃣ Get the top 3 products by revenue from sales table.
SELECT product_id, SUM(revenue) AS total_revenue
FROM sales
GROUP BY product_id
ORDER BY total_revenue DESC
LIMIT 3;
3️⃣ Use JOIN to combine customer and order data.
SELECT c.customer_name, o.order_id, o.order_date
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id;
(That's an INNER JOIN—use LEFT JOIN to include all customers, even without orders.)
4️⃣ Difference between WHERE and HAVING?
⦁ WHERE filters rows before aggregation (e.g., on individual records).
⦁ HAVING filters rows after aggregation (used with GROUP BY on aggregates).
Example:
SELECT department, COUNT(*)
FROM employee
GROUP BY department
HAVING COUNT(*) > 5;
5️⃣ Explain INDEX and how it improves performance.
An INDEX is a data structure that improves the speed of data retrieval.
It works like a lookup table and reduces the need to scan every row in a table.
Especially useful for large datasets and on columns used in WHERE, JOIN, or ORDER BY—think 10x faster queries, but it slows inserts/updates a bit.
💬 Tap ❤️ for more!def reverse_string(s):
return s[::-1]
C++:
string reverseString(string s) {
reverse(s.begin(), s.end());
return s;
}
Java:
String reverseString(String s) {
return new StringBuilder(s).reverse().toString();
}
2️⃣ Check for Palindrome
Q: Check if a string is a palindrome.
Python:
def is_palindrome(s):
s = s.lower().replace(" ", "")
return s == s[::-1]
C++:
bool isPalindrome(string s) {
transform(s.begin(), s.end(), s.begin(), ::tolower);
s.erase(remove(s.begin(), s.end(), ' '), s.end());
return s == string(s.rbegin(), s.rend());
}
Java:
boolean isPalindrome(String s) {
s = s.toLowerCase().replaceAll(" ", "");
return s.equals(new StringBuilder(s).reverse().toString());
}
3️⃣ Count Vowels in a String
Q: Count number of vowels in a string.
Python:
def count_vowels(s):
return sum(1 for c in s.lower() if c in "aeiou")
C++:
int countVowels(string s) {
int count = 0;
for (char c: s) {
c = tolower(c);
if (string("aeiou").find(c)!= string::npos)
count++;
}
return count;
}
Java:
int countVowels(String s) {
int count = 0;
s = s.toLowerCase();
for (char c : s.toCharArray()) {
if ("aeiou".indexOf(c) != -1)
count++;
}
return count;
}
4️⃣ Find Factorial (Recursion)
Q: Find factorial using recursion.
Python:
def factorial(n):
return 1 if n <= 1 else n * factorial(n - 1)
C++:
int factorial(int n) {
return (n <= 1) ? 1 : n * factorial(n - 1);
}
Java:
int factorial(int n) {
return (n <= 1) ? 1 : n * factorial(n - 1);
}
5️⃣ Find Duplicate Elements in List/Array
Q: Print all duplicates from a list.
Python:
from collections import Counter
def find_duplicates(lst):
return [k for k, v in Counter(lst).items() if v > 1]
C++:
vector<int> findDuplicates(vector<int>& nums) {
unordered_map<int, int> freq;
vector<int> res;
for (int n : nums) freq[n]++;
for (auto& p : freq)
if (p.second > 1) res.push_back(p.first);
return res;
}
Java:
List<Integer> findDuplicates(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
List<Integer> result = new ArrayList<>();
for (int n : nums) map.put(n, map.getOrDefault(n, 0) + 1);
for (Map.Entry<Integer, Integer> entry : map.entrySet())
if (entry.getValue() > 1) result.add(entry.getKey());
return result;
}
Double Tap ♥️ For More