How do I prepare for interviewing with Google, Facebook, or Amazon while having a full time job as a software engineer?

PHP Interview Questions with Solutions: Prepare for PHP Interview

PHP Interview Questions with Solutions: Prepare for PHP Interview

Prepare for PHP Interviews. Set Variable With php.ini File. Logic & Output Behind PHP Code Segment. Class Concept, Error & Functions in PHP. Start PHP Now!

Description
In this course you will be introduced with some tricky questions that everyone face during their interview. In each solutions I have included some useful functions which we generally use at the time of development also. I have covered the following area in my course with Questions, Attractive Presentations and Practical Solutions that will help you to understand the logic behind PHP in a different way.

Some useful functions
PHP error types
Class concept
Access specifiers public, private and protected
Set variable with php.ini file
Operators introduced in PHP7
Logic and its output behind some code segment
Basic knowledge
PHP7, XAMPP Server, Notepad++
What will you learn
This course is build for the person who is facing interviews. Every question is well explained with the practical solution through videos. So that everybody can prepare themselves for the tricky questions asked during interviews
To continue:

PHP Interview Questions - Top 50 Questions for PHP Developers

PHP Interview Questions - Top 50 Questions for PHP Developers

In this article, you'll see top 50 PHP interview questions from basic to advanced that you must know in 2019

PHP is a recursive acronym for PHP Hypertext Preprocessor. It is a widely used open-source programming language especially suited for creating dynamic websites and mobile API’s. So, if you are planning to start your career in PHP and you wish to know the skills related to it, now is the right time to dive in. These **PHP Interview Questions and Answers **are collected after consulting with **PHP Certification Training **experts.

The PHP Interview Questions are divided into 2 sections:
Basic Level PHP Interview QuestionsAdvanced Level PHP Interview Questions
Let’s begin with the first section of PHP interview questions.

Basic Level PHP Interview Questions

Q1. What are the common uses of PHP?

Q2. What is PEAR in PHP?

PEAR is a framework and repository for reusable PHP components. PEAR stands for PHP Extension and Application Repository. It contains all types of PHP code snippets and libraries. It also provides a command line interface to install “packages” automatically.

Q3. What is the difference between static and dynamic websites?

Q4. How to execute a PHP script from the command line?

To execute a PHP script, use the PHP Command Line Interface (CLI) and specify the file name of the script in the following way:

php script.php

Q5. Is PHP a case sensitive language?

PHP is partially case sensitive. The variable names are case-sensitive but function names are not. If you define the function name in lowercase and call them in uppercase, it will still work. User-defined functions are not case sensitive but the rest of the language is case-sensitive.

Q6. What is the meaning of ‘escaping to PHP’?

The PHP parsing engine needs a way to differentiate PHP code from other elements in the page. The mechanism for doing so is known as ‘escaping to PHP’. Escaping a string means to reduce ambiguity in quotes used in that string.

Q7. What are the characteristics of PHP variables?

Some of the important characteristics of PHP variables include:
All variables in PHP are denoted with a leading dollar sign ($).The value of a variable is the value of its most recent assignment.Variables are assigned with the = operator, with the variable on the left-hand side and the expression to be evaluated on the right.Variables can, but do not need, to be declared before assignment.Variables in PHP do not have intrinsic types – a variable does not know in advance whether it will be used to store a number or a string of characters.Variables used before they are assigned have default values.### Q8. What are the different types of PHP variables?

There are 8 data types in PHP which are used to construct the variables:
Integers − are whole numbers, without a decimal point, like 4195.Doubles − are floating-point numbers, like 3.14159 or 49.1.Booleans − have only two possible values either true or false.NULL − is a special type that only has one value: NULL.Strings − are sequences of characters, like ‘PHP supports string operations.’Arrays − are named and indexed collections of other values.Objects − are instances of programmer-defined classes, which can package up both other kinds of values and functions that are specific to the class.Resources − are special variables that hold references to resources external to PHP.### Q9. What are the rules for naming a PHP variable?

The following rules are needed to be followed while naming a PHP variable:
Variable names must begin with a letter or underscore character.A variable name can consist of numbers, letters, underscores but you cannot use characters like + , – , % , ( , ) . & , etc.### Q10. What are the rules to determine the “truth” of any value which is not already of the Boolean type?

