David0603 All American 12764 Posts user info edit post |
Quote : | "if you can't do a FizzBuzz, you will fail miserably at C++" |
10/4/2013 1:06:36 AM |
aaronburro Sup, B 53065 Posts user info edit post |
Quote : | "oh and yea. while you stupid fucks are jerking eachother off trying to knowledge, chinese egn taking you job because they know how to bring the quantity, speed and adapt. i literally seen it doen" |
more like "they work for peanuts"10/4/2013 8:18:02 PM |
shoot All American 7611 Posts user info edit post |
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 |
David0603 All American 12764 Posts user info edit post |
Terms? You mean like polymorphism and stuff? 10/10/2013 4:50:56 PM |
shoot All American 7611 Posts user info edit post |
Design patterns 10/10/2013 5:48:08 PM |
aaronburro Sup, B 53065 Posts user info edit post |
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 |
shoot All American 7611 Posts user info edit post |
Of course not. She mainly asked me to describe my C++ and java projects. 10/10/2013 11:47:46 PM |
aaronburro Sup, B 53065 Posts user info edit post |
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 |
shoot All American 7611 Posts user info edit post |
1 c++ and java experiences 2 business analysis and sales experiences 3 design pattern, java tools, agile method 10/11/2013 7:58:53 AM |
aaronburro Sup, B 53065 Posts user info edit post |
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 |
shoot All American 7611 Posts user info edit post |
What would you ask beyond that? 10/11/2013 9:48:07 PM |
y0willy0 All American 7863 Posts user info edit post |
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 |
shoot All American 7611 Posts user info edit post |
With your mom in the bed. 10/11/2013 10:07:37 PM |
y0willy0 All American 7863 Posts user info edit post |
Lol, nice 10/11/2013 10:09:28 PM |
shoot All American 7611 Posts user info edit post |
That's only a special case. Anytime anywhere. Especially with your mom in the bed. 10/11/2013 10:11:50 PM |
y0willy0 All American 7863 Posts user info edit post |
right 10/11/2013 10:19:54 PM |
0EPII1 All American 42541 Posts user info edit post |
Quote : | "Fizzbuzz is not easy." |
Really?
I just learnt loops in R, and immediately wrote a program to do fizz buzz, and it worked on first try.
Is it a lot harder in real languages such as C, C++, Java, etc?10/13/2013 9:51:58 PM |
aaronburro Sup, B 53065 Posts user info edit post |
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 |
David0603 All American 12764 Posts user info edit post |
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 |
disco_stu All American 7436 Posts user info edit post |
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 |
0EPII1 All American 42541 Posts user info edit post |
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 |
CaelNCSU All American 7082 Posts user info edit post |
Funny.
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
Haven'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 |
shoot All American 7611 Posts user info edit post |
Do you think they may offer me another interview after about 4 months? 1/27/2014 2:04:02 PM |
David0603 All American 12764 Posts user info edit post |
Yes shoot. The job is yours. 1/27/2014 2:32:50 PM |
CaelNCSU All American 7082 Posts user info edit post |
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.
and
Write the implementation of these two functions:
addEvent() : void
eventCount(date) : int
addEvent 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 |
shoot All American 7611 Posts user info edit post |
Thanks for sharing 1/30/2014 12:43:19 PM |
moron All American 34142 Posts user info edit post |
^^ 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 |
CaelNCSU All American 7082 Posts user info edit post |
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 |
David0603 All American 12764 Posts user info edit post |
Quote : | "It seems like 95% of people can't even write a simple iteration on one" |
I love white board interviews. It eliminates 95% of the competition. 1/31/2014 9:04:42 AM |
spöokyjon ℵ 18617 Posts user info edit post |
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 |
CaelNCSU All American 7082 Posts user info edit post |
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 |
shoot All American 7611 Posts user info edit post |
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 application
Qualifications
Basic Qualifications
5+ 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 Server
Knowledge 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 : Engineering
Schedule : Full-time
Primary Location : Americas-United States-North Carolina-Raleigh
Organization : R&D-Campaign Management 2/11/2014 11:31:07 AM |
BigMan157 no u 103354 Posts user info edit post |
hmm i might apply for that one 2/11/2014 3:16:55 PM |
shoot All American 7611 Posts user info edit post |
shit 2/11/2014 3:22:58 PM |
parentcanpay All American 3186 Posts user info edit post |
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 |
CaelNCSU All American 7082 Posts user info edit post |
PQ 3/25/2014 12:34:03 AM |
spöokyjon ℵ 18617 Posts user info edit post |
Interesting.
Questions I would ask: 1. Is there any particular characterization of the number stream? i.e. generally increasing, decreasing, random, unknown, etc 2. 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 smallest 7. 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 |
parentcanpay All American 3186 Posts user info edit post |
@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 |
David0603 All American 12764 Posts user info edit post |
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 |
AstralEngine All American 3864 Posts user info edit post |
^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 |
CaelNCSU All American 7082 Posts user info edit post |
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 |
smoothcrim Universal Magnetic! 18966 Posts user info edit post |
^^ lots of dead weight manages to coast for many years 3/25/2014 3:10:51 PM |
David0603 All American 12764 Posts user info edit post |
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 |
moron All American 34142 Posts user info edit post |
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 |
aaronburro Sup, B 53065 Posts user info edit post |
Quote : | "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." |
A basic "B extends A, what can I pass to a method that takes an A as an argument" question weeds out 50% of the people I talk to. Asking people the difference between an interface and an abstract class weeds out 50% of those left. This includes those who have been programming for 10+ years.3/26/2014 12:09:00 AM |
parentcanpay All American 3186 Posts user info edit post |
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 |
CaelNCSU All American 7082 Posts user info edit post |
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 |
parentcanpay All American 3186 Posts user info edit post |
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 |
parentcanpay All American 3186 Posts user info edit post |
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 |
CaelNCSU All American 7082 Posts user info edit post |
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 |