senior software engineer interview questions shared by candidates
Design an alert system. You have 500,000 hotels you represent, and about 250,000 are visited each day. You want to track hotel page visits such that, if more than 10 visitors per a) 5 minutes, b) 1 hour, and c) 24 hours occur, then a (different for each time period) "alert" appears when someone visits one of those "hot" hotel pages. Don't worry about the UI part, just design the underlying alert system. Then optimize your solution for space.
Not sure how good this is: Create a hashMap of all the hotels with the key being hotel id and the value being an array of 3 interges (5 min hits, 1 hr hits, 24 hr hits). For each request add one to each slot in the array. Then every 5 mins get all the hotels with 10+ count and reset the count to zero in the array
How about create a hash map, key is the hotel id, value is a ArrayList which contains every visit time, so it is like ArrayList, when some one visit a hotel, find the number of elements in the ArrayList that is between current time and current time - 5 min, if larger than 10 then alert, if not, check the number of elements between current time and current time - 1 hr...
1. Can you extend main method in Java? 2. Explain how hashmap works internally? 3. Relation between hash code and equals? 3. Difference between StringBuffer/StringBuilder? 4. Code to check the frequency of word occurrence? 5.Code to implement a country/state list generation logic? Follow-up - country name can have aliases 6.Spring bean wiring.
1. How to encrypt a set of string e.g. WAAAYYFFFFFAIIIRR to W1A3Y2F4A1I3R2 etc... And how to decrypt it back to original string (2 separate functions) 2. How to design a system so that user can check in their location thru their phone, and how to scale it when the app gets popular and millions of users are using it. How would you expand the application features when popularity grows. 3. How to design a database of Warehouse, Suppliers and Customers and they ask you to write various SQL queries to pull products sold, how many customers bought more than 30 products etc 4. A coding problem to simulate the coin game and gambler's fallacy (if they are 4 Heads in a row, gambler would bet on Tail, and vice versa).
See Interview Questions for Similar Jobs
- Software Engineer
- Software Developer
- Java Developer
- Technical Lead
- Software Development Engineer
- Associate Software Engineer
- Software Development Engineer II
- Senior Consultant
- Project Manager
- Senior Software Developer
- Business Analyst
- Senior Engineer
- Software Engineer II
- Applications Developer
- Senior Software Development Engineer