The rules to determine the “truth” of any value which is not already of the Boolean type are:
If the value is a number, it is false if exactly equal to zero and true otherwise.If the value is a string, it is false if the string is empty (has zero characters) or is the string “0”, and is true otherwise.Values of type NULL are always false.If the value is an array, it is false if it contains no other values, and it is true otherwise. For an object, containing a value means having a member variable that has been assigned a value.Valid resources are true (although some functions that return resources when they are successful will return FALSE when unsuccessful).Don’t use double as Booleans.### Q11. What is NULL?

NULL is a special data type which can have only one value. A variable of data type NULL is a variable that has no value assigned to it. It can be assigned as follows:

$var = NULL;

The special constant NULL is capitalized by convention but actually it is case insensitive. So,you can also write it as :

$var = null;

A variable that has been assigned the NULL value, consists of the following properties:
It evaluates to FALSE in a Boolean context.It returns FALSE when tested with IsSet() function.### Q12. How do you define a constant in PHP?

To define a constant you have to use define() function and to retrieve the value of a constant, you have to simply specifying its name.If you have defined a constant, it can never be changed or undefined. There is no need to have a constant with a $. A valid constant name starts with a letter or underscore.

Q13. What is the purpose of constant() function?

The constant() function will return the value of the constant. This is useful when you want to retrieve value of a constant, but you do not know its name, i.e., it is stored in a variable or returned by a function. For example –

<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>

Q14. What are the differences between PHP constants and variables?

Q15. Name some of the constants in PHP and their purpose.

  1. LINE – It represents the current line number of the file.
  2. ** FILE** – It represents the full path and filename of the file. If used inside an include,the name of the included file is returned.
  3. FUNCTION – It represents the function name.
  4. CLASS – It returns the class name as it was declared.
  5. METHOD – It represents the class method name.

Q16. What is the purpose of break and continue statement?

Break – It terminates the for loop or switch statement and transfers execution to the statement immediately following the for loop or switch.

Continue – It causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.

Q17. What are the two most common ways to start and finish a PHP block of code?

The two most common ways to start and** finish** a PHP block of code are:

<?php [ --- PHP code---- ] ?>

<? [--- PHP code ---] ?>

Q18. What is the difference between PHP4 and PHP5?

Q19. What is the meaning of a final class and a final method?

The **final **keyword in a method declaration indicates that the method cannot be overridden by subclasses. A class that is declared final cannot be subclassed. This is particularly useful when we are creating an immutable class like the String class.Properties cannot be declared final, only classes and methods may be declared as final.

Q20. How can you compare objects in PHP?

We use the operator ‘==’ to test if two objects are** instanced** from the same class and have same attributes and equal values. We can also test if two objects are referring to the same instance of the same class by the use of the identity operator ‘===’.

Q21. How can PHP and Javascript interact?

PHP and Javascript cannot directly interact since PHP is a server side language and Javascript is a client-side language. However, we can exchange variables since PHP can generate Javascript code to be executed by the browser and it is possible to pass specific variables back to PHP via the URL.

Q22. How can PHP and HTML interact?

It is possible to generate HTML through PHP scripts, and it is possible to pass pieces of information from HTML to PHP. PHP is a server side language and HTML is a client side language so PHP executes on server side and gets its results as strings, arrays, objects and then we use them to display its values in HTML.

Q23. Name some of the popular frameworks in PHP.

Some of the popular frameworks in PHP are:

  • CakePHP
  • CodeIgniter
  • Yii 2
  • Symfony
  • Zend Framework

Q24. What are the data types in PHP?

PHP support 9 primitive data types:

Q25. What are constructor and destructor in PHP?

PHP constructor and destructor are special type functions which are automatically called when a PHP class object is created and destroyed. The constructor is the most useful of the two because it allows you to send parameters along when creating a new object, which can then be used to initialize variables on the object.

Here is an example of constructor and destructor in PHP:

<?php
class Foo {
 
private $name;
private $link;
 
public function __construct($name) {
$this->;name = $name;
}
 
public function setLink(Foo $link){
$this->;link = $link;
}
 
public function __destruct() {
echo 'Destroying: ', $this->name, PHP_EOL;
}
}
?>

