Filter interviews by
I appeared for an interview in Nov 2024.
The components of an Android app include activities, services, broadcast receivers, and content providers.
Activities: UI components that represent a single screen with a user interface.
Services: Background tasks that run independently of the UI.
Broadcast Receivers: Respond to system-wide broadcast announcements.
Content Providers: Manage a shared set of app data.
Activity is a single focused thing that user can do, while Fragment is a modular section of an activity.
Activity represents a single screen with a user interface, while Fragment represents a behavior or a portion of user interface in an Activity.
An Activity can contain multiple Fragments, but a Fragment cannot exist independently without an Activity.
Fragments have their own lifecycle, while they are dependent on the li...
Databinding is a feature that allows you to bind UI components in your layout to data sources in your app.
Databinding eliminates the need for boilerplate code to update UI components with data.
It allows for easier communication between UI components and data sources.
Databinding can improve code readability and maintainability.
Example: Binding a TextView directly to a ViewModel property in an Android app.
The view is attached to the Fragment during the onAttach() lifecycle event.
The onAttach() method is called when the Fragment is associated with its host Activity.
This is the first lifecycle method called after the Fragment is created.
The onAttach() method receives the Activity as a parameter, allowing the Fragment to interact with its host.
Yes, an activity can exist without a view in Android.
An activity can perform background tasks without displaying any UI elements.
For example, a music player app may have an activity to handle playback controls in the background.
Activities without views are commonly used for tasks like data processing, network operations, or service handling.
A broadcast receiver is an Android component that allows the system to deliver events or messages to the app.
Broadcast receivers can be used to listen for system-wide broadcast announcements, such as when the device is booted or when the battery is low.
They can also be used to receive custom broadcast messages sent by other apps or components within the same app.
Broadcast receivers are registered in the AndroidManifest...
LateInit is used for non-nullable properties that are initialized later, while Lazy is used for properties that are initialized only once when accessed.
LateInit is used for non-nullable properties that are initialized later in the code.
Lazy is used for properties that are initialized only once when accessed, making it suitable for expensive operations.
LateInit properties must be initialized before accessing, while Lazy
Yes, I have experience working with ViewPager2 and ListAdapter.
Implemented ViewPager2 to create swipeable screens in Android apps.
Utilized ListAdapter to efficiently manage data for RecyclerViews.
Used ListAdapter's DiffUtil to efficiently update RecyclerView items.
Pagination in Android can be achieved by using libraries like Paging Library or implementing custom pagination logic.
Use Paging Library provided by Android Architecture Components
Implement custom pagination logic by loading data in chunks
Update RecyclerView adapter with new data as user scrolls
I have worked on various layouts including linear, relative, grid, and constraint layouts.
Implemented linear layouts to arrange views in a single column or row.
Utilized relative layouts to position views relative to each other.
Used grid layouts for displaying data in a grid-like structure.
Implemented constraint layouts for creating complex and flexible UI designs.
To set a view in the middle in ConstraintLayout, use layout_constraintStart_toStartOf, layout_constraintEnd_toEndOf, layout_constraintTop_toTopOf, and layout_constraintBottom_toBottomOf attributes.
Use layout_constraintStart_toStartOf and layout_constraintEnd_toEndOf to align horizontally in the middle.
Use layout_constraintTop_toTopOf and layout_constraintBottom_toBottomOf to align vertically in the middle.
Set both hori...
A suspend function is a function that can be paused and resumed at a later time without blocking the main thread.
Suspend functions are used in Kotlin coroutines to perform asynchronous operations.
They are defined using the 'suspend' keyword in the function signature.
Suspend functions can only be called from within another suspend function or a coroutine builder like 'launch' or 'async'.
Coroutines in Android can be launched using the 'launch' function from the CoroutineScope.
Use the 'launch' function from the CoroutineScope to start a coroutine.
Specify the context in which the coroutine should run, such as Dispatchers.Main for the main thread.
Handle exceptions within the coroutine using try-catch blocks.
Example: CoroutineScope(Dispatchers.Main).launch { // coroutine code here }
Use runOnUiThread or withContext(Dispatchers.Main) to update UI in coroutine scope.
Use runOnUiThread to update UI from a background thread.
Use withContext(Dispatchers.Main) to switch to the main thread in coroutine scope.
Example: runOnUiThread { textView.text = "Updated text" }
Example: withContext(Dispatchers.Main) { textView.text = "Updated text" }
HashMap is unordered, LinkedHashMap maintains insertion order.
HashMap does not maintain insertion order, LinkedHashMap maintains insertion order.
HashMap allows one null key and multiple null values, LinkedHashMap allows one null key and multiple null values.
HashMap is faster for iteration, LinkedHashMap is slower due to maintaining order.
Syntax for HashMap in Kotlin and Java with values.
In Kotlin:
val hashMap = hashMapOf<String, Int>()
hashMap.put("key1", 1)
hashMap.put("key2", 2)
In Java:
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("key1", 1);
hashMap.put("key2", 2);
Val is immutable, Var is mutable in Kotlin programming language.
Val is used for read-only variables, cannot be reassigned.
Var is used for mutable variables, can be reassigned.
Val is preferred for better code safety and readability.
Example: val name = "John" vs var age = 30
Let and apply are scoped functions in Kotlin used for executing a block of code on an object.
Let function is used to execute a block of code on a non-null object and return the result.
Apply function is used to initialize an object and perform operations on it without explicitly returning a value.
Data can be sent between two activities in Android using Intent with putExtra() method.
Create an Intent object in the sending activity
Use putExtra() method to add data to the Intent
Start the second activity with startActivity() method, passing the Intent
Retrieve the data in the receiving activity using getIntent() and getExtra()
Hot and Cold Flow is a design pattern used in Android development to manage the flow of data between components.
Hot Flow refers to the flow of data that is actively being observed and updated in real-time.
Cold Flow refers to the flow of data that is not actively being observed and updated, but can be retrieved when needed.
Hot Flow is typically used for real-time updates, while Cold Flow is used for fetching data on dem
RecyclerView is more efficient for displaying large datasets and supports various layout managers, while ListView is simpler and easier to implement.
RecyclerView is more efficient for displaying large datasets as it only creates enough views to fill the screen, while ListView creates all views at once.
RecyclerView supports various layout managers like LinearLayoutManager, GridLayoutManager, and StaggeredGridLayoutManag...
Sealed classes are used to restrict inheritance in Kotlin, allowing a class to have a fixed set of subclasses.
Sealed classes are declared using the 'sealed' keyword.
They can only be extended within the same file where they are declared.
Sealed classes are often used in conjunction with when expressions for exhaustive checking.
Back stack is a stack of activities in Android that keeps track of the navigation history.
Back stack is managed by the Android system to handle the navigation flow of activities.
When a new activity is started, it is pushed onto the back stack.
Pressing the back button pops the top activity off the stack and navigates to the previous activity.
Activities in the back stack can be brought to the foreground by using the appr
Hashcode is a unique identifier for an object, equals() compares the content of two objects, and == checks if two references point to the same object.
Hashcode is an integer value generated by a hashing algorithm to uniquely identify an object.
equals() method is used to compare the content of two objects for equality.
== operator checks if two references point to the same object in memory.
Example: String class overrides ...
I applied via Company Website and was interviewed before Sep 2021. There were 4 interview rounds.
Logical Aptitude, Verbal, Numerical
2 codes one small and easy , another big and medium difficultly
I appeared for an interview before Jul 2021.
This will be a general apptitude test where a questionnaire is consist of reasoning, English and Maths questions
Designing Facebook is a complex task involving various components and technologies.
Identify the core features of Facebook such as user profiles, news feed, messaging, and groups.
Choose appropriate technologies for each component such as PHP for backend, React for frontend, and MySQL for database.
Ensure scalability and performance by implementing caching, load balancing, and database sharding.
Implement security measures...
I applied via Naukri.com and was interviewed in Apr 2021. There was 1 interview round.
To check Java version, use command prompt/terminal and type 'java -version'.
Open command prompt/terminal
Type 'java -version'
Press enter
The installed Java version will be displayed
The main method syntax is a standard entry point for Java programs.
The main method must be declared as public, static, and void.
The method name must be 'main'.
The method must accept an array of strings as an argument.
The method must be defined within a class.
Example: public static void main(String[] args) { }
I applied via Campus Placement and was interviewed in Apr 2020. There was 1 interview round.
I appeared for an interview before Nov 2020.
Round duration - 180 Minutes
Round difficulty - Medium
The test was started in the evening 4pm approx.
It was flexible due to Corona so we gave the test from our home only.
It had listening skill activity too according to which we were marked .
Interviewer was very supportive because of which it was easier for us to open up easily .
You are provided with a string expression
consisting of characters '+', '-', '*', '/', '(', ')' and digits '0' to '9', representing an arithmetic express...
Evaluate arithmetic expressions in infix notation with given operators and precedence rules.
Parse the infix expression to postfix using a stack and then evaluate the postfix expression using another stack
Use a stack to keep track of operators and operands while parsing the expression
Handle operator precedence and associativity rules while converting to postfix and evaluating the expression
Given a string 'STR' consisting solely of the characters “{”, “}”, “(”, “)”, “[” and “]”, determine if the parentheses are balanced.
The first line contains an...
The task is to determine if a given string of parentheses is balanced or not.
Iterate through the characters of the string and use a stack to keep track of opening parentheses.
When encountering an opening parenthesis, push it onto the stack. When encountering a closing parenthesis, check if it matches the top of the stack.
If the stack is empty at the end or there are unmatched parentheses, the string is not balanced.
Exa...
Round duration - 20 Minutes
Round difficulty - Medium
Interview
Ninja is exploring new challenges and desires to reverse a given number. Your task is to assist Ninja in reversing the number provided.
If a number has trailing ze...
Implement a function to reverse a given number, omitting trailing zeros.
Create a function that takes an integer as input and reverses it while omitting trailing zeros
Use string manipulation to reverse the number and remove any trailing zeros
Handle test cases where the number has leading zeros as well
Ensure the reversed number is printed for each test case on a new line
Tip 1 : confidence is the key.
Tip 2 : focus on communication skills.
Tip 3 : be honest and well prepared about your projects and trainings .
Tip 1 : it should be to the point.
Tip 2 : be honest. And one should know everything that is written down there.
I applied via Referral and was interviewed before Apr 2021. There were 2 interview rounds.
Puzzles, Psychometric Test
based on 1 interview
Interview experience
Software Engineer2
15
salaries
| ₹7.5 L/yr - ₹18 L/yr |
Software Engineer
12
salaries
| ₹7.6 L/yr - ₹14 L/yr |
Senior Software Engineer
11
salaries
| ₹6.3 L/yr - ₹17 L/yr |
Product Designer
8
salaries
| ₹11 L/yr - ₹12.1 L/yr |
Software Developer II
5
salaries
| ₹7.5 L/yr - ₹12 L/yr |
TCS
Accenture
Wipro
Cognizant