Basic Back-End Developer Interview Questions & Answers
Basic Back-End Developer Interview Questions & Answers
1.
The back-end, also known as the server-side software, powers a website and app.
It is responsible for storing and organizing data, handling user requests, and
delivering content to the front-end.
2.
Name the key back-end development responsibilities that you held in your
previous job.
For the recruiter, this question helps in gauging if the candidate is fit for the
company/role applied. Conversely, for the applicant this may help to get in the
right role. Some key responsibilities applicants may mention include server
improvements, database creation, etc.
3.
As a developer, you can mention any collaboration done with other developers in
the past to achieve a goal and what tools they used to communicate with other
team members.
4.
Here interviewers can know if the applicants are able to complete tasks on their
own. For developers, they can describe the turnaround time for different tasks.
5.
How do you overcome the challenges of time management and organizational
skills as a remote developer?
This is an extension of the previous question. Here interviewers want to see that
you are organized and can complete tasks on time. The tools you use, such as
Slack, Excel sheets, and Calendar, could be mentioned. You could mention the
tools you have been using to keep on track. This question reveals how seriously
the interviewee takes remote work and whether they are willing to work on the
daily challenges.
6.
What assistance can we offer to help you perform your job efficiently?
As an interviewer, you may ask the candidates about the resources they might
need to do the job efficiently (example- software access) to sense their approach
to work. And, as a developer, you can talk about all that you consider necessary
for working efficiently and effectively in remote environments.
7.
Could you describe when you faced a challenge and how you overcame it?
This question tells the interviewer a great deal about the candidate. Here,
developers can discuss a situation where a lack of a specific resource was a
problem (example, you discovered a free online solution that helped you
overcome the challenge). This question is designed to assess a developer's ability
to think independently and their presence of mind.
8.
9.
10.
As per your opinion, what are the top skills for remote working success?
A developer can outline skills such as task focus, time management, careful
planning, and the ability to not be distracted. Also, they can mention skills like
initiative and self-learning. At this point interviewers can dig in deep by asking
how these skills contributed to their project success.
11.
Here the interviewer can ascertain how working remotely, developers were able
to access and work with systems such as Trello, Slack, and Asana. Here
developers can mention how they prioritized work, maintained the workflow or
any other systems to determine work status and assess outstanding tickets to
reach goals on time.
12.
13.
The workflows used to implement features on the back-end may vary depending
on what technology stack the company uses. A typical workflow would include
discussing the feature with stakeholders, prototyping and designing the feature,
writing code, and quality assurance (QA).
The back-end developer will usually work with the front-end developer to ensure
data is properly transmitted between the client and server. It is also important to
make sure that new features are compatible with older versions of the
application.
14.
A web server can be described as a computer that stores web pages and
distributes them. When you enter a URL into a browser, the browser contacts a
web server to request the page. The page is then sent back to the browser by the
web server which is displayed on the screen.
NGINX and Apache are two of the most widely used web servers by back-end
apps. Web servers are also capable of hosting other resources such as videos and
images.
15.
Software developers must not duplicate code according to the DRY principle
(Don't Repeat Yourself). Duplicated code can cause maintenance problems as
multiple changes must be made. Similar to the DRY principle, DIE (Duplication
Is Evil) goes one step further and states that even small amounts of duplication
should be avoided.
16.
A GET query retrieves data from a web server. A POST query sends data to a
web server. A GET request passes parameters in the URL. With a POST request
parameters are included in the request's body.
17.
18.
These two processes form a cohesive automated process that keeps the work on
track and increases production speed by getting rid of the inconsistencies
between the development and operations teams.
19.
Lack of scalability warrants the need for rewriting the application with a new
tech stack that adapts to the growth in audience. The scalability of a program can
increase with features like cache, states, API, sort, and asynchronous
programming. Moreover, tools like databases and frameworks have greater
scalability than some others.
20.
Maintenance is also easier as, even though the services are integrated, they are
loosely connected. The microservices architecture model works well with and is
preferred by larger teams, however, it may not be completely free of challenges
like debugging.
21.
With the increase in big data, the internet has become a complex place. NoSQL
databases help solve this problem. The NoSQL databases are neither traditional
nor relational database management systems.
NoSQL stands for ‘Not Only SQL’. With the growing amounts of data, a large
percentage, close to 85%, is unstructured, messy, and complicated. NoSQL
database handles and sorts such data. Thus, NoSQL offers a storage and retrieval
mechanism for data that is modeled using other means and not the tabular
relations used in the Relational Database Management System (RDBMS).
Graph
Key-value
Document oriented
Column-oriented
22.
An SQL injection can destroy the database by injecting malicious code or hack
your database by injecting a hacking code. This occurs because there is little
separation between the program code and the user input. SQL injection is a
common type of injection attack on databases.
23.
Differentiate between acceptance and functional tests.
24.
25.
26.
A clustered index physically stores the rows on the disk in the order they appear
on the index. Thus, only one clustered index is possible. A clustered index tells
the database to store values that are close next to one another on the disk.
A non-clustered index has a second list with pointers to the physical rows. There
can be several non-clustered indexes, every new index increases the time for
writing new records.
If all columns are needed as is, then reading from a Clustered index is faster. You
need not go to the index and table in that order. However, if the data must be
rearranged, writing to a table with a clustered index can slow down the process.
27.
ORMs often have performance issues, incorrect data mapping, and difficulties
with complex queries.
28.
CAP theorem which is also known as Brewer’s theorem states that a distributed
databases system can only guarantee two of the three characteristics:
consistency, availability, and partition tolerance.
This theorem is the foundation for modern distributed computing methods. The
world's largest traffic companies (e.g. Amazon, Google, Facebook) use this basis
for their application architecture.
29.
31.
The capitalize() method in Python capitalizes the first letter in a string. If the
string contains a capital letter at its beginning, it returns the original string.
32.
Output: abcd
33.
To delete the file in Python, the OS module must be imported. Then, you have to
utilize the os.remove() function.
1.
What is a constructor?
2.
Copy constructor: Initializes an object using another object of the same class.
3.
What is serialization?
Serialization refers to a process or mechanism that converts the object's state into
a byte stream. Deserialization does exactly the opposite. Serializing an object
makes it possible to easily convert the byte stream into a copy of the object.
4.
5.
What's the difference between Primitive Data Types and Wrapper Classes?
Wrapper classes allow using a variety of primitive data types such as int or
boolean as objects. The wrapper class transforms a primitive type into an object.
A primitive type is a predefined data type that the Java programming language
provides.
6.
Multiple inheritance is when one class (e.g. class B) extends beyond other
classes (e.g. class A or class C), this is known as multiple inheritance. Multiple
inheritance can lead to problems such as the diamond problem.
7.
HashMap in Java works with a variety of hashing principles. It stores the entries
in the map by using its static inner classes. HashMap makes use of several
buckets. Each bucket of HashMap points to a Singly Linked List.
In Java 8 however, HashMap replaces Linked Lists with a binary tree once the
number of bucket elements reaches a threshold. HashMap supports multiple null
values, but only one null key.
8.
What's a thread?
9.
10.
A thread, on the other hand, is an execution unit. It is an execution unit and can
be managed separately by a scheduler. A process can have multiple threads
which execute at the same moment.
11.
12.
There are two main types of Java exceptions: unchecked and checked
exceptions. If the compiler checks for checked exceptions, then the programmer
handles them during compilation. Otherwise, a compilation error is caused.
These exceptions can be handled with either a try-catch or re-throwing. It is not
necessary to handle an unchecked exception.
13.
14.
15.
Data Manipulation Language (DML): This allows you to access and modify
data. It allows you to insert, update, and delete data from the database.
Data Control Language (DCL): This allows you to control data definition and
data manipulation operations, such as granting and revoking user access
privileges, and creating, altering, and dropping database objects, such as tables
and views.
16.
What is RDBMS?
17.
The SELECT statement allows you to select data from SQL databases. The
result-set stores the returned data in a result table.
18.
What are the most common clauses used with SQL SELECT query?
19.
What is OLTP?
20.
OLTP stands for online transaction processing and OLAP stands for online
analytical processing. OLTP can be described as an online database modification
and OLAP is an online database query response system.
21.
SQL comments are used to clarify SQL statements and prevent SQL statements
from being executed. Comments are essential in many programming languages.
22.
PEAR is a repository and framework for PHP components that can be reused.
PEAR stands for PHP Extension and Application Repository. It includes all types
of PHP code and libraries. You can also use the command line interface to
automatically install "packages".
23.
Static websites have fixed content, meaning that it is not updated regularly. The
content is coded directly into the HTML and requires manual updates when
changes are needed. Dynamic websites are those which have content that is
updated regularly and automatically.
24.
To execute PHP scripts, use the PHP Command Line Interface and then add the
file name in the following way.
php script.php
25.
26.
PHP parsing engine requires a way for PHP code to be distinguished from other
elements of the page. The method for doing this is called "escaping PHP".
27.
28.
Is Python a case-sensitive language?
29.
What is PEP 8?
The acronym PEP stands for Python Enhancement Proposal. It's a set of rules
that defines how Python code should be formatted to ensure maximum
readability.
30.
Decorators in Python are functions that modify the behavior of other functions. A
decorator is a function that takes another function as an argument, adds some
kind of functionality, and returns the modified function without changing its
definition. Decorators provide a simple syntax for calling higher-order functions,
allowing developers to modify existing functions without changing their source
code
31.
The .py files contain the python source codes files. The bytecode of the Python
files can be found in the .pyc files. When the code is imported from another
source,.pyc files are created. The interpreter converts source .py files to .pyc files
which reduces time.
32.
Python memory management involves a private heap that contains all Python
data structures and objects. The Python memory manager ensures that this
private heap is managed internally.
33.
Python modules contain Python code. These codes can be either function classes
or variables. A Python module is a .py file that contains executable code.
34.
35.
Accessibility refers to the user's ability to access the system. If the user is unable
to access the application, it will be assumed that the application is unavailable.
High availability means that the application will always be available without
interruption.
36.
Microservices architecture offers many benefits. Here are some of the pros:
37.
What is Containerization?
38.
39.
40.
What's an Index?
41.
This DISTINCT query is used in conjunction with the SELECT query to get rid
of duplicates and return only unique records. Sometimes, an entire table is filled
with duplicate records. The DISTINCT clause in SQL is used to remove
duplicates in a SELECT statement's results set.
42.
43.
The cross join produces the cross product or Cartesian product from two tables.
The natural join is built on all columns that have the same name as well as data
types within both tables.
44.
Specify the tools that help in finding bugs or performing static analysis in
Python.
PyChecker is an analysis tool for static code that helps to identify the flaws
within Python the source code. PyChecker warns you about the style and
severity of the problem. Additionally, Pylint is another tool that examines
whether the module conforms to the standard for coding.
45.
What are Python Modules? Name some Python modules which are most
frequently used.
Python modules contain Python code. These codes can be either function classes
or variables. A Python module is a .py file that contains executable code.
os
sys
JSON
math
random
data time
1.
Global variables
Local variables
A local variable is any variable declared within a function. This variable is only
present in the local space.
It will throw an error if you attempt to access the local variable from outside the
function add().
2.
When naming a PHP variable, you should follow the following guidelines:
The name of a variable must start with a letter or underscore character. Variable
names can contain numbers, letters, or underscores. However, You cannot use
characters like +, -, and %.
3.
4.
Python arrays are similar to lists in that they are both used to store multiple
values. However, unlike lists, arrays are limited to a single data type and are
fixed in size. Additionally, arrays are much more memory efficient than lists
since they only store values of a single type.
5.
A function is a block that executes code only when it's called. The def keyword
in Python is used to define Python functions.
6.
What is init?
ABC
25
50000
7.
What is NULL?
The NULL data type is a special one-value data type. A variable of datatype
NULL is a non-valued variable. It can be assigned using the following: $var =
NULL; or $var = null;
8.
9.
You can define a constant using the define() function. To retrieve its value, you
simply need to specify its name. A constant that contains a $ is not required. A
valid constant name begins with a letter or underscore.
10.
How can PHP and HTML interact with each other?
You can generate HTML using PHP scripts. Additionally, you can pass
information from HTML to PHP. PHP executes on the server and returns its
results in strings, arrays, and objects. Then, we display their values in HTML.
11.
In the init method, the self variable refers to a newly created object. In other
methods, it refers to the object whose method was called.
12.
The Random Module is the standard module used to generate random numbers.
This is how the method works:
13.
14.
15.
16.
Black Box Testing is a method of testing functions of the software, that involves
not knowing their internal code structure, implementation details, or internal
routes. It focuses solely on the input and output of software applications. It is
completely driven by specifications and software requirements. Another name
for it is behavioral testing.
17.
Data Abstraction provides only the necessary information and hides the
implementation from the world. It is possible to achieve this by using Python
through abstract classes and interfaces.
18.
What is the usage of the help() and the dir() functionality in Python?
The Help() and dir() functions are available from the Python interpreter and are
used to view a consolidated listing of the built-in features.
Help() function: The help() function is used to display the documentation string.
It can also help you see the assistance related to modules, attributes, keywords,
etc.
19.
Output: 3
20.
FOREIGN KEY is a field (or set of fields) in one table which is linked to the
PRIMARY KEY in another table. The table that has this foreign key is known as
the child table. The table that has a primary key is known as the parent table.
21.
Typo hinting is used to define the expected data type for an argument in a
function declaration. When you call it, PHP determines whether the arguments
are of the specified type. If they are not, the run-time shows an error, and the
execution will stop.
22.
In SQL there is a built-in function called GetDate() that can provide the current
date and time in a 'YYYY-MM-DD hh:mm:ss.mmm' format.