i
Persistent
Systems
Work with us
Filter interviews by
Decorators are functions that modify the behavior of other functions or classes without changing their source code.
Decorators are denoted by the '@' symbol in Python.
They can be used to add functionality to a function or class, such as logging or timing.
Decorators can also be used to create class decorators, which modify the behavior of a class.
Examples of decorators include @staticmethod, @classmethod, and @prope...
Angular test cases are automated tests written to ensure the functionality of Angular applications.
Angular test cases are written using testing frameworks like Jasmine and Karma.
They test the components, services, and modules of an Angular application.
Test cases can be run automatically during development or deployment to catch errors early.
Examples of test cases include checking if a component renders correctly, ...
Python testing is a process of verifying the functionality of code. Unittest is a built-in testing framework in Python.
Python testing is done to ensure that the code is working as expected.
Unittest is a testing framework that comes with Python's standard library.
It provides a set of tools for constructing and running tests.
Tests are written as methods within a class that inherits from unittest.TestCase.
Assertions ...
Authentication is the process of verifying the identity of a user or system.
It ensures that only authorized users have access to a system or application.
Authentication can be achieved through various methods such as passwords, biometrics, and two-factor authentication.
Examples of authentication include logging into a social media account or accessing a secure building with an ID card.
Authentication is often used i...
Grouping student data in Angular can be achieved using various techniques like pipes, services, and RxJS operators.
Use Angular's built-in pipes to transform and group data in templates.
Example: Use the 'async' pipe to handle observable data streams.
Create a service to fetch and group student data based on criteria like grade or age.
Example: Use RxJS 'groupBy' operator to group students by their grades.
Utilize Angu...
GIL stands for Global Interpreter Lock, which is a mechanism used in CPython to ensure thread safety.
GIL is a mutex that allows only one thread to execute Python bytecode at a time.
It is necessary because CPython's memory management is not thread-safe.
GIL can cause performance issues in CPU-bound multi-threaded applications.
However, it does not affect I/O-bound or multi-process applications.
Alternative Python impl...
Python uses automatic memory management through garbage collection.
Python uses reference counting to keep track of objects in memory.
When an object's reference count reaches zero, it is deleted by the garbage collector.
Python also uses a cyclic garbage collector to detect and delete objects with circular references.
Memory can be managed manually using the ctypes module.
Python's memory management is efficient and t...
I have used multiple python modules for various purposes.
I have used NumPy for numerical computations.
I have used Pandas for data analysis and manipulation.
I have used Matplotlib for data visualization.
I have used Flask for web development.
I have used Requests for making HTTP requests.
I have used BeautifulSoup for web scraping.
I have used Scikit-learn for machine learning tasks.
I have used TensorFlow for deep lear...
Ownership of the project approach refers to taking responsibility for the project's success and making decisions accordingly.
The owner of the project approach should have a clear understanding of the project's goals and objectives.
They should be able to make informed decisions about the project's direction and prioritize tasks accordingly.
The owner should also be accountable for the project's success or failure an...
Django life cycle involves request processing, URL routing, view function execution, template rendering, and response generation.
When a request is made, Django checks the URL patterns defined in urls.py file.
If a match is found, the corresponding view function is executed.
The view function processes the request and returns a response.
The response is rendered using a template, if applicable.
The final response is se...
I appeared for an interview in Apr 2023.
I am a fullstack developer with expertise in front-end and back-end technologies.
Proficient in HTML, CSS, JavaScript, and frameworks like React and Angular
Skilled in server-side programming languages like Node.js and Python
Experience in working with databases like MySQL and MongoDB
Familiar with version control systems like Git
Strong problem-solving and debugging skills
Ability to work in both individual and team environ...
Python testing is a process of verifying the functionality of code. Unittest is a built-in testing framework in Python.
Python testing is done to ensure that the code is working as expected.
Unittest is a testing framework that comes with Python's standard library.
It provides a set of tools for constructing and running tests.
Tests are written as methods within a class that inherits from unittest.TestCase.
Assertions are u...
Authentication is the process of verifying the identity of a user or system.
It ensures that only authorized users have access to a system or application.
Authentication can be achieved through various methods such as passwords, biometrics, and two-factor authentication.
Examples of authentication include logging into a social media account or accessing a secure building with an ID card.
Authentication is often used in con...
Decorators are functions that modify the behavior of other functions or classes without changing their source code.
Decorators are denoted by the '@' symbol in Python.
They can be used to add functionality to a function or class, such as logging or timing.
Decorators can also be used to create class decorators, which modify the behavior of a class.
Examples of decorators include @staticmethod, @classmethod, and @property i...
Grouping student data in Angular can be achieved using various techniques like pipes, services, and RxJS operators.
Use Angular's built-in pipes to transform and group data in templates.
Example: Use the 'async' pipe to handle observable data streams.
Create a service to fetch and group student data based on criteria like grade or age.
Example: Use RxJS 'groupBy' operator to group students by their grades.
Utilize Angular's...
Angular test cases are automated tests written to ensure the functionality of Angular applications.
Angular test cases are written using testing frameworks like Jasmine and Karma.
They test the components, services, and modules of an Angular application.
Test cases can be run automatically during development or deployment to catch errors early.
Examples of test cases include checking if a component renders correctly, if a ...
I applied via Recruitment Consulltant and was interviewed in Sep 2023. There was 1 interview round.
I applied via Naukri.com and was interviewed in Aug 2020. There were 3 interview rounds.
Python compiles source code to bytecode for faster execution, stored in .pyc files.
Python interpreter compiles source code to bytecode before execution
Bytecode is platform-independent and faster to execute than source code
Compiled bytecode is stored in .pyc files for future use and faster startup time
If source code is modified, .pyc files are automatically recompiled
Django life cycle involves request processing, URL routing, view function execution, template rendering, and response generation.
When a request is made, Django checks the URL patterns defined in urls.py file.
If a match is found, the corresponding view function is executed.
The view function processes the request and returns a response.
The response is rendered using a template, if applicable.
The final response is sent ba...
Ownership of the project approach refers to taking responsibility for the project's success and making decisions accordingly.
The owner of the project approach should have a clear understanding of the project's goals and objectives.
They should be able to make informed decisions about the project's direction and prioritize tasks accordingly.
The owner should also be accountable for the project's success or failure and be ...
Difference between sort and sorted, dump vs dumps, load vs loads etc.
sort() is a method of list object while sorted() is a built-in function
dump() serializes an object to a file while dumps() serializes to a string
load() deserializes an object from a file while loads() deserializes from a string
Design patterns are reusable solutions to common problems in software design.
Design patterns provide a structured approach to solving design problems.
Python has several design patterns such as Singleton, Factory, Observer, etc.
Each design pattern has its own purpose and usage.
Design patterns promote code reusability, maintainability, and scalability.
Understanding design patterns helps in writing cleaner and more effici...
Data structures in Python: dict, tuple, list, set, string
dict: unordered collection of key-value pairs
tuple: ordered, immutable collection of elements
list: ordered, mutable collection of elements
set: unordered collection of unique elements
string: ordered collection of characters
I have used multiple python modules for various purposes.
I have used NumPy for numerical computations.
I have used Pandas for data analysis and manipulation.
I have used Matplotlib for data visualization.
I have used Flask for web development.
I have used Requests for making HTTP requests.
I have used BeautifulSoup for web scraping.
I have used Scikit-learn for machine learning tasks.
I have used TensorFlow for deep learning ...
Yes, but only if the list is immutable.
Lists are mutable and cannot be used as dict keys.
Tuples are immutable and can be used as dict keys.
If a list needs to be used as a key, it can be converted to a tuple.
List slices are a way to extract a portion of a list by specifying start and end indices.
List slices are denoted by using square brackets with start and end indices separated by a colon.
The start index is inclusive and the end index is exclusive.
If the start index is omitted, it defaults to 0. If the end index is omitted, it defaults to the length of the list.
Negative indices can be used to count from the end of the li...
Lambda functions are anonymous functions that can be passed as arguments to other functions.
Lambda functions are also known as anonymous functions because they don't have a name.
They are often used as arguments to higher-order functions like map, reduce, and filter.
Map applies a function to each element of an array and returns a new array with the results.
Reduce applies a function to the elements of an array and return...
Python uses automatic memory management through garbage collection.
Python uses reference counting to keep track of objects in memory.
When an object's reference count reaches zero, it is deleted by the garbage collector.
Python also uses a cyclic garbage collector to detect and delete objects with circular references.
Memory can be managed manually using the ctypes module.
Python's memory management is efficient and transp...
GIL stands for Global Interpreter Lock, which is a mechanism used in CPython to ensure thread safety.
GIL is a mutex that allows only one thread to execute Python bytecode at a time.
It is necessary because CPython's memory management is not thread-safe.
GIL can cause performance issues in CPU-bound multi-threaded applications.
However, it does not affect I/O-bound or multi-process applications.
Alternative Python implement...
Threading in Python allows multiple threads of execution to run concurrently within a single process.
Python's threading module provides a way to create and manage threads.
Threads share the same memory space and can access the same variables and data structures.
Threading can improve performance for I/O-bound tasks, but not for CPU-bound tasks.
Python's Global Interpreter Lock (GIL) limits true parallelism in multi-thread...
What people are saying about Persistent Systems
I applied via Naukri.com and was interviewed before Sep 2019. There were 6 interview rounds.
I appeared for an interview before Aug 2016.
I am a software developer with experience in various programming languages and frameworks.
Proficient in Java, C++, and Python
Familiar with web development using HTML, CSS, and JavaScript
Experience with database management systems such as MySQL and MongoDB
Strong problem-solving and analytical skills
Worked on projects involving machine learning and artificial intelligence
Method overloading is having multiple methods with the same name but different parameters. Method overriding is having a subclass method with the same name and parameters as a superclass method.
Method overloading is used to provide different ways of calling the same method with different parameters.
Method overriding is used to provide a specific implementation of a method in a subclass that is already defined in the su...
Switch case is used for multiple conditions while if else is used for binary conditions.
Switch case is faster than if else for multiple conditions.
If else can handle complex conditions while switch case cannot.
Switch case can only compare values of the same data type.
If else can handle null values while switch case cannot.
Example: switch (day) { case 1: console.log('Monday'); break; case 2: console.log('Tuesday'); brea...
Interface and abstract class are both used for abstraction in object-oriented programming.
An interface is a collection of abstract methods that define a contract for a class to implement.
An abstract class is a class that cannot be instantiated and may contain abstract methods.
Interfaces are used to achieve multiple inheritance in Java.
Abstract classes can have non-abstract methods and instance variables.
An example of a...
Polymorphism is the ability of an object to take on many forms.
It allows objects of different classes to be treated as if they were objects of the same class.
It is achieved through method overriding and method overloading.
Example: A shape class can have multiple subclasses like circle, square, etc. and all can be treated as shapes.
Example: A method can have different implementations in different classes but with the sa...
Inheritance is a mechanism in object-oriented programming where a new class is created by inheriting properties of an existing class.
Inheritance allows code reusability and saves time and effort in writing new code.
The existing class is called the parent or base class, and the new class is called the child or derived class.
The child class inherits all the properties and methods of the parent class and can also add its ...
Default case in switch case statement
Default case is executed when no other case matches the switch expression
It is optional and can be placed anywhere in the switch statement
It is often used to handle unexpected input or errors
It should always be the last case in the switch statement
I am a passionate software developer with a strong background in web development and a love for problem-solving.
Experienced in HTML, CSS, JavaScript, and various web development frameworks
Proficient in backend development using languages like Java, Python, and Node.js
Familiar with database management systems such as MySQL and MongoDB
Strong problem-solving skills and ability to work well in a team environment
I tend to get overly focused on details, which can sometimes slow down my progress.
I have a tendency to spend too much time on perfecting small details
I sometimes struggle with prioritizing tasks due to my focus on details
I am working on improving my time management skills to balance detail-oriented work with efficiency
Yes, I have received offers from two other companies.
Received offers from Company A and Company B
Currently evaluating all offers to make an informed decision
Considering factors like company culture, growth opportunities, and compensation
I would like to join Google because of their innovative projects and work culture.
Google is known for its cutting-edge technology and innovative projects.
They have a strong focus on employee well-being and work-life balance.
Google offers opportunities for career growth and development.
The company has a diverse and inclusive work culture.
Google is a leader in the tech industry with a global presence.
Yes, I have worked in multiple teams in various projects.
Worked in a team of developers to create a new software application
Collaborated with designers, testers, and project managers to meet project deadlines
Participated in daily stand-up meetings to discuss progress and roadblocks
Yes, they are similar.
All 8 metal balls are of the same material.
They have the same size and weight.
They have the same physical properties.
They are interchangeable in any given situation.
C++ is an extension of C with object-oriented programming features.
C++ supports classes and objects while C does not.
C++ has better support for polymorphism and inheritance.
C++ has a standard template library (STL) which C does not have.
C++ allows function overloading while C does not.
C++ has exception handling while C does not.
For loop is used for iterating over a sequence while while loop is used for iterating until a condition is met.
For loop is used when the number of iterations is known beforehand
While loop is used when the number of iterations is not known beforehand
For loop is faster than while loop for iterating over a sequence
While loop is useful for iterating until a specific condition is met
For loop can be used with range() functio...
To reverse a string without using any looping and inbuilt functions, we can use recursion.
Create a function that takes a string as input.
If the length of the string is 0 or 1, return the string.
Otherwise, call the function recursively with the substring starting from the second character and concatenate the first character at the end.
Return the reversed string.
Example: reverseString('hello') returns 'olleh'.
A priority queue can be implemented using a single queue or multiple queues.
One approach is to use a single queue and assign priorities to elements using a separate data structure.
Another approach is to use multiple queues, each representing a different priority level.
For example, if there are three priority levels, three queues can be used to implement the priority queue.
An array of objects can be used to implement a heterogeneous array.
Each element in the array can be an object that represents a different data type.
The objects can have different properties and methods based on their respective data types.
For example, an element can be an object representing a string with a 'value' property and a 'length' method.
Developed a web-based inventory management system for a retail company.
Used HTML, CSS, and JavaScript for the front-end development.
Implemented a RESTful API using Node.js and Express for the back-end.
Utilized a MySQL database to store and manage inventory data.
Implemented features like product search, order management, and reporting.
Ensured data security and user authentication using encryption and JWT.
Collaborated wi...
The missing rupee is not actually missing. The calculation is misleading and does not account for the total amount paid.
The initial amount paid by each person was Rs.10, totaling Rs.30.
The owner gave them a discount of Rs.5, so they paid Rs.25 in total.
The broker took Rs.2, leaving them with Rs.23.
When the broker returned Rs.1 to each person, they each received Rs.1 back, totaling Rs.3.
So, the total amount paid by the ...
Inheritance in Java allows a class to inherit properties and methods from another class.
Inheritance is achieved using the 'extends' keyword.
The class that is being inherited from is called the superclass or parent class.
The class that inherits from the superclass is called the subclass or child class.
Subclasses can access the public and protected members of the superclass.
Inheritance promotes code reusability and allow...
A program to check if a given number is a palindrome or not.
Convert the number to a string.
Reverse the string and compare it with the original string.
If they are equal, the number is a palindrome.
If not, the number is not a palindrome.
Normalisation is the process of organizing data in a database to reduce redundancy and improve data integrity.
It involves breaking down a table into smaller tables and defining relationships between them.
Normalization helps to eliminate data inconsistencies and anomalies.
There are different levels of normalization, with each level having specific rules to follow.
For example, first normal form (1NF) requires that each t...
Yes, I am ready to relocate anywhere in India or outside upon company needs.
I am open to exploring new locations and cultures.
I understand that relocation may be necessary for career growth and opportunities.
I am adaptable and willing to adjust to new environments.
I have experience working in diverse teams and can easily integrate into new settings.
I would be ready to accept a project in Java even if I was trained in DotNet earlier.
I have a strong foundation in programming principles and concepts, which can be applied to any language.
I am confident in my ability to quickly learn and adapt to new technologies.
I have experience working with multiple programming languages and frameworks.
I can leverage my knowledge of DotNet to understand similar concepts in Java.
I a...
I want to join Sapient because of its reputation for innovative projects and collaborative work environment.
Sapient is known for working on cutting-edge projects that push the boundaries of technology
I value the collaborative work environment at Sapient, where team members support each other to achieve success
I am impressed by Sapient's commitment to professional development and growth opportunities for employees
My expectations from Sapient
I expect Sapient to provide a challenging and innovative work environment
I expect Sapient to offer opportunities for professional growth and learning
I expect Sapient to have a collaborative and supportive team culture
I expect Sapient to provide competitive compensation and benefits
I expect Sapient to have a strong focus on quality and delivering excellent software solutions
Some of the top questions asked at the Persistent Systems Full Stack Developer interview for experienced candidates -
based on 2 interview experiences
Difficulty level
Duration
based on 1 review
Rating in categories
Software Engineer
4.6k
salaries
| ₹4.7 L/yr - ₹11.1 L/yr |
Senior Software Engineer
4.6k
salaries
| ₹6.8 L/yr - ₹18.6 L/yr |
Lead Software Engineer
3.6k
salaries
| ₹9.5 L/yr - ₹17.2 L/yr |
Lead Engineer
3.5k
salaries
| ₹13.7 L/yr - ₹25 L/yr |
Project Lead
2.2k
salaries
| ₹21.2 L/yr - ₹39.3 L/yr |
Cognizant
TCS
IBM
LTIMindtree