13 ms·
One time in a take home programming interview problem I was asked to create my own quicksort implementation in python. I had already done this previously in ans
by umvi 8y ago
One time in a take home programming interview problem I was asked to create my own quicksort implementation in python. I had already done this previously in answer to a StackOverflow question, so I just submitted a copy of that implementation.
Later I was told I was disqualified because I had cheated and copied my answer from StackOverflow. I tried to explain that the user I copied it from was indeed me and that I could prove it by logging into SO in front of them but I never heard back.
- ghaff 8y agoI wrote and published a book through Createspace and Kindle on Amazon a few years ago. I got an email from Amazon that the Kindle book was flagged as containing material from other sources. This was, in fact, the case given that parts of the book drew heavily on blogs I had published in a number of different places. I emailed back that I had the rights to the material and provided a bunch of links. I never heard back but they went ahead and published.
- zaccus 8y agoFFS how many different implementations of quicksort in Python can there possibly be? How would they expect you to make yours unique? Different variable names or something? I'll never understand the concept of plagiarizing long-established solutions to problems.
- jplayer01 8y agoIt's ridiculous. If you're going to require a take home programming test, at least make it something that isn't solved immediately just by opening SO. Ask a cookie cutter question, get a cookie cutter answer.
- kemiller2002 8y agoHonestly, I think I'd be more impressed by the person who got the answer off of SO. At least that person isn't wasting their time trying to solve silly problems that have already been done.
- ghaff 8y agoOr Wikipedia. (OK, you'd have to turn the pseudocode into Python. I'm not even primarily a developer and that would take me about 10 minutes.) Or wherever. There are apparently a few slightly different implementation details to Quicksort but how unique can a Quicksort be?
- msla 8y ago> FFS how many different implementations of quicksort in Python can there possibly be? How would they expect you to make yours unique? Different variable names or something? Not even different variable names, as any plagiarism detector which is halfway-competent would have to ignore them because changing variable names is one of the things any halfway-competent plagiarist would do. The arms race has gone to the point where it's impossible to detect mechanically whether an implementation of a standard algorithm has been plagiarized. It's probably impossible for a human to detect it without other context. And that context comes down to "Has this student shown steady gains or are they suddenly handing in competent code after demonstrating complete incompetence?" which you can't know unless the class is structured such that students show what they know to the graders in person. Which requires a certain student-to-grader ratio. Which is expensive.
- zrobotics 8y agoThe problem is, it isn't at all unlikely that a quicksort implementation created entirely independently w/o plagiarizing will match an implementation somewhere online. When I took algorithms, I would normally do the assignment and compare my implementation with online sources, mostly to compare against. Aside from variable names, ~80% of those assignments matched one of the first few SO answers. I think the real fail here is a company assigning something like quicksort and expecting to get original answers.
- msla 8y ago> The problem is, it isn't at all unlikely that a quicksort implementation created entirely independently w/o plagiarizing will match an implementation somewhere online. It's practically guaranteed. Quicksort is quicksort. You can't get creative with it without implementing something which isn't quicksort anymore. That code may well sort a list, but if the assignment is to implement quicksort, you've failed at the task. > I think the real fail here is a company assigning something like quicksort and expecting to get original answers. Right. You have to go to IOCCC levels of perversity to be able to turn in something which is quicksort but isn't going to trip a well-trained plagiarism detector.
- stronglikedan 8y agoI've often re-implemented long established solutions, just to become intimate with the inner workings. Sort of like taking things apart and trying to put them back together as a child. While I may never use that exact knowledge, I may be able to apply the principles elsewhere. I imagine that is the perceived benefit to a student (of which I was never a very good one).
- hinkley 8y agoWhy do we even ask these questions? I don't want to work with someone who trusts their own quicksort implementation over one from an OSS library. It's a toxic combination of optimism and egotism that I don't have time for. What other stupid shit are they doing all day long? What does it say about my team if I'm on the asking end? Interviews are short, and information exchange is always limited. Instead I may ask them to sort a complex object, or cook a piece of data that's organized opposite of what the UI will require. lots of people fail at these tasks. They're my version of fizzbuzz, but they actually represent the work we do.
- travisjungroth 8y ago> cook a piece of data that's organized opposite of what the UI will require What does this mean?
- wincy 8y agoMaybe modeling a many to one relationship inversely? Like if you want to show all the chips sold in a day but the data comes back with chips sold per customer and then you have to massage that to show how many chips were sold at a location.
- mannykannot 8y agoEven the bugs, if there are any, are not likely to be original. That's why the idea of increasing software reliability by combining multiple independently-developed implementations of a set of requirements with a voting strategy is not as effective as it would appear under the assumption of uncorrelated errors.
- haxton 8y agoWell, that is self plagiarism. Although I don't agree with the question or how that was handled, it is using your previous work without citing that you had previously written it.
- dtech 8y agoAn interview has to show capability, self plagiarism is not relevant there.
- paulcole 8y agoAnything can be considered relevant in an interview -- excepting illegal discrimination.
- ghayes 8y agoI guess the corollary would be a baker asking a potential apprentice to bake a baguette and send a photograph. Sending a photo from your blog of a baguette you cooked a year ago might still be considered disingenuous, even if it shows capability.
- rainonmoon 8y agoWell, no, because a code snippet is the same every time you write it, whereas an apprentice may, even while following the same recipe, produce variations in the result due to the nature of baking.
- ggggtez 8y agoIf you can write the exact same (non-trivial) code twice, that's fairly remarkable.
- Jach 8y agoAlas they'll attempt to justify it by saying they want your capability now, not X years ago. Maybe it's not entirely unjustified -- I have some old mathematical code on github that I don't think I could explain the technical details of without many hours of review, I wouldn't want to be hired to produce more code of that sort without an understanding that ramp up will be needed to return to my previous level. Given something like quicksort, though, I'd just get the feeling of "dance, monkey, dance".
- boringuser1 8y ago"Hey bro I copied your stack overflow answer, I'll give you $100 to access your account so I can "prove" it was my answer"
- empath75 8y agododged a bullet, there.
- thatcat 8y agoI just learned this myself, but apparently if you don't cite yourself as the source of previously published information it's considered self-plagiarism.
- ksaj 8y agoThis is actually a thing. John Fogerty might be an unlucky pioneer. http://mentalfloss.com/article/27501/time-john-fogerty-was-sued-ripping-john-fogerty http://mentalfloss.com/article/27501/time-john-fogerty-was-s...
- cryptonector 8y agohttp://www.ithenticate.com/resources/papers/ethics-of-self-plagiarism http://www.ithenticate.com/resources/papers/ethics-of-self-p... Basically, it's not necessarily OK to plagiarize yourself. Always disclose when you do it.