Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How would you react to this programming test?
8 points by mrcharles on Oct 5, 2011 | hide | past | favorite | 18 comments
Say you were applying at a well known, well regarded company. Eventually it progresses and they give you a programming test. A key part of that programming test are questions about a language you've never seen. For this example, it's a language so rare, that it might as well be an in-house language for which it is impossible to have any previous experience, even cursory.

The test lists operators and their functions, precedence, and the order of operations, and then provides a bunch of code that you have to decipher. However, the syntax, operators, and look of the code as a whole is fairly different from anything you've ever seen before.

They won't hire you if you can't learn the language on the spot.

How do you react?



You take the test and do your best. They're not testing how good your code looks, but to see how much effort you're will to make to solve a problem on the spot OR to see if you are someone who will look at the screen dumbfounded and will simply give up.

Being a programmer isn't about knowing a specific language, it's about having the ability to solve problems.


"They won't hire you if you can't learn the language on the spot."

Learn the language is a pretty vague criteria. Do they want you to write helloworld? Modify a working routine? Write fibonacci? What will they be doing to test you?

This firm wouldn't happen to be Goldman Sachs, would it?


Programmers do it on paper in pseudo-code and Jackson Structured Programming charts while coders convert that into a program? (The programmer and coder might be the same person.)


Given a philosophy that says your top hackers should be creating DSLs that facilitate dev in the problem space, this might be common at companies in well-defined problem spaces.

So, it might be quite exciting to dive into. If you are well-versed in maybe three programming paradigms (imperative, logical, functional?), you should probably be able to pretty quickly make some good guesses about how the code works and what it does.

But, and it is a big but - are you looking at a position that puts you in place to work with (and learn from) the top hackers or are you going to be just another drone in a large faceless organization? These are continuums in reality, but I think you need to take care that you don't become pigeon-holed in your hacking career.

So while I'd try hard to really dive into the test language, I might have a much harder time deciding about accepting an offer or not (ignoring other aspects that would of course affect any job decision).


This depends on whether that language was consistent with my experience of other languages.

I've no problem learning a new language, and having TCL, PERL, C, C#, Java, Python and JavaScript in my arsenal I wouldn't be intimidated by having something new presented and being expected to pick it up.

The real issue for me would be the question: What motivated you to create a new language? What problem set did you feel that you have that isn't addressed by existing languages? And if this language is a domain-specific one, I would want to know what made your domain so special?

I would basically fear that a "Not Invented Here" mentality led to the creation of the language, and that would strongly discourage me from going further.

On a secondary point, it would also depend on the type of position it was. If it was a startup, language would not be an issue. But for a contract position the language may well limit future opportunities and so it would matter.


I would say it's closer to Perl, in the same way that Perl reads unlike most other programming languages, without actually being like perl.


Explain to them that I'm unfamiliar with the language

Do my best to make heads or tails of the situation

If I feel i've done well, play up my ability to learn new things quickly.

If I feel i haven't done well? Smile, shake hands, and make sure I'm the one who tells him "You know, I just don't think this will be a good fit for me. You need someone with more expertise in this language", and go and find myself another interview.


That sounds like a pretty good test. "Dev ops"/sysadmin people have to do this exact thing all the time, so it's far from irrelevant.

It definitely beats some of the other common tests: syntax trivia, decipher this metaprogramming mess, implement a compsci 201 algorithm, do you agree that TDD is the one true path?


If they want to force you to quickly learn and only use a language which doesn't seem logical to you (by that I mean C-style or recognizable in a similar way), then it may not be a nice job to have.


I'm not sure how useful a test that would be, but I'd love it. Sounds like fun -- but if they haven't actually written the interpreter for it, I might look down on them a little.


I've done something similar except with an API instead of a language. I thought it was a good idea, and liked that aspect of the interview.


I would pass the test.

I wish companies hired based on tests not experience/education, so I would easily get that 100k job. Companies are full of shit.


That's ridiculous. I've worked with people who could recite K&R C or Stroustrup's C++ Reference Manual line for line and who still couldn't program for shit.


That's the needless education, not the ability. A proper test is doing something real, not conjugating types and reading obfuscated code.

Is this scenario real? Where were you interviewing and how did you do?


It is real. I haven't done it, but I was told of its existence by a friend at a company that I won't name. I'm trying to see if I can convince him to give me the test -- my gut feeling is that I'd fail it, despite 12 years of programming and knowing enough languages that when I count I forget some. I'm just more of a 'learn by doing' rather than 'learn by reading' guy.


Why won't you name the company? I don't get this, it's not like you accused them of a crime or something. Why would it matter?


Most companies don't want their programming tests out in the wild, usually. Plus I'm not exactly doing this with his permission.


I do better than the next guy. It's not like they expect magic, but they expect effort commensurate with the $250+/hr they plan to bill for you.

I think I'd like such a job because it always annoys me when co-workers won't try just because things look hard. I only know half of what I dive into anyways, at least until I'm in it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: