Android Development Mock Interview | Interview Questions for Senior Android Developers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hello everyone welcome back to another round of 2d mock interview series i am jose tech leader at duty and i am from montreal canada and at turin i work hiring the best engineer by helping with the vetting process i have more than 17 years of experience and my expertise lies in javascript today i will be interviewing akil for the role of an experienced android developer okay so let's hear from you akil so could you please uh introduce yourself and tell me a little bit about your professional experience okay i am a kill from pakistan and i'm having 10-year development experience with android and ios application so i can develop android applications in java and kotlin as well and my recent experience is related to banking applications like financial applications in which we can perform different types of banking transactions like fund transfer top-ups and these type of things so my most of work is related to banking and i also work in the social applications like messagings apps in which we can perform group chat single chats and these type of things and i also use different architecture for developing android application by using mvvm mvc mvp and i we are also using the clean architecture that is most recent best practices used for development in android and also in different programming plan uh platforms so that's introduction from myself nice great all right that was great so i see you have worked hard right so 10 years likes it's a decade so it's a quite a large experience okay um could you please tell me uh a bit uh something about any interesting project that you have been work on uh actually i am working in a branchless application in which we have different uh interesting features like we can uh perform committee like uh if people want to collect funds from different peoples and we need to collect uh funds in a specific account and then after completing the month we need to disperse this fund to a specific peoples by using a lottery mechanism so this is most interesting uh development experience from for me because in which we have different type of challenges like we need to tackle different uh banking challenges like we need to study the core banking system how the fund transfers and how we need to securely save the transaction in a specific funds in a specific account so we can perform the transaction after the month so the whole process need to be automated so we have different types of challenges like security threads and these type of things so we perform different security protocols like end-to-end encryptions ssl paintings and these type of things this is the most interesting part that recently i developed great so uh talking about security okay um so what do you think is uh or are the best practices to avoid memory leaks on android so we need to perform different types of best practices to overcome the memory leakage in android so i will elaborate some points from the best practices like we need to use get application contacts where we need to get the contacts in the android application instead of activity contacts so it will be reduced memory leakage so if we need to use activity contacts so we need to destroy them on the activity industries so we need to handle the whole activity life cycle very smartly so we need to the second point is we need to uh avoid using static variables for declaring our views and activity contacts so we can eliminate the memory leakage the third one is we need to use we did not need to use other classes references inside our activities and the fourth one we if we use any broadcast receivers in our applications so we need to unregister them after uh moving to the next screen like we need to unregister broadcast receivers on activity destroy so we can avoid the memory leakage and if we are using different types of background tasks like using async tasks so we need to destroy all these things on the activity destroyer like we are using background threads so background background threads are the initiation for creating embry leakage in the android application so we need to avoid these type of things cool we are going to talk about the mood threadings uh background trends later on but you mentioned broadcast uh broadcast receiver right so uh what's a broadcast receiver uh actually broadcast receiver is a android component that uh allow you to register in android os for handling different types of events like if any event happen in an android os side so android os will notify to the applications like uh i can give a simple example like when we restart our phone the broadcast receiver is called like action boot completed so when we restart the phone after restarting the phone and application if we register the uh boot complete uh broadcast receiver in our application we will be notified by the android os so we can perform different actions according to our need so actually this is a broadcast receiver great great great and um could you please tell me uh what's the difference between classes uh files and activities in android okay uh the class is a compiled form of dot java or dot kt file so we can use both languages for developing android application so we write the code in java or kotlin file so the compile form of both is a class the second one is file the file is a block of arbitrary information or resources like we use different types of resources like images audios and this type of resources is referred as a file in android application the third one is uh activity activity is actually representing the user interface of our application like if we are using different application like whatsapp in whatsapp when we open the app we can see three tabs or different types of lists so the single user interface in android application is called activity great great great answer have you ever heard about uh let's see aidl uh yes so uh what is aidl and when should we use it okay so first what is a idl actually aidl is a android interface definition language and we use it in multi-threaded environment when we are developing applications in which we have different types of threads like uh we are doing performing some tasks in a background and we are updating ui so this type when we have these type of scenarios then we use ai dl so actually in ai dl uh a method is written in a other application but it is executed in different application and it pass the result to the back to the first application like you are heard about the remote procedure calls so in which our methods are executed on the server side and result back to the client so this is actually the same thing in the android in which we can achieve rcp in android locally so it is a idl cool really cool and so what's the difference between a and r and crashing in android okay uh it is very interesting question uh like we have a lot of issue in related to andr in like when we upload our application on the play store we can see the crash report so we have different types of enr and crash reports so actually crash is related to the coding part so when we receive an exception in a code like we have some logical errors then uh the crash is happened and our application is terminated by itself but an anr is related to user experience like when user is using android application the ui is frozen and user is unable to do anything so he need to kill the application manually and restart it so that's it and that is enr cool yeah something like that for sure okay before we move to our next question okay i would like to call upon our uh developers files here so if you have any different answer okay please let me know in the comment section below uh for each question that i asked him what would be your answer okay and let's see if we are aligned on the answers okay and if you are looking for android positions i would like to ask you to go ahead on tutoring.coms less jobs and search for android position you will find tons of android position there all you need to do is just apply for them sign up attorney if you are not sign up yet you can uh go to the vetting process and once you pass the vetting process okay i promise you you will get a job uh with android you work with android 100 remotely as we did okay uh okay so if you enjoyed this video please give us a big fat thumbs up and comment down below uh what is your answer for each question okay let's go back to you ikea so my next question for you will be um let's see what's the difference between uh or or the relationship okay between looper handler and message queue in android okay actually message queue is a queue that has tasks called messages which should be processed like we with you different tasks in a message queue then we use handler handle and enqueue task in a message queue using looper and also execute them when the tasks come out of the message queue like we have different tasks in a message queue the handler will execute them when it get back from the message queue and the looper is a worker that keeps the thread alive loop through the message queue and send message to the corresponding handler so it's responsibility to uh [Music] send messages to that as a handler all right great when would you call get application context uh actually we need to uh call get application contacts when we want to return the contacts of entire application like we have different screens like activities and fragments and this type of things so if we want to get the whole application contacts then we use the get application contacts instead of specific contacts like in our activity or fragment so we prefer the get activity contacts when we need the whole application contacts great and have you ever heard about android ndk yes yes and then i'll ask you what what is it okay what is uh android mdk and when should we use it okay uh and uh i use android ndks a lot of time actually it is a companion tool in android application in which we can use ndk to perform different performance related tasks and likes when we want to secure our data so we will prefer the native code like we write the code in c or c plus plus languages and then this code will be communicated with the java using gni java native interface so this code is more performance efficient and secure instead of java core so like a in android application if we want to use different keys domain urls and certificate keys these type of things so we will prefer to use ndk so we write code in cc plus plus and then use it in android for securing our application from reverse engineering okay makes sense makes sense what database okay is using in android and how it's different from client-side management systems okay yes so in android we are actually using sqlite it is a light form of sql database so it is entirely different from our traditional databases systems like sql etc but in sql engine is a serverless engine like in sql or oracle type databases we have a server and client this type of environment but in android the sqlite is actually perform all tasks locally so it will perform all transactions inside the android application and did not communicate with the server so so we cannot use different types of latency issues like in android application we have different types of performance issues like we have limited memory limited storage instead of computers so that's why sqlite is a light form of these and we cannot bear different type of latencies so we this is actually different from the server uh server side databases like it is totally serverless database and perform all transaction locally in android cool great all right so uh could you please explain me in detail about the important uh about the important files and folders using when you are creating a new android application okay uh in android when we create an android application uh from start uh there are important folders like we have a java folder resource folder and script folder in a java folder we have different files like java files and code in files we will write all business logic in java or kotlin like for handling our application navigations and downloading data from internet and this type of all stuff will be written in a java files and those files contain in a java uh directory so other than java is a resource factory that is very important in android application like we have different types of resources like images audios colors styles and this type of things like we define different types of dimensions and screen sizes for our application and handling themes so we will write all these things in dot xml style files like we also develop our interface in xml and those files are contained in resource directory and other than that we have different script uh directories in which we have greater files in which we can define the minimum os variant maximum os variant our build variant and code variant these things are used for android application like a code variant is used for uh play store like when we update different variants of our application we prefer to use code variant for differentiating with different uh applications we also use application id that is present in this directory that is uniquely identify our application on the play store great so this is the overview all right so great you did great today okay that was my last question for you uh now i have a question for our audience okay so uh in android interview you might get some of these questions okay let me know in the comment section below uh if you would answer different these questions okay and hit the like button if you enjoyed this video uh comment down below also if you want to see the code challenge the kodi questions for android developer okay let me know in the comments and then you can have a follow-up video and have one video dedicated to code questions okay for android or for any language just you just need to drop a message here and say i want to see the code question for android for react for any any kind of uh technology or library or framework we are gonna make this video for you okay uh also uh don't forget to subscribe to our channel hit the like button follow twitter on instagram linkedin facebook twitter uh clubhouse so we are all there okay uh go on go at touring community.turing.com subscribe to our events so you can watch events about android javascript python um english so there's a lot of events happening there so you can go there and and and watch them attend then so uh let me know what you would like to see in the the upcoming videos and so this was my last question so thank you akiel for your great insights today so your great answers so um that's a wrap okay yes that's that's a wrap i hope to see you again i hope to see you all again and see you all again [Music]
Info
Channel: Turing
Views: 51,142
Rating: undefined out of 5
Keywords: Android Developer, Android Development, Android Developer Jobs, Android Development Jobs, Turing Android Jobs, Turing Jobs, Turing Developers, Turing Remote Jobs, Remote Android Jobs, Remote Android Developers, Remote Developers
Id: BJZNsTA0z5w
Channel Id: undefined
Length: 19min 18sec (1158 seconds)
Published: Thu Jun 23 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.