The Evolution of Drupal: What's Hot in Version 11

 Drupal 11 has officially landed, and it’s more than just another major version. It marks a transformation in how we build, manage, and deliver digital experiences.

Drupal 11 has officially landed, and it’s more than just another major version. It marks a transformation in how we build, manage, and deliver digital experiences.

Let’s explore what makes Drupal 11 not just an update—but a revolution.

Drupal 11: Key Features & Enhancements You Must Know!



1. Recipes: Build Faster, Build Smarter

Recipes solve the tedious setup phase by offering pre-packaged site features like a blog or job board. They're modular, reusable, and easy to extend, saving significant configuration time.

2. Single Directory Components (SDC)

Each component now lives in its own folder with Twig, CSS, JS, and YAML files. This simplifies theming and supports a component-based architecture.

3. Better Authoring with CKEditor 5

CKEditor 5 introduces collaborative editing, better formatting, and improved media handling, providing a modern writing experience.

4. A Leaner, Faster Core

Drupal 11 removes outdated modules and deprecated code, making core smaller, cleaner, and more maintainable.

5. Under the Hood: Modern Stack

Drupal 11 requires PHP 8.3, Symfony 7, and Composer 2.7+, ensuring compatibility with modern PHP projects.

6. Admin Experience: Claro, Refined

Claro theme improvements enhance usability, accessibility, and mobile responsiveness for content editors.

7. Decoupled-Ready and API-First

With JSON:API and better REST support, Drupal 11 is ready for headless front-ends using React, Vue, or Next.js.

Why Drupal 11 Matters

Drupal 11 improves the experience for developers, site builders, and content teams by providing a leaner codebase, faster performance, and better authoring tools.

Final Thoughts: Should You Upgrade?

If you're on Drupal 10, upgrade is easy. Drupal 9 users should start planning now. Drupal 11 is faster, smarter, and more modern.

Action Plan

1. Run the Upgrade Status module
2. Refactor deprecated code
3. Try Recipes and SDC
4. Upgrade PHP and Composer

Ready to Embrace Drupal 11?

Whether you're building from scratch or migrating a legacy site, Drupal 11 is the future-proof CMS choice in 2025 and beyond.

Got questions or want help upgrading? Drop a comment or reach out!  waliullahmca786@gmail.com

String + Array Interview Questions list

 String-Based Questions

1. Reverse a string — without using built-ins.
2. Is it a palindrome? Let's find out.
3. Remove duplicates from a string — efficiently.
4. First non-repeating character — who stands alone?
5. Count how many times each character appears.
6. Flip the words in a sentence, not the letters.
7. Are two strings anagrams? Prove it.
8. Longest substring without repeats — sliding window style.
9. Build your own atoi — string to integer.
10. Compress strings with run-length encoding.
11. Most frequent character — who dominates?
12. List all possible substrings of a string.
13. Is one string a rotation of another?
14. Strip all white spaces from a string.
15. Is this a valid shuffle of two strings?
16. Convert text to Title Case — properly.
17. Find the longest common prefix among words.
18. Break a string into a char array — without confusion.
19. Replace spaces with %20 — classic URL trick.
20. Turn full sentences into acronyms.
21. Check if the string is all digits — no alphabets allowed.
22. Count how many words are in the string.
23. Remove a specific character — cleanly.
24. Find the shortest word in a sentence.
25. Longest palindromic substring — two-pointer style.

Array-Based Questions

26. Reverse an array in-place.
27. Find the largest and smallest element.
28. Check for duplicates in an array.
29. Remove duplicates — return only unique values.
30. Find the missing number from 1 to N.
31. Move all zeros to the end — keep order.
32. Rotate the array left/right by K positions.
33. Find the Kth largest/smallest element.
34. Merge two sorted arrays — without using extra space.
35. Find the intersection of two arrays.
36. Sort 0s, 1s, and 2s without using sort().
37. Find subarrays with a given sum.
38. Detect if a subarray sums to 0.
39. Find the longest increasing subsequence.
40. Kadane’s Algorithm — maximum subarray sum.
41. Check if the array is sorted and rotated.
42. Rearrange the array in max-min order alternately.
43. Find leaders in an array (no greater element to the right).
44. Calculate the frequency of all elements in O(n).
45. Product of all elements except self.

Drupal 10 vs. Previous Versions: Key Performance Enhancements

 Drupal 10 introduced several key improvements that enhance performance, developer experience, and maintainability compared to Drupal 9 and earlier versions. Here are some of the major performance-related improvements:

1. Symfony 6 & PHP 8.1/8.2 Support

Drupal 10 runs on Symfony 6, a faster and more efficient framework than Symfony 4 

 (used in Drupal 9).

Full support for PHP 8.1 and 8.2 enables:

    JIT (Just-in-Time) compilation.

    Better memory usage and execution speed.

    Performance boosts from language-level improvements.

2. Modern JavaScript Components (Replacing jQuery UI)