Q26. What are include() and require() functions?

The Include() function is used to put data of one PHP file into another PHP file. If errors occur then the include() function produces a warning but does not stop the execution of the script and it will continue to execute.

The Require() function is also used to put data of one PHP file to another PHP file. If there are any errors then the require() function produces a warning and a fatal error and stops the execution of the script.

Q27. What is the main difference between require() and require_once()?

The require() includes and evaluates a specific file, while require_once() does that only if it has not been included before. The require_once() statement can be used to include a php file in another one, when you may need to include the called file more than once. So, require_once() is recommended to use when you want to include a file where you have a lot of functions.

Q28. What are different types of errors available in Php ?

The different types of error in PHP are:
E_ERROR– A fatal error that causes script termination.E_WARNING– Run-time warning that does not cause script termination.E_PARSE– Compile time parse error.E_NOTICE– Run time notice caused due to error in code.E_CORE_ERROR– Fatal errors that occur during PHP initial startup.E_CORE_WARNING– Warnings that occur during PHP initial startup.E_COMPILE_ERROR– Fatal compile-time errors indication problem with script.E_USER_ERROR– User-generated error message.E_USER_WARNING– User-generated warning message.E_USER_NOTICE- User-generated notice message.E_STRICT– Run-time notices.E_RECOVERABLE_ERROR– Catchable fatal error indicating a dangerous errorE_ALL– Catches all errors and warnings.### Q29. Explain the syntax for ‘foreach’ loop with example.

The foreach statement is used to loop through arrays. For each pass the value of the current array element is assigned to $value and the array pointer is moved by one and in the next pass next element will be processed.

Syntax-

foreach (array as value)
 {
 code to be executed;
 }

Example

<?php
$colors = array("blue", "white", "black");
 
foreach ($colors as $value) {
echo "$value <br>";
}
?>

Q30. What are the different types of Array in PHP?

There are 3 types of Arrays in PHP:
Indexed Array – An array with a numeric index is known as the indexed array. Values are stored and accessed in linear fashion.Associative Array – An array with strings as index is known as the associative array. This stores element values in association with key values rather than in a strict linear index order.Multidimensional Array – An array containing one or more arrays is known as multidimensional array. The values are accessed using multiple indices.### Q31. What is the difference between single quoted string and double quoted string?

Singly quoted strings are treated almost literally, whereas doubly quoted strings replace variables with their values as well as specially interpreting certain character sequences. For example

<?php
$variable = "name";
$statement = 'My $variable will not print!n';
print($statement);
print "<br/>;"
$statement = "My $variable will print!n"
print($statement);
?>

It will give the following output

My $variable will not print!

My name will print

Q32. How to concatenate two strings in PHP?

To concatenate two string variables together, we use the dot (.) operator.

<?php
$string1="Hello edureka";
$string2="123";
echo $string1 . " " . $string2;
?>

This will produce following result

Hello edureka 123

Q33. How is it possible to set an infinite execution time for PHP script?

The set_time_limit(0) added at the beginning of a script sets to infinite the time of execution to not have the PHP error ‘maximum execution time exceeded.’ It is also possible to specify this in the php.ini file.

Q34. What is the difference between “echo” and “print” in PHP?

PHP echo output one or more string. It is a language construct not a function. So use of parentheses is not required. But if you want to pass more than one parameter to echo, use of parentheses is required. Whereas, PHP print output a string. It is a language construct not a function. So use of parentheses is not required with the argument list. Unlike echo, it always returns 1.Echo can output one or more string but print can only output one string and always returns 1.Echo is faster than print because it does not return any value.### Q35. Name some of the functions in PHP.

Some of the functions in PHP include:
ereg() – The ereg() function searches a string specified by string for a string specified by pattern, returning true if the pattern is found, and false otherwise.ereg() – The ereg() function searches a string specified by string for a string specified by pattern, returning true if the pattern is found, and false otherwise.split() – The split() function will divide a string into various elements, the boundaries of each element based on the occurrence of pattern in string.preg_match() – The preg_match() function searches string for pattern, returning true if pattern exists, and false otherwise.preg_split() – The preg_split() function operates exactly like split(), except that regular expressions are accepted as input parameters for pattern.
These were some of the most commonly asked basic level PHP interview questions. Let’s move on to the next section of advanced level PHP interview questions.

