↳
Please give more input about this interview
↳
Please if you see the comment please give more input about this interview
↳
In these sorts of interviews you really need to drill down and understand what the interviewer is looking for. A good way to simulate a real interview experience is to do a mock with one of the EPAM Systems Senior Test Automation Engineer experts on Prepfully, rated super strongly on TrustPilot... prepfully.com/practice-interviews Less
↳
#!/usr/bin/env python """Search a sorted array for the first element larger than k. """ def srch(list1, srchItem): """Perform Binary search and find the first element that is larger than the arg srchItem @list1: The sorted list @srchItem: The element to be searched for finding next greater value than that """ len1 = len(list1) startIdx = 0 stopIdx = len1 - 1 stop = False # saveIdx the index of the lowest value in the sorted list saveIdx = -1 while not stop and startIdx >= 0 and stopIdx srchItem: # found greater item, but the previous one also could be greater stopIdx = midIdx - 1 saveIdx = midIdx elif list1[midIdx] srchItem: saveIdx = startIdx break elif startIdx >= len1 or stopIdx < 0: break if saveIdx == -1: return -1 # not found return list1[saveIdx] def testAll(): testList = [3, 6, 9, 34, 67] print 'Test: %s SrchItem: %d' %(testList, 34) print 'Result: %d' %srch(testList, 34) testList = [3, 6, 9, 34, 67, 69] print 'Test: %s SrchItem: %d' %(testList, 34) print 'Result: %d' %srch(testList, 34) # test for result to be the 1ast item in the list testList = [3, 6, 9, 34, 67, 69] print 'Test: %s SrchItem: %d' %(testList, 68) print 'Result: %d' %srch(testList, 68) # test for result to be the ist item in the list testList = [3, 6, 9, 34, 67, 69] print 'Test: %s SrchItem: %d' %(testList, 1) print 'Result: %d' %srch(testList, 1) # item not in the iist testList = [3, 6, 9, 34, 67, 69] print 'Test: %s SrchItem: %d' %(testList, 70) print 'Result: %d' %srch(testList, 70) if __name__ == '__main__': testAll() Less
↳
//Run time complexity is logn public class FirstGreatestNumberThanK { public int prepareFirstGrtst(int[] a, int k) { return firstGrtst(a, 0, a.length - 1, k); } public int firstGrtst(int[] a, int start, int end, int k) { if (end == start + 1) { if (a[start] > k) return a[start]; else return a[end]; } else { int mid = (start + end) / 2; if (k == a[mid]) return a[mid + 1]; if (k > a[mid]) { start = mid; return firstGrtst(a, start, end, k); } else { end = mid; return firstGrtst(a, start, end, k); } } } public static void main( String[] args){ FirstGreatestNumberThanK f = new FirstGreatestNumberThanK(); // int[] a = {2,4,6,8,9,12,14,16}; // even length int[] a = {2,4,6,8,9,12,14}; // odd length // System.out.println(f.prepareFirstGrtst(a, 11)); // System.out.println(f.prepareFirstGrtst(a, 3)); // System.out.println(f.prepareFirstGrtst(a, 7)); // System.out.println(f.prepareFirstGrtst(a, 15)); // execute for even length data // System.out.println(f.prepareFirstGrtst(a, 14)); // execute for even length data // System.out.println(f.prepareFirstGrtst(a, 4)); System.out.println(f.prepareFirstGrtst(a, 12)); System.out.println(f.prepareFirstGrtst(a, 2)); } } Less
↳
def find_greater(aList, item): high = len(aList) low = 0 while low < high: mid = (high + low) // 2 if item < aList[mid]: high = mid else: low = mid + 1 return aList[low] Less
↳
100 - 1 = 99 days
↳
Starting with 2 square units at time t=0 is like 1 square unit at t = 1. [this logic is the key to answering the question]. Now let's do the first few cases. t = 0: size = 1+1 = 2 t = 1: size = 2(1+1) = 2+2 = 4 = f(2) in the 1 unit case. Pretty easy to see it only requires 1 time period less from here. The OP was right. Less
↳
This question is phrased incorrectly. I think you meant "4 units after 3 days". Which makes your answer wrong as well. This is not helpful at all. Less
↳
public class Test{ public static void main(String args[]){ String Str = new String("konylabsinterview"); System.out.print("Return Value :" ); System.out.println(Str.matches("kon(.*)lab(.*)terview(.*)")); } } Less
↳
Use KMP
↳
Hi, Please see if you can provide the details of the question posed in the context of binary search tree. Thanks. Less
↳
So if I'm understanding correctly, you're given a string (e.g. "Star Wars") and an on-screen keyboard accessible through an up-down-left-right controller. The goal is to be able to convert a given string into a sequence of UDLR commands that will enter that string through the keyboard. What if you pre-calculated a map of the optimal path between any two keys? Store it in a hashmap where the key is "current_position+desired_position" (e.g. from "Star Wars", you would have entries for "S+t", "t+a", "a+r", etc.) and the value is a sequence of U+D+L+R indicating the cursor moves. You could even get clever and store it as some kind of routing table, similar to what is used for internet routers. Think of each letter on the keyboard as a router that has a route to each of its neighbors in the UDLR directions. Then, inject a dictionary of strings into the network based on movie titles, actor names, etc. from each "endpoint" and let it learn the most efficient way to enter each of them. This way, when you go to internationalize or change keyboard layouts, you can re-create an efficient map automatically. Less
↳
It's essential to demonstrate that you can really go deep... there are plenty of followup questions and (sometimes tangential) angles to explore. There's a lot of Senior Software Engineer In Test experts who've worked at Netflix, who provide this sort of practice through mock interviews. There's a whole list of them curated on Prepfully. prepfully.com/practice-interviews Less
↳
Keep in mind that using matrix will leave you with quadratic running time. Using looping rows and columns will make algorithm slightly more complex, just have to decide which direction is it faster to move. Quite interesting optimal path question overall. Less
↳
Explained simple way to do this using linear search and binary search and coded up using binary search Less
↳
public int firstOccur(int[] arr, int k) { if (arr == null || arr.length combinedOccur(int[] arr, int k) { BinarySearchOccurences obj = new BinarySearchOccurences(); int startIndex = obj.firstOccur(arr, k); int endIndex = obj.lastOccur(arr, k); if (startIndex == -1 || endIndex == -1) { throw new IllegalArgumentException("k does not exist in array"); } ArrayList result = new ArrayList(); result.add(startIndex); result.add(endIndex); return result; } Less
↳
public int firstOccur(int[] arr, int k) { if (arr == null || arr.length combinedOccur(int[] arr, int k) { BinarySearchOccurences obj = new BinarySearchOccurences(); int startIndex = obj.firstOccur(arr, k); int endIndex = obj.lastOccur(arr, k); if (startIndex == -1 || endIndex == -1) { throw new IllegalArgumentException("k does not exist in array"); } ArrayList result = new ArrayList(); result.add(startIndex); result.add(endIndex); return result; } Less
↳
import os import re import sys class Stack: def __init__(self): self.arrList = [] def isEmpty(self): if len(self.arrList): return False else: return True def push(self, val): self.arrList.append(val) def pop(self): if not self.isEmpty(): self.arrList[len(self.arrList)-1] self.arrList = self.arrList[:len(self.arrList)-1] else: print "Array list is empty" def returnMiddle(self): if not self.isEmpty(): mid = len(self.arrList)/2 return self.arrList[mid] else: print "Array list is empty" def listStack(self): print self.arrList s = Stack() s.push(5) s.push(6) s.listStack() print s.returnMiddle() s.pop() s.listStack() s.push(20) s.push(45) s.push(435) s.push(35) s.listStack() print s.returnMiddle() s.pop() s.listStack() Less
↳
public int getNext(int[] ar, int k) { int low = 0; int high = ar.length-1; int mid = low+(high-low)/2; if (ar[high] k && (mid==0 || ar[mid-1]<=k)) { return ar[mid]; } if(ar[mid]<=k) { low = mid+1; } else { high = mid; } mid = low+(high-low)/2; } return -1; } Less
↳
public class CreateStack { List l = new LinkedList(); public void push(Integer i) { l.add(i); } public void pop(){ l.remove(l.size()-1); } public Integer getMiddle(){ return l.get((l.size()-1)/2); } } Less
↳
public class Func35 { public static void main(String[] args) { for(int i=1;i<=100;i++){ if(i%3==0 && i%5==0){ System.out.print("Z"+","); } else if(i%3==0){ System.out.print("X"+","); } else if(i%5==0){ System.out.print("Y"+","); } else { System.out.print(i+","); } } } } Less
↳
for(int i=1;i<=100;i++) { boolean flag=false; if(i%15==0) { System.out.println(i+"Z"); flag=true; } else if(i%3==0 && flag==false) { System.out.println(i+"X"); flag=true; } else if(i%5==0&&flag==false) { System.out.println(i+" Y"); } } Less
↳
Used a bool variable added the two division in the loop (with the loop variables) (i%5 and i%3). The first division only sets the bool variable and the second division writes the output according Less
↳
Did u get schedule date?
↳
I have completed L1 & l2 rounds of interview. I am waiting for another Managerial round as per the consultancy guy said. Less
↳
Did u give interview by video call? They took me interview via Microsoft teams . That was first round its almost 3 days i didnt get any response. My interview was regarding python developer 2+ experience. They took around 45min interview . I dono whom to contact for further updates Less
↳
This was a fantastic question and one that is rarely asked. It allowed me to discuss something very specific that was career-focused but that had forced me to step back and view how I appeared to other people. I felt I was able to give a lot of information about who I am with this kind of question and I appreciated the chance to do so. Less
↳
Thanks for sharing your thoughts on the ReviewTrackers interview experience! As you said, even though there was initially no role available, we loved your background and your story. Personally, I am thrilled to hear that our recruitment process worked for you, even if it spanned a few weeks. Your amazing feedback reaffirms the way we find and hire talent. Welcome aboard, and again thank you so much for sharing your review with the Glassdoor community. Less