Preguntas de entrevista para senior back end engineer

85

Preguntas de entrevista para senior back end engineer compartidas por los candidatos

Principales preguntas de entrevista

Ordenar: Relevancia|Popular|Fecha
Veeva Systems
A un Senior Software Engineer, Java Back End le preguntaron...18 de agosto de 2015

public class Person { Person father; Person mother; Gender gender; Integer age; List<Person> children; int level = 0; public enum Gender { Male, Female; } } For the above class, you basically have to implement 2 methods. public List<Person> getOldestSisters() public List<Person> getGreatestAncestors()

5 respuestas

/** * Returns the Persons which are the greatest number of levels up the family tree * from this instance. Examples: * Given a tree where this person instance only has a mother and father, return mother and father. * Given a tree where this person instance has a mother &amp; father, and a grandfather on the mother's side, return only the grandfather on the mother's side. * @return List of Person */ public List getGreatestAncestors() { // If this is the root of the tree, return empty array because there is no ancestor for the tree if (this.father == null &amp;&amp; this.mother == null) { return new ArrayList(); } List fList = new ArrayList(); List mList = new ArrayList(); if (this.father != null) { fList = this.father.getGreatestAncestors(); } if (this.mother != null) { mList = this.mother.getGreatestAncestors(); } List results = new ArrayList(); for (Person p : fList) { if (results.contains(p)){ continue; } results.add(p); } for (Person p : mList) { if (results.contains(p)){ continue; } results.add(p); } return results; } Menos

What do they expect in onsite interview for senior software engineer for app development Menos

I cranked this out in about 30 minutes. I believe it works quite well. I've also included the corresponding unit tests: file: Person.java ------------------------------------------------------------------------------------------------------------- package Command; import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Person { Person father; Person mother; Gender gender; Integer age; List children; int level = 0; public enum Gender { Male, Female; } Person(Person dad, Person mom, Gender gender, int age, int level) { this.father = dad; this.mother = mom; this.gender = gender; this.age = age; this.level = level; } public void setChildren(List children) { this.children = children; } public void addChild(Person child) { this.children.add(child); } public List getOldestSisters () { // given the current person (self), determine parents // then get children of those parents // Determine gender of each child // Where they are female, get ages // return females with age &gt; mine // Note: must check on both sides father/mother as there may be a mixed marriage // Combine list of children - Exclude YOU as you cannot be your own sister. // Use a set to eliminate duplicates. HashSet allChildren = new HashSet(); // Can't add null to a hashSet so screen for it. if ((father != null) &amp;&amp; (father.children != null)){ allChildren.addAll(father.children); } if ((mother != null) &amp;&amp; (mother.children != null)) { allChildren.addAll(mother.children); } // If you are not in this list, there is an issue! if (allChildren.contains(this)) { allChildren.remove(this); // System.out.println("Removing self from list."); } else { System.out.println("Error: You are not a child of your parents! Adopted?"); } // Filter down to only women and get any older than me: int myAge = this.age; List oldestSisters = new ArrayList(); for (Person child : allChildren) { if (child.gender == Gender.Female) { if (child.age &gt; myAge) { oldestSisters.add(child); } } } return oldestSisters; } public List getGreatestAncestors() { if ((this.father == null) || (this.mother == null)) { return null; // You must have two parents to have ancestors } // Find root parents List myParents = getParents(this); return getElders(myParents); } private List getElders(List parents) { List elders = new ArrayList(); List myParents = new ArrayList(); boolean newElders = false; for (Person parent : parents) { myParents = getParents(parent); if (myParents.isEmpty()) { elders.add(parent); } else { elders.addAll(myParents); newElders = true; } } if (newElders == true) { return getElders(elders); } return elders; } private List getParents(Person person) { List parents = new ArrayList(); if (person.father != null) parents.add(person.father); if (person.mother != null) parents.add(person.mother); return parents; } } // For the above class, you basically have to implement 2 methods. // public List getOldestSisters() // public List getGreatestAncestors() Menos

Mostrar Más respuestas
RetailMeNot

SQL: you have a table with customers, with gender m and f. Write a query to update m with f, f with m in a single query, without temporary tables

2 respuestas

UPDATE customers SET gender = CASE WHEN gender = 'm' THEN 'f' WHEN gender = 'f' THEN 'm' END Menos

UPDATE customers SET gender = CASE WHEN gender = 'm' THEN 'f' WHEN gender = 'f' THEN 'm' END Menos

Mastery Logistics Systems

How would you design a data ingestion framework?

1 respuestas

Huh... Im applying. Hope I dont get these Questions, and Wash Cycle of Interviews / Shuffling of Contacts / Waiting game... It tends to Taint my vibes. This isnt the City, Its Champaign Urbana. I enjoy the subtle On-boarding..... shinsetsu.xyz Menos

GE Power

Make a function to detect a palindrome word using only one string variable (the one passed as a parameter).

1 respuestas

Using a for loop to compare each character of the word in a mirror-way, the first character against the last, the second against the second to last, and so on. Whenever a difference was found, the function returned false, otherwise, true was returned indicating the word was a palindrome. Menos

RetailMeNot

$a = "VeryLongString"; return char that appears only once.

1 respuestas

I have used array_count_values() but they didn't know about this PHP function, so my solution was not taken into account. The proposed solution was to parse the string as an array and keep the number of occurrences in a separate array. Menos

Jimdo

you get an automatic reply containing as assignment , that will take you couple of days to complete. then they reply something like....your CV does not match our desired skill set, that't it!!! (are you serious?!)

1 respuestas

applying for this company is just wasting the time, they do not care about people's time Menos

RetailMeNot

[1,6,5,4,2] -> write an algorithm to return second larger number in the array, in this case number 5

1 respuestas

asort($a) return $a[1]

Bank of America

There were like 7 different shapes, like circles and squares.

1 respuestas

I placed them in order of their shapes and it really impressed the HR rep. She said that most people put them in order of size?? :) Menos

Peek

complete a 10 hour take home coding challenge

1 respuestas

no

Polly

Write a solution to the subset sum problem in JavaScript

1 respuestas

The interviewer strangely didn't know the term dynamic programming, but this problem is solved using dynamic programming (this is also what they expected, without known the term). Menos

Viendo 1 - 10 de 85 Preguntas de entrevista

Consultar preguntas de entrevista para empleos similares

software engineer