Many legacy jQuery components have been removed or replaced with modern JavaScript, reducing page weight and improving frontend performance.

 Example: Dialogs and UI widgets are now implemented using more efficient libraries or custom JavaScript.

3. CKEditor 5 (Replacing CKEditor 4)

CKEditor 5 is significantly faster, more modular, and more lightweight.

Better for authoring performance and loading times in admin UI.

4. Theme Optimization (Olivero & Claro)

The new Olivero (frontend) and Claro (admin) themes are built with performance in mind:

    Modern CSS grid layout.

    Fewer dependencies.

    Accessible and responsive by default, reducing custom tweaks that slow rendering.

5. Cleaner Codebase (Deprecated Code Removed)

All deprecated APIs from Drupal 8 and 9 have been removed.

Leaner core = fewer slowdowns from legacy code paths.

Helps PHP Opcache and autoloaders work more efficiently.

 6. More Efficient Module Handling

Optional modules like Aggregator, HAL, RDF, and Color have been removed or deprecated.

Reduces overhead from unused code and services being bootstrapped.

7. Improved Cache System

Core improvements to caching (dynamic page cache, render cache) have continued in Drupal 10.

Caching is more consistent and reliable due to underlying framework upgrades.

8. Better Support for Lazy Loading

Media and images in Drupal 10 benefit from native support for loading="lazy".

Helps reduce initial page load time, especially on media-heavy sites.

9. Configurable Performance Modules

Tools like BigPipe (for streaming content), and the core Performance module (for JS/CSS aggregation and caching) are better integrated.



Basic SQL Interview Questions

What is SQL?

What are the different types of SQL statements?
  DDL, DML, DCL, TCL
What is the difference between WHERE and HAVING?
What is a primary key?
What is a foreign key?
What is the difference between INNER JOIN and LEFT JOIN?
What is the difference between DELETE, TRUNCATE, and DROP?
What is normalization? Explain its types.
What is denormalization?
What are constraints in SQL?
    NOT NULL, UNIQUE, CHECK, etc.

Intermediate SQL Interview Questions

What is a subquery? How is it different from a JOIN?
What are indexes? What types are there?
What are aggregate functions in SQL?
SUM(), AVG(), COUNT(), etc.
Explain GROUP BY and ORDER BY.
What is the difference between UNION and UNION ALL?
What are views? How are they useful?
What is a stored procedure?
What is a trigger in SQL?
Explain window functions with examples.
What is the difference between correlated and non-correlated subqueries?

Advanced SQL Interview Questions

How do you optimize SQL queries for performance?
What is a CTE (Common Table Expression)? How is it used?
Explain indexing strategies.
How does SQL handle transactions?
ACID properties
What is a deadlock in SQL? How do you resolve it?
What are recursive queries? Give an example.
Explain RANK(), DENSE_RANK(), and ROW_NUMBER().
What is the difference between EXISTS and IN?
What does EXPLAIN PLAN do?
What is the difference between horizontal and vertical partitioning?

Practical Scenario-Based Questions

Write a SQL query to find the second highest salary.
Write a query to find duplicate records in a table.
Write a query to transpose rows to columns.
How do you update one table based on data from another table?
How do you retrieve the Nth highest value from a column?

What is SQL?

SQL (Structured Query Language) is a standard programming language used to communicate with and manage data in relational database management systems (RDBMS) like MySQL, PostgreSQL, Microsoft SQL Server, and Oracle.

What SQL is used for:

SQL allows you to:
  • Query data from a database (SELECT)

  • Insert new records (INSERT)

  • Update existing records (UPDATE)

  • Delete records (DELETE)

  • Create and modify database structures like tables and indexes (CREATEALTERDROP)

  • Control access to data (GRANTREVOKE)

What are the different types of SQL statements?


SQL statements are categorized into five main types, each serving a specific purpose in managing and manipulating relational databases:

1. Data Definition Language (DDL)

These statements define the structure of the database objects like tables, indexes, and views.

Statements      Purpose

CREATE        Creates a new table, view, or database

ALTER           Modifies an existing object

DROP            Deletes an object

TRUNCATE   Removes all records from a table

RENAME      Renames a database object

2. Data Manipulation Language (DML)

These statements are used to manipulate data within tables.

Statements      Purpose

SELECT       Retrieves data

INSERT           Adds new records

UPDATE         Modifies existing records

DELETE         Removes records

3. Data Control Language (DCL)

These statements manage access to the data in the database.

Statements      Purpose

GRANT         Gives user access privileges

REVOKE       Withdraws access privileges

4. Transaction Control Language (TCL)

These statements manage changes made by DML statements and control transaction behavior.

Statements      Purpose

COMMIT       Saves all changes made in the transaction

ROOLBACK   Undoes changes if something goes wrong

SAVEPOINT    Sets a point to roll back to later

SET TRANSACTION Defines transaction properties

5. Data Query Language (DQL)

Some categorize SELECT separately as DQL since it's used strictly for querying (not changing) data.