Advanced level PHP Interview Questions

Q36. What is the main difference between asp net and PHP?

PHP is a programming language whereas ASP.NET is a programming** framework**. Websites developed by ASP.NET may use C#, but also other languages such as J#. ASP.NET is compiled whereas PHP is interpreted. ASP.NET is designed for windows machines, whereas PHP is platform free and typically runs on Linux servers.

Q37. What is the use of session and cookies in PHP?

A session is a global variable stored on the server. Each session is assigned a unique id which is used to retrieve stored values. Sessions have the capacity to store relatively large data compared to cookies. The session values are automatically deleted when the browser is closed.

Following example shows how to** create a cookie** in PHP

<?php
$cookie_value = "edureka";
setcookie("edureka", $cookie_value, time()+3600, "/your_usename/", "edureka.co", 1, 1);
if (isset($_COOKIE['cookie']))
echo $_COOKIE["edureka"];
?>

Following example shows how to start a session in PHP

<?php
session_start();
 
if( isset( $_SESSION['counter'] ) ) {
$_SESSION['counter'] += 1;
}else {
$_SESSION['counter'] = 1;
}
 
$msg = "You have visited this page". $_SESSION['counter'];
$msg .= "in this session.";
?>

Q38. What is overloading and overriding in PHP?

Overloading is defining functions that have similar signatures, yet have different parameters. Overriding is only pertinent to derived classes, where the parent class has defined a method and the derived class wishes to override that method. In PHP, you can only overload methods using the magic method __call.

Q40. What is the difference between $message and $$message in PHP?

They are both variables. But $message is a variable with a fixed name. $$message is a variable whose name is stored in $message. For example, if $message contains “var”, $$message is the same as $var.

Q41. How can we create a database using PHP and MySQL?

The basic steps to create MySQL database using PHP are:
Establish a connection to MySQL server from your PHP script.If the connection is successful, write a SQL query to create a database and store it in a string variable.Execute the query.### Q42. What is GET and POST method in PHP?

The GET method sends the encoded user information appended to the page request. The page and the encoded information are separated by the ? character. For example

http://www.test.com/index.htm?name1=value1&name2=value2

The POST method transfers information via HTTP headers. The information is encoded as described in case of GET method and put into a header called QUERY_STRING.

Q43. What is the difference between GET and POST method?

Q44. What is the use of callback in PHP?

PHP callback are functions that may be called dynamically by PHP. They are used by native functions such as array_map, usort, preg_replace_callback, etc. A callback function is a function that you create yourself, then pass to another function as an argument. Once it has access to your callback function, the receiving function can then call it whenever it needs to.

Here is a basic example of callback function

<?php
 
function thisFuncTakesACallback($callbackFunc)
{
echo "I'm going to call $callbackFunc!<br />";
$callbackFunc();
}
function thisFuncGetsCalled()
{
echo "I'm a callback function!<br />";
}
 
thisFuncTakesACallback( 'thisFuncGetsCalled' );
?>

Q45. What is a lambda function in PHP?

A lambda function is an anonymous PHP function that can be stored in a variable and passed as an argument to other functions or methods. A closure is a lambda function that is aware of its surrounding context. For example

$input = array(1, 2, 3, 4, 5);
$output = array_filter($input, function ($v) { return $v > 2; });

unction ($v) { return $v > 2; } is the lambda function definition. We can store it in a variable so that it can be reusable.

Q46. What are PHP Magic Methods/Functions?

In PHP all functions starting with __ names are magical functions/methods. These methods, identified by a two underscore prefix (__), function as interceptors that are automatically called when certain conditions are met. PHP provides a number of ‘magicmethods that allow you to do some pretty neat tricks in object oriented programming.

Here are list of** Magic Functions** available in PHP

Q47. How can you encrypt password using PHP?

