49 karma · joined August 15, 2011
If you can throw touchdown passes like Brady or Rodgers, you'll get paid millions. Can't do that? Ok...then if you could perform brain surgery, you'll get paid less than top NFL QBs, but still in the millions. Can't do that? Ok...then if you could write code or perform accounting work, you'll likely get a decent 6 figure salary. Can't do that?
What can you do? Flip a burger? Seriously? There is no value in that. Bring something to the table in order to get paid well. Bring some skill, some education, some certification, some licensing. Bring something instead of whining how your lack of skills and education cause you to be poorly paid.
I like the implementation, but if folks didn't like the NSA spying on them, they might not like this. This is wiretapping on steroids. I'm assuming the interviewer watches every keystroke. Creepy. I'm sure authors, well spoken and in full command of the English language, would get annoyed at someone staring at them to see if they can write a novel.
Tech interviewing is broken, but all solutions historically point to trying to watch a person code. I don't think that's the solution. When folks realistically work on multiple tech stacks with multiple frameworks and multiple languages, what is to be gained by zeroing in (deeply) on only one aspect of it.
This explains the need for a tech interview "study guide" posted earlier in the day. You're working on stuff contextually needed for your current job, but you'll be tested on stuff you don't use daily/monthly/yearly? That's insane.
How can they hold a meaningful conversation with you if they don't know what the product does and how it behaves? This is relevant stuff they should be quizzed on vs. how many Pascal Triangles you can fit in a 747 or some such nonsense.
This is your FizzBuzz. Maybe your pre-FizzBuzz. If they're too "busy" to take a look at your product, you're too "busy" to talk to them. Best of luck...
I truly believe he knows his stuff, but even he made a mistake. He, however, didn't have to come up with his answer while people are staring at him.
I love the curated links, but that's about it. Trying to engage in conversation is a crap shoot. You might learn something, but you might encounter someone just dying to turn district attorney on you and just wanting to rip into you. I'll pass.
And God forbid you have a negative view on vi/vim.
Let the downvoting begin.
Checkmate. She can't worm her way out of that.
No one would press that. Hence the fraud.
lol. And the winner is: jmalter.
Not reading the terms and conditions of Reddit when all you do is browse and read and never even log in: not too important.
Not FULLY understanding that you are going to send an email to my contacts, using wording that YOU wrote to make it appear as if I wrote it: pretty damn important.
Yes. In a SMALL font. INTENTIONALLY far away from the Agree button. You know damn well what you're trying to do. If you really wanted to give them the option to see the email sent out, you would have designed that to be transparent.
But you didn't. Intentionally.
This is as misleading as the stunt they pulled with spamming that poor guy's LinkedIn contacts. Where there is smoke, there is fire.
I would love to take credit for having read that prior to using the word archaic. I didn't. I formed my own opinion. I just happened to find that blog post a few minutes ago while searching on Sublime Text 2. The fact that he expresses my thoughts much more elegantly than me fills me with envy.
But he's correct.
I never referred to vim script. I referred to vim. To quote you, "you obviously have no clue" that vim is an editor, which contains vim script.
You might wanna correct Wikipedia and tons of other sources that all refer to vim the editor. Cuz they are all wrong, per your definition.
With VIM, it's not that it's an editor, or old, but downright archaic. Folks just won't let go.
Now let's see if we can get enough downvotes to put me in negative territory.
And yet it's asked.
I've never liked arrays due to the brackets. But in a twist of irony, I now spend all day in Groovy and I use maps, thus brackets all the time. Yet I don't even notice.
So after carefully thinking about it, I now realize its not the brackets. I can't explain it. There's something about arrays I just despise despite having no similar ill will towards ArrayLists. They just feel so 70s.
Here's my solution:
def reverse() {
def a = "Can a fella get a job?"
StringBuilder b = new StringBuilder()
for (int i = a.length(); i > 0; i--) {
b.append(a.charAt(i-1))
}
print b.toString()
}But it doesn't use arrays because quite frankly, I haven't used an array in years. I despise the noise of the brackets. :-)
Seriously, I use ArrayLists instead of arrays. But even on this FizzBuzz lite exercise, I got tripped up. My "i > 0" was off by one. And I started down the path of a.substring, but that was a bad move. I quickly switched to charAt.
But about the only relevant piece of this: on an IDE, I was able to place a breakpoint, see where I'm at, what my variables look like, and make adjustments.
That's real life. My original cut of this would have disqualified me. Actually, even the cut above would disqualify me since I didn't use arrays.
But I need to confess. What you see above is literally the first time I've ever reversed a string in this manner. It's just not something I do. And it didn't roll off the tongue so to speak. I knew I had to process the string from the end and work backwards, but it still felt like trivia and not a substantive inquisition into my skills or experience.
Trivial? A bit. It took me about 5 min. The off by one was killing me. It hits you in two places: the i > 0 and the charAt(i-1).
Just ask for CS ONLY and we can easily avoid you and make this easier on all of us.
Which means you're not using that stuff on a daily basis. Which is fine. You're probably doing other things. Development is more than just data structures and algorithms. Yet, that's all many interviewers want to ask about.
Here's my guess: you probably reviewed that stuff prior to job 1. You got that job, due to short term memory, then you went to work. Now you want to go to job 2 (or 3 or 4). And you find yourself having to "review" material that doesn't stick to short term memory, but I'm sure you know damn well how to find it and interpret it if you needed to. No doubt at all.
That is the perfect example of what not to do.
You're not asking about syntax with this. It's a problem solving question and at the end of the day, the only real metric here is not whether a dev could code this up, but whether he can code it up quickly, under time constraints, while being stared at, under pressure, with rent or a mortgage on the line, and maybe kids to feed.
I am hard pressed to think of even one real life dev task I had in my entire career where I had to solve a problem under those circumstances. For most devs, we take ownership of the problem and solve it at our desk under reasonable time frames without the spotlight. For bigger problems, we might think about it in the car on the way home. We might sleep on it over the weekend.
That doesn't apply to reversing a string, of course. But you have to consider that, depending on the dev's background and skills, he may be spending time in jQuery, maybe Spring and Hibernate (for Java guys), maybe even some CSS. Maybe he's a GWT guy? Maybe he was assigned to a team dedicated to (God forbid) EJBs. In other words, he may be multifaceted and spends more time working with an API than "just" raw language coding. The language is just a means for working with the API.
And the one thing you want to measure is not something he does daily. Now, if he can't use a for loop, feel free to mock him. But reversing a string? That's clearly a puzzle.
EDIT: I can't get this part out of my mind: "Is incredible how badly the test goes with the people! I interview for myself or others more than 100 people (of any background, including university, tech schols...) and I think only 10/12 people do it correctly - barely-"
So you continue to use that question? Despite the results? So that when you do hire a guy that passes, he won't ever do this on the job because you know you damn well he should use the reverse() method? Because you won't pay him to code it raw and waste time and money when there is a 1.5 second solution to this? That's sadistic. :-)