Statements      Purpose

SELECT         Retrieves data from tables


What is the difference between WHERE and HAVING?

The main difference between WHERE and HAVING in SQL is when and how they are used to filter data.

WHERE

  • Filters rows before any grouping or aggregation.

  • Used with SELECT, UPDATE, DELETE statements.

  • Cannot be used with aggregate functions (like SUM()AVG(), etc.)

Example:

sql

SELECT * FROM employees WHERE department = 'Sales';

Filters individual rows where department = 'Sales'.

HAVING

  • Filters groups after aggregation (GROUP BY).

  • Used only with GROUP BY or aggregate functions.

  • Can use aggregate functions like COUNT()SUM().

Example:

sql

SELECT department, COUNT(*) as total FROM employees GROUP BY department HAVING COUNT(*) > 5;

Filters departments with more than 5 employees (after grouping).

Summary Table:

FeatureWHEREHAVING
Filters   Before grouping
After grouping
Used with   All types of queriesOnly with GROUP BY / aggregates
Aggregates   Cannot use aggregate functions    Can use aggregate functions
Execution   Row-level filteringGroup-level filtering


What is a primary key?


A primary key is a column or set of columns in a database table that uniquely
identifies each row in that table.

Key Characteristics of a Primary Key:

  1. Uniqueness: Each value must be unique across the table.

  2. Not Null: A primary key column cannot contain NULL values.

  3. Only one per table: A table can have only one primary key, but it can consist of multiple columns (called a composite key).

Example:

sql

CREATE TABLE students ( student_id INT PRIMARY KEY, name VARCHAR(100), age INT );

Here, student_id is the primary key, ensuring every student has a unique ID.

Composite Primary Key Example:

sql

CREATE TABLE course_enrollments ( student_id INT, course_id INT, PRIMARY KEY (student_id, course_id) );

This ensures that each student can enroll in a course only once — the

combination must be unique.

Why Primary Keys Are Important:

  • They prevent duplicate records.

  • They establish relationships between tables (e.g., foreign keys).

  • They improve data integrity and query performance.


What is a foreign key?


A foreign key is a column (or set of columns) in one table that links to the primary key
in another table. It is used to establish a relationship between two tables in a
relational database.

Key Characteristics of a Foreign Key:

  1. Maintains referential integrity between related tables.

  2. The values in a foreign key column must match values in

    the referenced primary key column.

  3. A foreign key can contain duplicate values and NULLs (unless specified otherwise).

Example:

SQL

-- Parent table CREATE TABLE departments ( dept_id INT PRIMARY KEY, dept_name VARCHAR(100) ); -- Child table with foreign key CREATE TABLE employees ( emp_id INT PRIMARY KEY, name VARCHAR(100), dept_id INT, FOREIGN KEY (dept_id) REFERENCES departments(dept_id) );

In this example:
  • departments.dept_id is the primary key.

  • employees.dept_id is a foreign key pointing to departments.dept_id.

Why Use Foreign Keys?

  • To link related data across tables.

  • To ensure data consistency

    (e.g., you can't assign an employee to a non-existent department).

  • To help define relationships in normalized databases

    (e.g., one-to-many, many-to-many).


What is the difference between INNER JOIN and LEFT JOIN?


Use an inner join when you want to retrieve only the rows where there is a match in both tables based on the join condition. Use a left join when you want to retrieve all rows from the left table and the matched rows from the right table, with NULL values for non-matching rows.

INNER JOIN 
  Returns only matching rows from both tables. 
 If there's no match, the row is excluded from the result.

LEFT JOIN (or LEFT OUTER JOIN) 
Returns all rows from the left table and matched rows from the right table. 
 If there's no match, columns from the right table return NULL.

What is the difference between DELETETRUNCATE, and DROP?


The DROP command in SQL removes the table from the database, the DELETE command removes one or more records from the table, and the TRUNCATE command removes all the rows from the existing table.

1. DELETE 
 Removes specific rows from a table using a WHERE clause.
 Can be rolled back if used within a transaction. 
 Triggers (if defined) will fire. 
 Table structure remains intact.

SQL
DELETE FROM employees WHERE dept_id = 5;

 2. TRUNCATE 
 Removes all rows from a table very quickly. 
 Cannot be rolled back in many databases (especially outside of transactions).
 Triggers do not fire. 
 Table structure and schema stay intact. 
 Resets auto-increment counters (in most RDBMS).

SQL
TRUNCATE TABLE employees;

 3. DROP 
 Completely deletes the table from the database. 
 Removes data, structure, constraints, indexes, and triggers. 
 Cannot be rolled back. 
 Table is no longer usable unless recreated.

SQL 
DROP TABLE employees;

What is normalization? Explain its types.

Write a program in PHP to reverse a number

A number can be written in reverse order. For example 12345 = 54321 <?php   $ num = 23456;   $ revnum = 0;   while ($ num > 1)   {   $...