28 Inrix Interview Questions & Answers
1. What software analysis and design tools do you have familiarity working with?
How to Answer
As a software engineer for Inrix, your interviewer wants to hear that you have experience in utilizing tools that you make you more proficient in your work. Dig back on your past experiences and talk openly about your experiences with the different analysis and design tools that are available to help you be better in the work that you do. In the end, make sure that your interviewer understands that you are proficient in the use of these tools and open to learning and using new tools as well.
1st Answer Example
"As my career and experience in software engineering has grown over the years, I've come to really appreciate and utilize these tools that are available. A great example of this would be my recent education and use of Structured English for designing insurance claim software for a large auto insurer. The simplicity of the structured decisions in the program were a perfect example of a program that could utilize the tool and the end product ended up very functional for our customer."
2nd Answer Example
"I have great working knowledge in creating and reading data flow diagrams. To help with both our own sales staff and with customers, DFD's have been super helpful and I consider myself very proficient in creating them. I've also recently been introduced to decision tables to aid in product testing. I was working on a new system that involved some very complicated business rules and the decision table helped outline everything perfectly for our testing."
2. In your current work, what are the important steps you take in the data validation process?
How to Answer
Depending on your training and your past roles prior to interviewing at Inrix, you may be familiar with one or two of the many trains of though regarding the steps of a data validation. Whatever formal process you are familiar with, be sure to check the boxes of discussing data screening and data verification as part of your process. Your interviewer will be looking to hear that you check those boxes as they are imperative in the software field.
1st Answer Example
"As I embark on a data validation process in my current role, my first step is to roadmap a detailed plan to keep on task. I utilize benchmarks and the expectations of key stakeholders as my guide. Once underway, I validate the database and the data formatting to ensure that data is properly screened for its overall health. Then, by finishing with sampling, tests are performed to hopefully show that the data is useful within the system."
2nd Answer Example
"The most important steps in a data validation process are determining the data to sample, scouring the existing database and validating the final data format. My first step is to use my best judgment to determine if I will validate a sample or the entire data set. This determination is based on overall size of the set and the timeframe that I have to work on the project. Then, I take the time to screen data in the existing database to calculate the number of unique ID's and records to come into the system. Last, I have to verify that the source data matches the schema within the targe"
3. Can you describe the software development lifecycle?
How to Answer
With this question, employers are looking to test your knowledge. They want to know how much you've participated in the projects you've been involved in to truly understand the software development lifecycle. The question may seem basic to some, but employers are expecting an accurate answer to know that they're hiring a true pro.
1st Answer Example
"Absolutely. In my last job, we leveraged the waterfall method, making sure we completed each phase of the project - and completed it on time and to the highest quality, before moving on. The software development lifecycle consists of 6 steps, starting with planning, of course, followed by implementation, testing, documentation, deployment, and maintenance. Every step is crucial to ensure we're producing a quality product and also maintaining that product to meet the changing needs and demands of our end users."
2nd Answer Example
"I am new to my career in financial services and sales; however, I have taken an online course focused on cold calling. This course was incredibly helpful and I look forward to meeting and exceeding my targets with Inrix."
4. What data cleaning methods are you familiar with and comfortable using if hired for this role at Inrix?
How to Answer
To improve data quality and increase overall productivity of a system, Inrix relies on their data analysts to use data cleansing methods to ensure quality data exists in their software. Be open and honest with the ways that you've helped ensure quality and accurate data in the systems that you've worked with while also showing that you have an open mind to learning and utilizing more methods if hired for this position.
1st Answer Example
"In my current work, I use a very methodical fashion in cleaning data for finished systems. My first step is to remove duplicate and irrelevant observations within the data. Then I scan the data to remove extra spaces, convert numbers stored as text into numbers and remove duplicate data. These steps help ensure clean and accurate data and I never overlook them. If hired for this position, what methods does the current data analyst team her at Inrix utilize?"
2nd Answer Example
"I am familiar with many methods used in the cleansing of data. The initial monitoring of errors within a system is very important to identifying where errors occur and give insight into how to fix corrupt data. I have utilized the tools within Domo software to validate data accuracy and scrub for duplicate data in my processes as well. Being very proficient in data analysis, I'm very open to learning new methods as well if hired for this position."
5. What do you feel is one of the top issues that is faced by data engineers today?
How to Answer
Being in the midst of the greatest technological revolution in the history of man, data engineers face many difficult issues in the work that they perform on a daily basis. While there are many directions that you can go with this question, be sure to focus your answer on something that you can speak passionately about. If you can research a common issue in the industry that Inrix works in, you may likely score some bonus points with your interviewer.
1st Answer Example
"Over the past couple of years, I've come to realize that one of the largest issues we face as data engineers is the large amounts of data that are needed to store and then draw information from. Here at Inrix, I can only imagine how big of an issue that is in the healthcare industry. I have a lot of experience with cloud based data storage and also server based storage."
2nd Answer Example
"In my recent experiences, continuous, real-time integration is an issue that we will face each and every day moving forward. The need for fast paced information is certainly to blame for this. To stay on top of the continuous integration landscape, I am happy to hear that new and improved systems are being created to stay more real-time and up to the minute. Here at Inrix and working in the financial industry, how have you seen this need for real-time data impact your products?"
6. Here at Inrix, we strive for continuous delivery and continuous deployment with our software. Are you familiar with these processes in your current work?
How to Answer
In the industries that Inrix works in, updates to software are vital to end users for them to stay at the forefront of their business. To ensure that updates happen as quick and smoothly as possible, Inrix utilizes continuous delivery and continuous deployment for their customers. For this question, talk about what you know about these processes as a software architect, why they are important and what experience you have with them.
1st Answer Example
"In my current role, we utilize a 100% continuous deployment process with our end users when we role out new changes to existing software. We use automated testing in our process to validate that code changes are correct and able to be deployed without issue. Once validated, changes are automatically rolled out to our end users. Having once utilized a continuous delivery system, I am very appreciative of working in an environment utilizing continuous deployment as it negates any need for human intervention in the roll out."
2nd Answer Example
"In my current position, we've slowly grown from a continuous integration process to a continuous delivery process. I love the automated testing process when we are looking at rolling out new changes to existing software and my role as the architect for our projects puts me in the drivers seat for sending out these changes. If hired for this role here at Inrix, I'd be very intrigued at learning and working with continuous deployment practices as well."
7. How do you ensure that you have a healthy work-life balance in your career?
How to Answer
In the fast paced world in software and technology development, heavy work loads and potential on-call duties have created a lot of burnout in professionals. Your interviewer is looking to hear that you are cognizant of the risks of burnout and that you do what is necessary to maintain your own personal health and well being and that of your family as well. While you can use this time to talk about personal interests or hobbies outside of work, try to focus on how these items help keep you refreshed for the work that you'll be doing for Inrix.
1st Answer Example
"As I am passionate about my career as a UX designer, I am also passionate about my family. Any moments outside of work are spent coaching my kids traveling baseball teams in the summer months and then spending as many weekends as possible on the ski slopes. These activities help keep me active, physically fit and keep my mind centered on what it truly important in my life when work weeks get stressful."
2nd Answer Example
"Having watched many of my senior colleagues over time suffer from work burnout that has caused marital issues and health issues, I make it a priority to maintain a healthy balance between my work and my home life. My free time is spent in the outdoors with my wife, whether that be on the lakes and rivers fishing or biking around town. I consider myself fortunate to be considered for a position here at Inrix because I know that you put a focus on your employees maintaining this healthy balance because the organization realizes how important this is to be productive."
8. What programming languages would you consider yourself fluent in?
How to Answer
While this question gives your interviewer insight into the diversity of your programming language experience, they most importantly want to know that you are adaptable and able to learn on the fly if needed. Talk about the different languages that you consider yourself fluent in and, if possible, do as much research into Inrix as you can prior to your interview and try to speak to the specific languages that they work with.
1st Answer Example
"From the start of college, where software engineering grew into a passion for me, I've become very fluent in Java, JavaScript and C++. My current role has me working primarily with C++, but I pride myself on my ability and passion to learn new programming languages and would be able to do so if hired for this role with Inrix."
2nd Answer Example
"During my training to be an engineer and then in my current role since graduating, a majority of my experience falls within Python. My current role delves deeply into artificial intelligence and Python is awesome with this advanced technology. As I understand it from talking to another engineer here at Inrix, a requirement would be for me to learn Scala. Though I haven't worked directly with Scala, I believe my experience and willingness to learn would have me up and running in no time if hired for this role."
9. At Inrix, we rely on a full team effort to deliver top quality products to our customers. Tell me about a time that you worked well as part of a team. Are you comfortable in a similar role here?
How to Answer
While this potential role with Inrix will require your to be an independent worker that can think on your feet, you will also need to work as part of a larger team that is working toward one common goal. Because of this fact, your interviewer will want to hear that you thrive in an environment where you work with team members from other disciplines than you are trained in. In your example, stress to your interviewer that you have excellent communication skills and that you fully understand that every person on a team plays a vital role in the organization's success.
1st Answer Example
"Throughout my career, I've always enjoyed working as part of a larger team on the job and this personal enjoyment started with my love of and participation in team sports like baseball and basketball. Growing up playing sports, I learned that each team member brought a unique skill set that could help us achieve our goals. Through a great coaching staff that knew how to make these individual skills shine, this same philosophy holds true for a team that is looking to design a new software system. I know that my skills as an engineer are just part of the final product and I work very well with designers, architects, analysts and sales to help build the greatest system possible."
2nd Answer Example
"I am a people person by nature and my current role has me working very closely with our engineering and design staff on writing technical manuals for our products. While I certainly can handle long days at my computer in solitude, my desire to work hand in hand with others really sets me apart from my peers in this field. I have excellent verbal, listening and written communication skills that, if hired here at Inrix, your entire team would appreciate from my first day on the job."
10. As a machine learning engineer, how do you avoid the curse of dimensionality in your designs?
How to Answer
To effectively answer this question, it is important to first understand what dimensionality means in reference to machine learning and how it can curse a project. As the number of features increases in comparison to the number of observations within a data set, some algorithms struggle in pulling correct data. Your job on this question is to talk about ways that you can avoid the curse in your designs. Some possible things that you may mention and describe are feature selection, correlation thresholds and variance thresholds.
1st Answer Example
"A common example that I use with people to explain complications in dimensionality is dropping a pin on a 10 foot straight line. This would be relatively simple to find. Next, if you dropped the pin in a 10 foot by 10 foot square, the task of finding the pin becomes more difficult. Adding a third dimension to make a 10 foot cubed area makes it all the more difficult to find the pin if placed within it. In bringing this back to machine learning, my job is to somehow make the three dimensional field that the machine will pull from easier to pull from. Last year, I was part of a team that developed a system for pulling public health data. We were able to set many variance thresholds that removed values that didn't change much from observation to observation. After careful testing, the system was able to pull information quickly and accurately based on these thresholds."
2nd Answer Example
"As you can see from my resume, I've spent the last six years working in the electronics industry. Most of my machine learning work has focused audio data. To avoid the curse of dimensionality within the systems I've designed, autoencoders have been tremendous in pulling information. While a great amount of time and effort was needed to effectively train the systems, the work was well worth it in the end."
11. Talk about a time when things didn't go as planned on the job. What was the situation and what allowed your to persevere in that situation?
How to Answer
As a professional in the tech industry, you have likely had a project that failed, a promotion that passed you over or a meltdown occur at some point in time. Realizing that your interviewer fully understands and expects that failure happens, talk openly and honestly about a situation where you experienced failure or failed plans. Most importantly in your answer, focus on how you overcame the particular situation and discuss lessons that you learned moving forward that you can bring to this role at Inrix.
1st Answer Example
"A couple of years ago in my first role as a UI designer out of college, my team was tasked with coming up with a very short notice proposal for a potential high end customer. With a week turnaround time, I set right to spending my time gathering information on the company to build a mock design. When the proposal was submitted, I found out that the potential customer scoffed at my idea and the customer went with another organization's proposal for their use. The biggest piece of feedback that I got was that the UI design just wasn't conducive to the type of customers they were expecting. From that point forward, whether it has been with short notice or long-term products, I take the time to communicate with key decision makers from clients to gather information for making my design as user friendly as possible."
2nd Answer Example
"Last year, I was working on a large scale project that put me face to face with a key customer. After traveling onsite with the customer to spend time with them, I exchanged contact information with two of the key decision makers. In the weeks following, I was sending them follow up emails with our business proposals and was getting frustrated at the lack of response from the clients. After my manager had questioned the viability of the potential customer, I picked up the phone and called them directly. It turns out that their responses back to me were being sent to a junk email folder that I neglected to consider. I apologized for the mistake, took action quickly and we came to a great agreement on future business together. After having a laugh about it with my boss, I now incorporate diligent communication follow ups both by phone and email with customers while also regularly checking all email inboxes."
12. Do you have experience working with different CASE tools? If so, what do you have experience with?
How to Answer
The world of software engineering has greatly benefited from advancements in computer aided software engineering tools. Because Inrix is at the forefront of the industry, your interviewer will be looking to hear which tools you have experience with. Make sure not to concern yourself with providing a correct answer here, but rather focus on your flexibility to learn new aides when needed while explaining what you have experience with.
1st Answer Example
"In my current role, I regularly utilize both diagramming and web development tools. The diagram tools assist our software projects by outlining the system data and components in a graphical form for us and this saves us a great amount of time while also being very reliable. The web development tools greatly help me visualize site changes that I am making because I don't have a deep background in web development. If hired for this position, I'd look forward to learning other CASE tools for prototyping, quality assurance and maintenance."
2nd Answer Example
"During my career and in my experience with CASE tools, most of my experience is in the lower CASE elements that focus on coding and testing the software after initial development. CASE tools have certainly made life as a software engineer more efficient and effective and I'd look forward to learn any new CASE tools if hired for this position here at Inrix."
13. In designing Android software, what is your experience using parcelable versus serializable within an app?
How to Answer
Because parcelable is optimized for Android to be faster and more customizable, your interviewer will be looking to hear that you are willing to put in the extra work to utilize the parcelable method to achieve better performance within the software that you design. Give your interviewer your thoughts on the differences between the two methods of passing object references to activities within an app that you design and make sure that they understand that you are ready to perform the work to utilize the parcelable method when necessary.
1st Answer Example
"Having written code for Android apps for many years now, I am very familiar with both serializable and parcelable methods. In my first hand experience, parcelable provides a much faster and better user experience so I will always strive to take the time to write custom code for marhsaling and unmarshaling to create less garbage objects within an app."
2nd Answer Example
"Due to it being a standard Java interface and its ease of implementation, serializable interface is pretty commonly used. But, because it uses reflection, many temporary objects are created within Android apps and this creates a very poor user experience. When the parcelable interface was introduced for Android systems, I have extensively focused on its use and finished products have benefited greatly."
14. As you reflect back on your career to this point in your search for a new position, what would you say is your ideal work environment or culture?
How to Answer
While using this question as a key indicator on how you'll fit with the team and the organization at Inrix, it will be very important for you to research as much as you can on the work environment at Inrix so you can match your priorities to that environment. If you have the opportunity to speak with an employee at Inrix prior to your interview, that can shed valuable information. In the end, the culture and value of an organization are often a key indicator of long-term success in a job, so make sure that you reflect your values into what the company values.
1st Answer Example
"As I begin this job search now 15 years out of college, I'm looking for an employer that promotes and encourages innovation, new ideas and collaboration among all members of the team. From what I know about Inrix from speaking with others, you sound like a perfect match for what I am looking for in a career."
2nd Answer Example
"With all of the companies that I have both worked for and consulted with in the past, I realize that a company culture is basically the personality of the company and I am looking for a new organization that really meshes well with my personality. I am a casual person that believes in hard work, teamwork and having fun on the job. As I embarked on a job search, I was so happy to see that Inrix was hiring because I believe our styles will fit perfectly together."
15. In SQL, how do you explain the differences between clustered and non-clustered indexes? Can you name a time that you used each?
How to Answer
Inrix uses indexes to improve query performances within their software and for this question, your interviewer is looking to hear that you have a basic understanding of both clustered and non-clustered indexes. Explain the differences between the two types of indexes and be sure you can either speak to relevant times that you've used each or when would be the appropriate application to use each.
1st Answer Example
"In the simplest of terms, a clustered index order records in a table the way that they are physically stored. There can only be one clustered index per table. Non-clustered indexes do not store data to match the physical order that it is stored. Rather, it can hold up to 249 indexes per table. Both types come with their own benefits over the other. In my experience, clustered indexes are suited best for programs that use primary key as an identity integer column. On the other hand, non-clustered make the most sense for programs that need JOIN and WHERE clauses within them."
2nd Answer Example
"In my experience, clustered indexes are faster to read but very slow when it comes to update data within. Non-clustered indexes are just the opposite in that they are slower to read but much fast to insert new data into them. In my current role, I mostly use clustered indexes when large numbers of rows need to be retreived and when insert operations are important. Most other times, I will use non-clustered as the standard."
16. Do you consider yourself stronger in C++, C#, Java, or Python?
How to Answer
Before your interview, do some research to understand what tech stack Inrix uses so you can best prepare and highlight your expertise. If you aren't as strong in one of the skills you feel is necessary, be sure to explain how you've used it and how you are growing your knowledge to become better. Be sure to be honest in your answer, as the company will likely test your strengths.
1st Answer Example
"In my last company, we had a bit of an outdated tech stack and used C# and .NET. I found myself fully immersed in those technologies, but had a strong desire to learn more and become more familiar with modern technologies and how I can apply that in my career. That's what has me so interested in this role. Over the last year, I've taken courses in Java and C++, which I noticed you prefer. I've become proficient in the skills and in side projects, applied my increasingly strong knowledge. I'm probably strongest professionally in C# as that has been where my experience lies, but my passion and dedication is on the Java and C++ side, as I feel that's the more modern alternative. I'm excited about the possibility of applying that knowledge in a role at Inrix."
2nd Answer Example
"I am motivated and excited about this new opportunity because it will challenge me to grow in my (X) skills. I love soccer and enjoy spending time with my teammates. I am interested in continuing my education by studying (Y) to further my career."
17. At Inrix, we take security risks very importantly in our products. In your experience, what are the biggest security risks in software and what is your experience in any prevention methods?
How to Answer
As an expert in software industry, you are obviously aware of the many security risks that systems face in this day and age. For your answer to this question, talk knowledgeably about the security risks that you are most familiar with combating in your day to day work. Explain why the posed risk is important to combat against and talk about the methods you used to minimalize risk in the finished product.
1st Answer Example
"As I'm fully aware, cyber-security has become a very important issue over the past ten years. In my current role, our biggest security risk is injection of code used by hackers to access information in our web applications. To help prevent any risks associated with injection, we've implemented the use of a safe API and using specific LIMIT and other SQL controls within queries to prevent loss of records in case of an injection."
2nd Answer Example
"In the healthcare field where I currently work, broken authentication vulnerability has allowed attackers to hack into electronic medical records and gain control over those systems. This type of attack potentially puts hundreds of thousands of people at risk within a given system. We use many methods to prevent this type of security risk. First, we take the time to properly test the code before rolling out new updates to software. We also utilize very detailed external security audits. Other details we have implemented have been multi-factor authentication processes and recommendations to align password requirements with the NIST guidelines."
18. What do you feel are the primary features and benefits of the Java programming language?
How to Answer
As a company that utilizes Java, Inrix and your interviewer want to make sure that you have an understanding of the Java programming language and they do so by asking this question. Obviously a language packed with unique features, talk about the features that you can speak the most knowledgeably about and tie your direct experience to.
Answer Example
"When I started working with Java three years ago, the first huge benefit was the fact that the Java syntax was based on C++. At that time, I had a great working knowledge of C++ and my transition to Java was absolutely seamless. The other amazing feature that I've come to appreciate with Java is how robust the memory management is in exception handling and automatic garbage collection."
19. If hired for this position at Inrix, what leadership skills would you bring to our team?
How to Answer
While this position at Inrix may not hold the title of manager, supervisor or director, the organization firmly believes that employees that demonstrate key leadership qualities are better set for future career success. Aside from that, leadership skills help you work better as part of a larger team and with potential customers as well. Prior to your interview, think about one or two leadership qualities that you possess and talk in detail about how you've exemplified those qualities in the past.
1st Answer Example
"I would say that my credibility is my best leadership skill. My openness and honesty suits me well when working among a team of individuals and this helps them gain trust in following my lead when working on projects. Another skill I would bring here to Inrix would be my ability to lead by example. I'm not afraid to take a risk in seeking innovation and I've been commended for this trait many times by my current manager."
2nd Answer Example
"If you were to offer this position to me, you'd quickly find that my positive attitude is an inspiration to those that I work closely with. In my current job, we work under the constant stress of tight deadlines and my positivity can be infectious to help others maintain their focus when negativity can easily take over in most situations. I would say that my other strong suit as a natural leader is my ability to be fluid on a day to day basis. Sometimes our world can be monotonous and when change comes, most resist that change. For me, change is a chance to break the current mold and grow as an employee."
20. If hired for this position here at Inrix, would you be comfortable handling overall project manager responsibilities for new software development?
How to Answer
As a skilled software engineer, you have all of the necessary tools in your bag to be a successful engineer at Inrix. This question is allowing your interviewer to get a better sense of your project management skills and people skills if you were to join the team at Inrix. In your answer, talk about your ability to estimate the time and cost of a project, the staffing needed and the overall scope of planning for a particular project. If you have direct experience in being the lead on a large development project, be sure to discuss that experience with your interviewer.
1st Answer Example
"Looking to join the team here at Inrix directly out of college, I feel very confident in my abilities to manage the entire scope of a new development project. I have leadership experience as my campus' president of the software engineering club. In that role, I developed skills that would help me utilize staff and resources in the best way possible. During my internship, I was exposed to the planning stages of new projects and I have a very good feel of estimating the budget and length of time needed to have a fully functional system."
2nd Answer Example
"I would absolutely be comfortable if tasked with project manager duties here at Inrix. In my last two roles, I have led successful projects that started with great planning and budgeting process and went through to completion with great people and processes in place under my leadership. While it's not a regular duty for me in my current role, I always welcome leadership duties."
21. How would you handle a situation where a colleague was being very difficult to work with?
How to Answer
In the team based atmosphere at Inrix, departments with different skills and backgrounds can often see things from different points of view and these situations can cause some internal conflict between coworkers. With this question, your interviewer is looking to hear how you handle situations where you are working with someone that can be seen as difficult. To give them the sense that you are able to work through conflict in a professional and sensible manner, try to talk through how you handled a conflict at work previously in the past and highlight the interpersonal skills that you used to help make it a positive situation.
1st Answer Example
"In all honesty, any great work atmosphere that I've been a part of in the past has involved conflict between colleagues. In situations I have witnessed, conflict has stemmed from very open-minded people giving their two cents in particular situations and two people not seeing eye to eye. This happened recently to me in the planning phases of a new project. On of our UX Designers and I had a disagreement on the final layout of a new software roll out we were planning. It worked best for both of us to talk about our ideas and list the pro's and con's for our ideas. I kept an open mind to learn from her point of view and she did the same to me on my end. This led us to come up with a great compromise in the end."
2nd Answer Example
"Last year, we had a new engineer join our team that was hired on from his internship with us. From his first day, he made it very evident that he would only handle certain tasks within our team and only work on certain projects. As his mentor to help get him up and running, I sat him down and discussed the expectations of each of our engineers as part of our larger team. I explained to him that our approach was not to pigeonhole ourselves into smaller tasks, but rather be well rounded engineers that could handle any project and be able to cover for each other if needed. He really appreciated this approach when I explained the benefits for his long term career goals with this approach. This example shows my approach to being very direct with people that I have a conflict with in the workplace and doing so in a very professional and educational manner."
22. In Java, why shouldn't you use strings to store a password?
How to Answer
While this may seem like a rudimentary question regarding your knowledge of Java, your interviewer is looking to ideally hear that you understand the principle differences between string and character arrays. Asking about the storage of passwords within a system gives you the opportunity here to point out the differences between the two. In the end, while explaining the differences, be sure to tie it back to the original question on why strings shouldn't be used to store passwords.
1st Answer Example
"To store a password, character array is the obvious best choice because character arrays are mutable. If a string was utilized to store passwords, a definite security risk would be present to anyone that would have access to the memory dump from the system."
2nd Answer Example
"This question simply boils down to a string being immutable. Because strings are a sequence of characters represented as a single data type, the system requires garbage creation to fully get rid of it out of memory. In my time designing software, I have used Char array and its mutable features to store passwords for the security of our end users "
23. If you can, please provide your thoughts on the function of managed object context in developing iOS apps and software.
How to Answer
While the core data framework and the managed object context may seem pretty easy to comprehend and simple from a first look, a deeper look into managed object context shows that it can be misused to the point where obscure bugs can enter the system. Give your interviewer your own personal insight into the purpose of managed object context and how it works behind the scenes to help an app properly run.
1st Answer Example
"In my current work, I work with both main queue and private queue manged object contexts. It is important that I avoid non user related data processing on the main queue of an app that I am developing. In times where this has happened in the past, the user interface becomes unresponsive and crashes. As well, I work to avoid instances passing between the main and private queues to avoid corruption of data within the app."
2nd Answer Example
"Knowing that a managed object context's job is to manage a number of records within an app, my job is to successfully manage each object within the app and assign it to a correlating context within the app. I have to consider the persistent store coordinator and code the app to fetch requests from the correct one."
24. A huge part of our business here at Inrix is designing software for iOS. In this role, how would you steer away from retain cycles when using closures in Swift programming language?
How to Answer
This question allows your interviewer to assess your technical knowledge and skills in designing apps for iOS products in a very simple way. To successfully answer it, make sure that you can speak knowledgeably about the swift programming language and using closures to capture and store references within the software. To piece together everything for your interviewer, give a clear understanding of why retain cycles must be avoided in your processing.
Answer Example
"Because ARC handles most of the memory knowledge in Swift, I know ARC is prone to memory leaking and this can cause major issues in apps over time. The fix that I've used in my career to avoid retain cycles is using weak references in my coding."
25. If you were asked to review a colleague's code that they had written, what key things would you look for?
How to Answer
For this question, your interviewer will obviously be looking to hear that you have adequate knowledge when it comes to coding processes. But most importantly, your interviewer will be looking to gauge your ability to be a team player and focus on the bigger picture when working on a project. In your answer, focus on your attention to detail and your ability to help others when needed.
1st Answer Example
"As an experienced software engineer, I fully expect my colleagues to reach out to me for my insight and I never hesitate to provide open and honest feedback. When asked to do this, my main focus is ensuring that the code is readable and functional. If there are lines of code that need to be removed, I don't hesitate to let my colleague know that while also giving them feedback on why I feel it is unnecessary."
2nd Answer Example
"When I'm asked to do this in my current position, my main focus is on regulatory requirements that were put in place for the project and security issues. I work with a team of great engineers that are very efficient coders and these two areas are most often overlooked."
26. If hired here at Inrix to develop iOS and Android software, when would you use a fragment rather than an activity?
How to Answer
In the development of apps for both iOS and Android, using code to create an activity versus a fragment is a highly debated topic to this day. For this question, your interviewer is looking to hear that you understand what the differences between the two are and when you feel that using a fragment is the proper direction to go. Make sure to speak to the high level overview of what an activity does to an app versus fragments.
1st Answer Example
"As a best practice in my development of Android apps in the past, activities are really the complete screen that a user experiences as part of the app. Fragments are really small sub activities that take place within the activity. Because fragments within an app have their own life cycle and receive their own input events within the app, there are specific times where fragments make the most sense to use in development. In my experience, I always use fragments when the app is working with UI components that are going to be uses across multiple activities within the app. As well, fragments have also served very well when using swipe views within the app."
2nd Answer Example
"In the past year, I honestly don't recall designing a new app that ran solely on an activity alone. The fragments are almost necessary today to bring life to an app. I use retained fragments to persist across activity restarts within the app and this helps make a user friendly experience for our end users."
27. Talk about a recent successful project that you worked on that required you to navigate some troubled waters during the project. What were the roadblocks and how did you overcome them?
How to Answer
While your resume and your past experiences can easily show your interview that you have the technical abilities for this position with Inrix, your interviewer needs some insight on your problem solving skills. This question allows your interviewer a chance to see how you handle adversity by using resources available to you. In your answer, talk about your ability to think critically and leverage people and resources to the advantage of beating a roadblock in your work. Make sure that your answer provides an example of a project that ended in success.
1st Answer Example
"A couple of years ago, I was the lead architect on a new software package that we were developing. As in any project, I was tasked with reviewing and approving the code the would be enveloped in the software. Because the final code impacted our potential clients and this was certainly a unique package we were developing, I proposed putting together a focus panel of existing clients to discuss potential needs out of a new system. My senior leaders were very reluctant to do this as they didn't want any word getting out about the program in its infancy. Knowing that we really wanted their feedback to start the coding process, I worked with our sales staff to build a list of our most dedicated customers. Then, I approached out leadership with this group and they approved without reluctance. After putting together the focus panel and gathering their thoughts, we built a phenomenal program that exceeded all of our sales and performance expectations."
2nd Answer Example
"I know that a large part of my success in the software architecture field is due to my ability to work collaboratively with others and provide mentorship to those on my team. On a recent project, I faced a design engineer that was very rigid in their ways and was unable to conform with new requirements for a system we were designing. In one of our first planning meetings, it became very evident that he would be unwilling to change in his ways. Being a person that wants to talk things out before escalating things further, I invited him to my office to talk one on one. I used a very educational approach to explain why we would be using the process we would be and I encouraged his participation in that approach. He hesitantly agreed. As we moved from design phase to the implementation phase, the engineer went right back to his old way of doing things and not embracing our new process. Rather than upsetting the entire project time, I immediately approached the engineer with a your either on board the ship or off the ship approach. Rather quickly, he asked that his seat on the team be reassigned to another engineer. In doing that quickly, our project was back up and running with success."
28. What experience do you have in the different types of software maintenance?
How to Answer
As a reputable company, Inrix takes their software maintenance processes seriously and your interviewer is looking to hear that you are familiar with the four different types of software maintenance. Talk to your interviewer about any work you have done in the past with corrective, adaptive, perfective and/or preventative software maintenance. Use specific examples and make sure that your interviewer walks away from your conversation knowing that you understand the importance of proper system maintenance.
1st Answer Example
"Being familiar with all four types of software maintenance, my most used method of maintenance in my current role is corrective. Based on bug reports from end users, I work through coding and logic issues to resolve issues in a timely and effective manner. In the maintenance I perform, I never hesitate to pick up the phone and contact customers to hear first hand about what they are experiencing. By doing this, they feel like they are an important part of the process and it reflects well on me and my organization."
2nd Answer Example
"In my current role, I'd definitely say that a majority of the maintenance work that I do is adaptive maintenance. Working in banking software that is used around the globe, I help perform system maintenance for changes in currency on a pretty regular basis. This work requires research and talking with end users to help adapt the programs for their use. If hired here at Inrix, I also have experience performing perfective, preventative and corrective maintenance on software as well."