The crypt () function is used to create one way encryption. It takes one input string and one optional parameter. The function is defined as: crypt (inputstring, salt), where inputstring consists of the string that has to be encrypted and salt is an optional parameter. PHP uses DES for encryption. The format is as follows:

<?php
$password = crypt('edureka');
print $password. "is the encrypted version of edureka";
?>

Q48. How to connect to a URL in PHP?

PHP provides a library called cURL that may already be included in the installation of PHP by default. cURL stands for client URL, and it allows you to connect to a URL and retrieve information from that page such as the HTML content of the page, the HTTP headers and their associated data.

Q49. What is Type hinting in PHP?

Type hinting is used to specify the expected data type of an argument in a function declaration. When you call the function, PHP will check whether or not the arguments are of the specified type. If not, the run-time will raise an error and execution will be halted.

Here is an example of type hinting

<?php
function sendEmail (Email $email)
{
$email->send();
}
?>

The example shows how to send Email function argument $email Type hinted of Email Class. It means to call this function you must have to pass an email object otherwise an error is generated.

Q50. What is the difference between runtime exception and compile time exception?

An exception that occurs at compile time is called a checked exception. This exception cannot be ignored and must be handled carefully. For example, if you use FileReader class to read data from the file and the file specified in class constructor does not exist, then a FileNotFoundException occurs and you will have to manage that exception. For the purpose, you will have to write the code in a try-catch block and handle the exception. On the other hand, an exception that occurs at runtime is called unchecked-exception.

With this, we have come to the end of PHP interview questions blog. I Hope these PHP Interview Questions will help you in your interviews. In case you have attended any PHP interview in the recent past, do paste those interview questions in the comments section and we’ll answer them. You can also comment below if you have any questions in your mind, which you might face in your PHP interview.

Thanks for reading

If you liked this post, share it with all of your programming buddies!

Follow us on Facebook | Twitter

Learn More

PHP for Beginners - Become a PHP Master - CMS Project

Learn Object Oriented PHP By Building a Complete Website

PHP OOP: Object Oriented Programming for beginners + Project

Laravel PHP Framework Tutorial - Full Course for Beginners (2019)

Laravel 5.8 Tutorial from Scratch for Beginners

50+ Java Interview Questions for Programmers

Top 100 Python Interview Questions and Answers

Top 100 Python Interview Questions and Answers

Best 50 React Interview Questions and Answers in 2019

Top 50+ SQL Interview Questions and Answers in 2019

Best 50 Nodejs interview questions from Beginners to Advanced in 2019

100+ Java Interview Questions and Answers In 2019

Best 50 React Interview Questions for Frontend Developers in 2019

Best 50 Angular Interview Questions for Frontend Developers in 2019

Docker Interview Questions - Top 16 Questions You Must Know In 2019

Docker Interview Questions - Top 16 Questions You Must Know In 2019

In this article, you'll see top 16 Docker interview questions from beginners to advanced that you must know in 2019

Docker containers can be considered as the new era of virtualization. Docker containers are replacing Virtual Machines, this is a well known fact now. So be prepared to answer few questions on Docker in your next interview. If you aspire to outshine yourself in your upcoming DevOps interview, going through these top Docker interview questions is a must. These questions are very carefully handpicked after discussing with many interviewers and DevOps Training experts.

The first question in this blog on Docker Interview Questions has to be:

Q1. What are the differences between Docker and Hypervisors?

Q2. What is Docker?

I will suggest you to start with a small definition of Docker.
Docker is a containerization platform which packages your application and all its dependencies together in the form of containers so as to ensure that your application works seamlessly in any environment be it development or test or production.Docker containers, wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries etc. anything that can be installed on a server.This guarantees that the software will always run the same, regardless of its environment.
You can refer the diagram shown below, as you can see that containers run on a single machine share the same operating system kernel, they start instantly as only apps need to start as the kernel is already running and uses less RAM.

Note: Unlike Virtual Machines which has its own OS Docker containers uses the host OS

Next set of Docker interview questions will focus on various components of Docker.

Q3. What is Docker image?

I will suggest you to go with the below mentioned flow:

Docker image is the source of Docker container. In other words, Docker images are used to create containers. Images are created with the build command, and they’ll produce a container when started with run. Images are stored in a Docker registry such as registry.hub.docker.com because they can become quite large, images are designed to be composed of layers of other images, allowing a minimal amount of data to be sent when transferring images over the network.

