SOFTWARE ENGINEER INTERVIEW
ACCURATE QUESTIONS AND ANSWERS
WITH SOLUTIONS 2024
Generator - ANSWER Like a list/iterable, but it can only be used once
Yield - ANSWER Like return, but "saves state" of the function, so it may "yield" a different result each
time. Can be used to create generators.
Ex:
def myGenerator(lst):
for i in lst:
yield i**2
Example of Difficult Bug - ANSWER Stimulsoft: Downloaded file sometimes wouldn't include all pages.
Found the problem by scripting tests and distributing them to my colleagues and analyzing the
differences and similarities between people that encountered the problem. Problem was because of
differences in the HTML5 and Flash versions of the web designer, and would occur based on the user's
browser settings.
Example of Challenging Problem - ANSWER Restaurant Locator Project: There were bugs that appeared
as a result of the limitations imposed on our usage of freely available APIs (Google Maps API), and we
had to work around those limitations and determine a way to optimize the efficiency of our application
without breaking the usage limitations.
Example of Learning on the Job - ANSWER VeraCore Mobile Dashboard: Learned a lot about
SQL/databases, SVN, Agile Development, working in a team, Mobile Application Development, and
RESTful services.
Algorithm Questions Process - ANSWER 1. Should I prioritize space or time complexity? Is there a
requirement for either of these?
2. What type of data/what format of data is being supplied for the input? What does it represent?
3. Is it a lot of data? A small amount of data? Are there boundaries on the data?
4. Consider the info given carefully. Don't make assumptions, and ask for clarification if necessary.
,5. Make sure to run test cases. What if input is... 0? a negative value? null? maximum value? minimum
value? Don't forget to also test the generic/normal case. (Hard mode: What if the input is too big to fit in
memory at once?)
Static Variables/Methods - ANSWER Not dependent on instantiation (constant throughout instances of a
class). Called with ClassName.StaticVariableName or ClassName.StaticMethod().
Static Class - ANSWER A class that cannot be instantiated. All its member variables and methods are also
static. It also cannot be inherited
Overloading - ANSWER Creating multiple methods of the same name but with different inputs and
implementations.
Abstract Class - ANSWER One which cannot be instantiated, but can be inherited. You cannot reference
an abstract class except through its children.
Inheritance - ANSWER A subclass extends a parent class. The subclass is said to be in an "IS-A"
relationship with the parent.
Abstract Methods - ANSWER Methods that do not receive a full implementation (they are only declared).
If a class has one then it must be an abstract class. Subclasses must implement any abstract methods of
the parent class (unless it is also an abstract class).
Overriding - ANSWER Implementing a [non-abstract] parent class's method in a child class
Final Variables - ANSWER Variables labelled Final cannot be changed.
Final Classes - ANSWER A Final class cannot be sub-classed/inherited.
Interface - ANSWER A class implementing an interface must use/implement all methods and members of
the interface. Interfaces are not allowed to fully implement its methods. In many languages a class can
only have one parent, but classes can always have multiple interfaces. Classes that implement an
interface are said to be in a "HAS-A" relationship with the interface.
, Delegation - ANSWER When a method essentially just redirects to a different method (often a different
class's method) that will do the same thing (it is for code re-use purposes).
Lazy Binding/Lazy Loading/Late Binding/Late Loading - ANSWER The program waits until it needs a
resource to load it, as opposed to doing it at the start. It is often implemented by initializing a variable to
null and only assigning it a value when someone tries to access it (via a getter method).
Reflection - ANSWER A program's ability to inspect itself and modify its structure or behavior at runtime.
Object Wrappers - ANSWER Objects used for defining collections. For example, in Java, Integer is the
object wrapper for int, and Character is the object wrapper for char.
Example usage: Hashmap<Integer, Character>
StringBuffer/StringBuilder - ANSWER A class that acts as a string, except that it is mutable. StringBuffer is
thread-safe, whereas StringBuilder is faster but not thread-safe.
Hashmaps vs Hashtables vs Hashsets - ANSWER Hashmaps are key-value based and fast, but not thread-
safe.
Hashtables are key-value based and thread-safe.
Hashsets just store hashed values without keys.
Normalization - ANSWER Minimizing redundancies in data by dividing large tables into smaller tables
with fewer redundancies.
Normal Forms: 1NF, 2NF, & 3NF - ANSWER 1NF: Table has no repeating records or relational values (only
atomic values--no column can be derived from [an]other column[s]).
2NF: 1NF + any attribute (column) not part of a candidate key should depend on at least one candidate
key.
3NF: 2NF + attributes of non-candidate keys depend on ALL candidate keys.
Primary Key - ANSWER Used as an identity column for the table (which implies it is a candidate key).
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller ACCURATE2. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $14.49. You're not tied to anything after your purchase.