Senior Software Engineer Interview Questions in Boulder, CO | Glassdoor

# Senior Software Engineer Interview Questions in Boulder, CO

"Senior software engineers are the most experienced member of a software team and usually carry the most responsibility and authority of that team. Because of this, interviews will be designed to find candidates who have expert knowledge of the field and years of experience as a software engineer. Expect to be asked tough technical questions and to give examples of previous projects that you have worked on."

## Top Interview Questions

Sort: RelevancePopular Date

Mar 19, 2009
 What sort would you use if you required tight max time bounds and wanted highly regular performance.6 AnswersVector sort.Guaranteed to be O(n log n) performance. No better, no worse.That is so say, a "Balanced Tree Sort" is guaranteed to be O(n log n) always.Show More ResponsesMerge sort and heapsort are always guaranteed to be n*log(n). Quicksort is usually faster on the average but can be as bad as O(n^2), although with very low probability. Heapsort also does it sorting in-place, without needing an extra buffer, like mergesort. Lastly, heapsort is much easier to implement and understand than balancing trees mentioned by earlier posts.for something like this you generally want bubble sort or insertion sort. It's not about being fast it's about being consistent. Make it do exactly the same thing every time.Use a sorting network. There's some precomputation time, but runtime will be very consistent (the only variability is branch prediction performance)

Apr 24, 2010
 Intersection of two numerical arrays8 AnswersAlgorithm and pseudo code* assuming b[] is the longer array quick sort b[] for all items from a[] binary search this item in b[]for above.. O(n log n) + O(n) * O(log n)Show More ResponsesI have a O(n) algorithm: 1. Iterate over all the elements of first array a[] and build a dictionary mapping the element value to the index - O(n) 2. Now iterate over all the elements of the second array b[] and for each element that is already present in the dictionary, move the element to a different array that maintains the intersection elements - O(n) 3. Hence the overall complexity is O(n) in time and O(n) for the dictionary and the array to maintain the intersection elements.given arrays of lengths n and m. A simple solution is to sort array n in O(n lg n) and for each item in array m, look for it in sorted n, O(m lg n). So total time = O((m+n)lg n), let array n be the short array. I feel there is a much quicker solution, maybe O(n+m) if we assume integers.Two possible approaches: 1. Sort both arrays and then walk over each array simultaneously until you find all the common entries. This is O(n*logn) to do the sort and then walking over the items is O(n). 2. Walk over first array and insert each item into a hash table. Then search for each item in the hash table. This is O(n) time and O(n) space. If you're doing this a lot with the same sets of data, both algorithms allow you to do the expensive step once for each array and then find the common items in linear time.Simple O(n) solution: public static Integer[] getIntersection(Integer[] a, Integer[] b) { Map countsMap = new HashMap(); for(Integer num : a) { // O(n) time countsMap.merge(num, 1, (x, y) -> y + 1); } List intersection = new LinkedList(); for(Integer num : b) { // O(n) time if(countsMap.containsKey(num)) { // O(1) int count = countsMap.get(num); // O(1) if(count > 0) { intersection.add(num); // O(1) countsMap.put(num, count - 1); // O(1) } } } // Above loops run in O(n) time each. // Total time complexity = O(2n) return intersection.toArray(new Integer[intersection.size()]); }Actually, even conversion of list to array happens in O(n) time. So above solution required O(3n) and not O(2n), Please pardon my mistake.

Mar 19, 2009

Apr 24, 2010

### Senior Software Engineer at SendGrid was asked...

Oct 19, 2013
 Given two arrays of numbers, write a method to combine and sort the two arrays.1 AnswerUse a merge sort.

### Senior Software Engineer at IHS Markit was asked...

Feb 20, 2010
 if you were a flower, what kind of flower would you be?1 Answerpoppy

### Senior Software Engineer at Ricoh was asked...

Oct 24, 2011
 How would I handle a situation wherein one team member is slacking off and resists contributing? 1 AnswerIn general: Get at the underlying emotional/psychological cause; ask the person to brainstorm solutions; etc.

### Senior Software Engineer at Spectra Logic was asked...

Dec 4, 2012
 If you are interviewed by the CTO, expect an extremely challenging puzzle question such as "I have a large irregularly-shaped swimming pool. How can I find out how much water is in it?" The "correct" answer might be obvious but will probably be very obscure. The question is meant to reveal your thought process and technical background.1 AnswerI'm not giving this one away. :-)

### Senior Software Engineer at Kapost was asked...

May 18, 2018
 What are some caching strategies? In which databases do you have experience?Be the first to answer this question

### Senior Software Engineer at Dot Hill was asked...

May 16, 2012
 Where do you see yourself in 5 years?Be the first to answer this question
110 of 43 Interview Questions