10/4/2013 1:06:36 AM
10/4/2013 8:18:02 PM
Just finished the phone interview. She asked my related experiences and some C++ terms. Will let me know in 10 days.
10/10/2013 4:18:22 PM
Terms? You mean like polymorphism and stuff?
10/10/2013 4:50:56 PM
Design patterns
10/10/2013 5:48:08 PM
if she only asked you "terms" or "polymorphism and stuff" on a C++ technical interview, then you failed.
10/10/2013 11:19:28 PM
Of course not. She mainly asked me to describe my C++ and java projects.
10/10/2013 11:47:46 PM
and if, after that, she didn't go beyond "terms and polymorphism and stuff", you failed. "Tell me about your previous projects" isn't asked because they care about your previous projects; it's asked to see if you can speak English intelligently. If I'm phone screening you and I don't ask more than "polymorphism and stuff," it's because you said shit so stupid to basic object oriented questions that there's no need for me to ask you anything else.I'm not saying this to be a jerk or to be mean, I'm saying it so that maybe you'll re-evaluate where you really are on the programming spectrum and make changes accordingly. Unless it's a junior-level interview, you should expect far more than just college-level programming questions.]
10/10/2013 11:52:25 PM
1 c++ and java experiences2 business analysis and sales experiences3 design pattern, java tools, agile method
10/11/2013 7:58:53 AM
and, from the looks of it, they still didn't ask you anything beyond what I would ask someone fresh out of college with a bachelor's degree... that's not normal for a "good" interview.
10/11/2013 9:35:19 PM
What would you ask beyond that?
10/11/2013 9:48:07 PM
I'd ask you if you've ever had a conversation with someone that didn't end in "huh?"
10/11/2013 10:04:47 PM
With your mom in the bed.
10/11/2013 10:07:37 PM
Lol, nice
10/11/2013 10:09:28 PM
That's only a special case.Anytime anywhere. Especially with your mom in the bed.
10/11/2013 10:11:50 PM
right
10/11/2013 10:19:54 PM
10/13/2013 9:51:58 PM
It's not hard in any language in which you are semi-competent. FizzBuzz is basically an "are you breathing" question.
10/14/2013 12:08:33 AM
No, it's not a lot harder in Java. I was given the test a few months ago before I even knew what it was. Like other people said, its just kind of a weed out thing which should only take a few minutes to write.
10/14/2013 10:37:30 AM
Having not ever been in professional program development and just trying it myself, I'm inclined to agree with aaronburro on the FizzBuzz controversy. Not difficult.
10/14/2013 3:35:54 PM
Yeah I agree as well. I mean, I just started learning R three weeks ago (only practicing twice/week), and as soon as I did loops, I wrote the program. So, the concepts needed to write FizzBuzz are learnt within the first few learning sessions, and I am sure that's true for any language.And I can easily see myself writing it in Java and Matlab when I used to know Java and Matlab in another life (~15 years ago ).
10/14/2013 5:09:44 PM
Funny.https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEditionHaven't seen a a functional version yet.[Edited on October 14, 2013 at 10:04 PM. Reason : F]
10/14/2013 10:04:12 PM
Do you think they may offer me another interview after about 4 months?
1/27/2014 2:04:02 PM
Yes shoot. The job is yours.
1/27/2014 2:32:50 PM
Got these two in the same interview once. The second is super common at this point in tech interviewing.Write a CSS minifier in 45 minutes on a white board. andWrite the implementation of these two functions:addEvent() : voideventCount(date) : intaddEvent records the current time. eventCount returns the number of events that have happened since the date. Then they change it to eventCount(date, date) for between.[Edited on January 30, 2014 at 12:38 PM. Reason : a]
1/30/2014 12:36:22 PM
Thanks for sharing
1/30/2014 12:43:19 PM
^^ when you are asked a question like that, do they allow you to look stuff up? Do they care just for pseudocode or do you have to have near perfect syntax?
1/30/2014 6:54:54 PM
You can't look stuff up in any interview I've ever had or done. I've never seen anyone care about syntax at all. I use a bastardized javascript/python/java pseudo code when I've been forced to do that. I think the minify question touches on compilers and how well you know css in general. The only bad thing is if you get interviewed by someone that only knows one class of language and you do things the other way. I write code very functionally and I've had people get confused when I over use map, reduce, partials, and apply. That said I really hate white board interviews. It seems like 95% of people can't even write a simple iteration on one, and the 5% that can just practiced, took data structures in college, and read the interview books.
1/30/2014 8:56:59 PM
1/31/2014 9:04:42 AM
If 95% of your interviewees can't do a whiteboard problem, either your screening process sucks or your time isn't valuable.If somebody can't be bothered to practice, they obviously aren't that interested in the job.]
1/31/2014 10:46:59 AM
I was using 95% in aggregate of interviews and phone screens--not 95% of people who passed phone screens.
1/31/2014 12:53:00 PM
Job Summary Candidates will have experience with large-scale web development, and will assist in developing our next generation customer interaction management applications. Our Software Engineering Platform team is growing; qualified applicants will have a direct impact on the design and development of Teradata's rapidly expanding application offering. Role and Responsibilities· Reports to the Development Manager· Works in a cross-functional team to develop a scalable, robust and high performing SaaS application used by Global 500 companies across industries and worldwide.· Collaborates with other Developers, Architects, UX, Product Owners and Test Engineers in an agile organization.· Takes ownership for vision and follow-through in developing SaaS/Cloud applications with high scalability, throughput and availability using java web technologies. Skills & Attributes · Strong background and experience with the Java Stack including Java 7, multi-threading, servlets, Spring, Hibernate/JDBC, RESTFul WebService Frameworks.· Strong experience in designing and implementing asynchronous, high-performing multi-threaded large scalable systems· Experience developing RESTful web service frameworks (Jersey, RestEasy, SpringMVC, etc.) and Service Oriented Architecture (SOA) concepts· Experience with developing high performance Java web applications · Experience with one or more JavaScript libraries or frameworks (JQuery, Angular, Backbone, Bootstrap, etc.)· Knowledge of web industry standards· Thorough understanding of web application optimization techniques to improve page load times, application server throughput and performance· Understanding of the SaaS/Cloud application development domain including security concerns and multi-tenant service level agreements· Experience working with a continuous integration environment using tools like SVN, GIT, JIRA, Pulse, Bamboo, Maven· Experience with a variety of test automation tools a plus.· Experience developing software using Agile Software Development practices such as Scrum, Kanban, XP, FDD and TDD The ideal candidate will have an extensive background in web application development with a passion for the latest technologies and experience in building “Best of Breed” SaaS applicationQualifications Basic Qualifications5+ years developing rich web applications Bachelor's Degree in Math, Computer Science or Engineering Preferred Qualifications 5+ years experience in agile software development methodologies is heavily preferred Experience with Oracle or SQL ServerKnowledge of Customer Relationship Management Knowledge of Teradata Database Our total compensation approach includes a competitive base salary, 401(k), strong work/family programs, and medical, dental and disability coverage. Teradata is an Equal Opportunity/Affirmative Action Employer and commits to hiring returning veterans. DATA12 Job : EngineeringSchedule : Full-timePrimary Location : Americas-United States-North Carolina-RaleighOrganization : R&D-Campaign Management
2/11/2014 11:31:07 AM
hmm i might apply for that one
2/11/2014 3:16:55 PM
shit
2/11/2014 3:22:58 PM
Technical interview with Google today. There was no actual coding; everything was pseudocode in a Google doc. They gave one problem. When I solved it, they asked me to optimize my solution.You have an infinite stream of integers. Every once in a while, you'll get a query for the nth smallest; so for example Q(3) will return the 3rd smallest element seen so far. What data structure do you use?
3/24/2014 11:53:58 PM
PQ
3/25/2014 12:34:03 AM
Interesting.Questions I would ask:1. Is there any particular characterization of the number stream? i.e. generally increasing, decreasing, random, unknown, etc2. All ints or just positives?3. What's the stream? Text data, actual numbers, something weird?4. Any particular data type? 32, 64, arbitrarily large, etc?5. How often do we query nth smallest?6. Is there a max value for index of smallest? i.e. will you ask me for 2^12345th smallest7. Are the numbers in the stream unique?As long as I didn't have to code the inserts during the interview, I'd use a balancing binary search tree that allows duplicates--say left child is <= and right is >--otherwise just a plain BST and explain the cases where it wouldn't be optimal. If can use a balanced bst, maintaining the tree would be nlogn and finding the nth smallest would be logn.Take all of that with a grain of salt, though, because I took some NyQuil about 45 minutes ago.
3/25/2014 12:34:28 AM
@spookyjon:1. The numbers are random.2. All ints. Can be positive or negative.3. Just ints. An example stream could be 3,-7,10,-1000,100 and so on.4. No data type; the numbers can be as big or as small as possible.5. The queries are random and are included in the stream.6. Depending on your implementation, the index may correspond to a number's rank but doesn't have to.7. The stream can contain duplicate elements and they should be taken into account (stored).Your solution is basically the same as what I came up with; I used a red/black tree to store the numbers. I didn't have to code it though, thank goodness.[Edited on March 25, 2014 at 12:58 AM. Reason : .]
3/25/2014 12:56:47 AM
Just started doing phone tec screens for the first time today through my company.It feels as though a lot of people are weeded out prior to me getting them which is good.Most of these are senior developers so I usually just ask them about what they've been working on and what sort of technologies they use opposed to quizzing them on specific things like they're some new grad.
3/25/2014 9:14:24 AM
^Thankyou David.I find that I'm a little offended every time I interview for a job and the interviewer asks me questions to see if I understand the basic concepts of software engineering.Bitch I've been professionally writing software for years now. I can come and and dominate your bullshit program.
3/25/2014 11:23:19 AM
They ask a variation of that question in person. A friend got it at another big name post IPO company and used a priority queue and got an offer.I would use a priority queue because the query guarantees 3 moves where as with a tree if you get the correct data stream it could be N. I'm sure a good implementation for either a PQ or BST would be better than babbling
3/25/2014 1:01:17 PM
^^ lots of dead weight manages to coast for many years
3/25/2014 3:10:51 PM
True. If it was in person I'd ask them for some code, but not over the phone.Not to mention they could easily google stuff if they really wanted.
3/25/2014 3:22:37 PM
Inserts to a priority queue could take much longer than a tree. A tree with nodes indexed on the queue/list would give you the best of both worlds.
3/25/2014 3:55:00 PM
3/26/2014 12:09:00 AM
If you insert a node into a balanced binary tree, like a red/black tree, you can do so logarithmically in proportion to what you've already inserted. Querying, likewise, can be done logarithmically as long as you keep track of the relative "ranking" of each node which is easily done on insertions/rotations. Any query will then choose one branch to traverse and, since a balanced binary search tree is height-bounded relative to the number of nodes, you're never going further than the max depth or log(n).
3/27/2014 3:08:11 AM
Inserts to a heap based priority queue are log(n) just like balanced binary tree and finds are relative to the number element you want. Finding the nth item in a heap is O(1). Finding the Nth element in a balanced tree is O(n). Unless I'm on crack.[Edited on March 27, 2014 at 7:36 PM. Reason : a]
3/27/2014 7:36:26 PM
You can do better than O(n) for a balanced tree. You can store additional information in each node giving the relative "rank" of each node. This approach yields O(lgn). The CLRS book shows a specific example of this in the chapter with red/black trees and order statistics.I'm not sure I understand how looking up an item in a heap takes constant time. If you have a sequence of increasing numbers and you look up the smallest number (assuming this is a max heap) then the heap structure resembles a linked list and the worst case lookup would be O(n).
4/27/2014 8:29:38 PM
2nd Google interview question:You have a document with a bunch of lines. The lines are nothing but number sequences and the spaces between the numbers can be arbitrary.You wish to remove all duplicates. Lines do not have to be exact to be duplicates; for example, a line of 2 1 3 is considered a duplicate of 1 2 3. The only criteria necessary for a line to be a duplicate of another is that it simply contains the same numbers; no more, no less. The spaces do not matter.
4/27/2014 8:31:39 PM
I meant to say finding the top/min. I know two people that got the events question, solved with a heap and got offers. http://discuss.joelonsoftware.com/default.asp?interview.11.509587.17
4/27/2014 9:56:36 PM