Tip: Be aware of Dockerhub in order to answer questions on pre-available images.

Q4. What is Docker container?

This is a very important question so just make sure you don’t deviate from the topic and I will advise you to follow the below mentioned format:

Docker containers include the application and all of its dependencies, but share the kernel with other containers, running as isolated processes in user space on the host operating system. Docker containers are not tied to any specific infrastructure: they run on any computer, on any infrastructure, and in any cloud.

Now explain how to create a Docker container, Docker containers can be created by either creating a Docker image and then running it or you can use Docker images that are present on the Dockerhub.

Docker containers are basically runtime instances of Docker images.

Q5 What is Docker hub?

Answer to this question is pretty direct.

Docker hub is a cloud-based registry service which allows you to link to code repositories, build your images and test them, stores manually pushed images, and links to Docker cloud so you can deploy images to your hosts. It provides a centralized resource for container image discovery, distribution and change management, user and team collaboration, and workflow automation throughout the development pipeline.

Q6. How is Docker different from other container technologies?

According to me, below, points should be there in your answer:

Docker containers are easy to deploy in a cloud. It can get more applications running on the same hardware than other technologies, it makes it easy for developers to quickly create, ready-to-run containerized applications and it makes managing and deploying applications much easier. You can even share containers with your applications.

If you have some more points to add you can do that but make sure the above the above explanation is there in your answer.

Q7. What is Docker Swarm?

You should start this answer by explaining Docker Swarn.

Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual Docker host. Docker Swarm serves the standard Docker API, any tool that already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts.

I will also suggest you to include some supported tools:
DokkuDocker ComposeDocker MachineJenkins## Q8. What is Dockerfile used for?

This answer, according to me should begin by explaining the use of Dockerfile.

Docker can build images automatically by reading the instructions from a Dockerfile.

Now I will suggest you to give a small definition of Dockerfle.

A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.

Now, the next set of Docker interview questions will test your experience with Docker.

Q9. Can I use json instead of yaml for my compose file in Docker?

You can use json instead of yaml for your compose file, to use json file with compose, specify the filename to use for eg:

docker-compose -f docker-compose.json up

Q10. Tell us how you have used Docker in your past position?

Explain how you have used Docker to help rapid deployment. Explain how you have scripted Docker and used Docker with other tools like Puppet, Chef or Jenkins.

If you have no past practical experience in Docker and have past experience with other tools in a similar space, be honest and explain the same. In this case, it makes sense if you can compare other tools to Docker in terms of functionality.

Q11. How to create Docker container?

I will suggest you to give a direct answer to this.

We can use Docker image to create Docker container by using the below command:

docker run -t -i command name

This command will create and start a container.

You should also add, If you want to check the list of all running container with the status on a host use the below command:

docker ps -a

Q12. How to stop and restart the Docker container?

In order to stop the Docker container you can use the below command:

docker stop container ID

Now to restart the Docker container you can use:

docker restart container ID

Q13 How far do Docker containers scale?

Large web deployments like Google and Twitter, and platform providers such as Heroku and dotCloud all run on container technology, at a scale of hundreds of thousands or even millions of containers running in parallel.

Q14. What platforms does Docker run on?

I will start this answer by saying Docker runs on only Linux and Cloud platforms and then I will mention the below vendors of Linux:
Ubuntu 12.04, 13.04 et alFedora 19/20+RHEL 6.5+CentOS 6+GentooArchLinuxopenSUSE 12.3+CRUX 3.0+
Cloud:
Amazon EC2Google Compute EngineMicrosoft AzureRackspace
Note that Docker does not run on Windows or Mac.

Q15. Do I lose my data when the Docker container exits?

You can answer this by saying, no I won’t lose my data when Docker container exits, any data that your application writes to disk gets preserved in its container until you explicitly delete the container. The file system for the container persists even after the container halts.

Q16. Mention some commonly used Docker command?

Below are some commonly used Docker commands:

I have included the frequently asked Docker interview questions. If you have more questions in your mind just type it in the comment box below and we will reply you ASAP.