|
hobbesmaster posted:lol if you think computer science has anything to do with computer hardware nah it holds up in a theoretical context because of the absolute limits of information density
|
# ? May 30, 2017 00:36 |
|
|
# ? May 30, 2024 13:05 |
|
computer science has very little to do with the former and nothing to do with the latter
|
# ? May 30, 2017 00:57 |
|
I would empty quote if I could
|
# ? May 30, 2017 02:33 |
|
FamDav posted:addition on arbitrarily sized binary values is O(b) where b is the number of bits in the number. b is O(n) for the nth fibonacci number, so adding the n-1th and n-2th fibonacci numbers together is going to be O(n) it's o(1) with an arbitrarily large lookup table
|
# ? May 30, 2017 03:08 |
|
Stymie posted:computer science has very little to do with the former and nothing to do with the latter it's the same as all the other sciences. if you get a phD, you go on to do work where you have to take into account all of the theory that was taught to you. if you don't, you become a computer toucher who gets to rely on other people who already took the theory into account. if you know the theory as a toucher, all the better.
|
# ? May 30, 2017 03:36 |
|
don't quote stymie
|
# ? May 30, 2017 03:37 |
|
computer science is closer to statistics than actual science in that statistics is a highly systematized methodology for creating and disseminating falsehoods
|
# ? May 30, 2017 03:50 |
|
The_Franz posted:there are no cache misses in theoreticalville i mean if the hookers are free they ain't hookers they're just friendly girls who like to party
|
# ? May 30, 2017 05:29 |
|
Sapozhnik posted:i mean if the hookers are free they ain't hookers they're just friendly girls who like to party the sex is conceptual so the charge is merely hypothetical
|
# ? May 30, 2017 07:20 |
|
cis autodrag posted:unless it was the games company
|
# ? May 30, 2017 08:03 |
|
cis autodrag posted:you know the db will gently caress this up on the regular and you need to know how to diagnose the bottleneck. yep, this is a thing i'm pretty familiar with. the skills required to interpret and fix an execution plan are unrelated to any notion of complexity, other than "nested loop join bad, hash join good" i don't think big O is conceptually hard. i did a bit in babby's first uni maths course ages ago and i can make an educated guess about the complexity of an algorithm, but i've never done and probably wouldn't be able to do any formal analysis of an algorithm's complexity this thread gives me imposter syndrome because i am, in fact, an imposter. c'est la vie
|
# ? May 30, 2017 10:59 |
|
redleader posted:i don't think big O is conceptually hard. i did a bit in babby's first uni maths course ages ago and i can make an educated guess about the complexity of an algorithm, but i've never done and probably wouldn't be able to do any formal analysis of an algorithm's complexity it's this it's the vocabulary and motions of a field of study entirely unrelated to actually making computers go beep and boop
|
# ? May 30, 2017 12:25 |
|
|
# ? May 30, 2017 12:42 |
|
literally the definition of a cargo cult
|
# ? May 30, 2017 12:46 |
|
A lot of people really embarrassing themselves itt I guess its fine if you're writing really basic stuff that glues a bunch of different things together, but I guarantee you the people who WRITE the databases and operating systems and libraries insulating you from actually knowing what you're doing absolutely know a thing or two about computational complexity and they are the ones making computers go beep boop
|
# ? May 30, 2017 12:50 |
|
ADINSX posted:A lot of people really embarrassing themselves itt being familiar with this stuff is cool and good. knowing how to use it is better needing to regurgitate Flynn's cycle detection algorithm to get a job is loving moronic
|
# ? May 30, 2017 12:58 |
|
i have actually used Floyd's cycle detection algorithm for jorb! i looked it up, because making a new algorithm is worthy of writing a white paper and my job is to solve business problems. you moron. you imbicile.
|
# ? May 30, 2017 13:02 |
|
Brain Candy posted:being familiar with this stuff is cool and good. knowing how to use it is better thank you for putting this better than i've been able to knowing how to implement an algorithm in an interview is stupid because whenever that comes up at work you google it, look at existing implementations, read whatever papers have been written, and determine whether the algorithm is appropriate. being able to identify an algorithm as O(n log n) vs O(n^2) in an interview is pointless because it doesn't actually help the interviewer understand how you work it's the same kind of exercise as trying to estimate the number of jelly beans in a jar or sands on a beach
|
# ? May 30, 2017 13:08 |
|
Blinkz0rz posted:being able to identify an algorithm as O(n log n) vs O(n^2) in an interview is pointless because it doesn't actually help the interviewer understand how you work lmao
|
# ? May 30, 2017 13:12 |
|
Blinkz0rz posted:being able to identify an algorithm as O(n log n) vs O(n^2) in an interview is pointless because it doesn't actually help the interviewer understand how you work unfortunately, it does use wikipedia my friend, and learn about counting
|
# ? May 30, 2017 13:31 |
|
Ah yes interview people based on trivia instead of soft skills and wonder why all your coworkers are awful
|
# ? May 30, 2017 13:37 |
|
maybe being stubborn about not learning things that would take an afternoon to learn is foolish maybe substituting the hard question of whether a person would be a good employee for the easy question of 'is the person like me' is foolish
|
# ? May 30, 2017 13:37 |
|
im a great developer and my posting is o(1) and doesnt involve any extra reading no matter how many replies there are
|
# ? May 30, 2017 13:39 |
|
power botton posted:im a great developer and my posting is o(1) and doesnt involve any extra reading no matter how many replies there are yeah because nobody reads u garbage posts
|
# ? May 30, 2017 13:42 |
|
gotcha bitch you just did
|
# ? May 30, 2017 13:48 |
|
just call .Sort() on you are IEnumerable imo
|
# ? May 30, 2017 14:01 |
|
Blinkz0rz posted:it's the same kind of exercise as trying to estimate the number of jelly beans in a jar or sands on a beach Not a great example since accurately estimating unknowns is a really useful skill Big O notation is the universally accepted way to describe an algorithms complexity and you should be generally familiar with common algorithms and be able to look at a small sample of code and work out its complexity. Yeah you could google it; the same way I could google laws and call myself a lawyer or buildings and call myself an architect. An interviewer is trying to suss out what kind of skills and knowledge you have on hand, if you have to look everything up its either going to take you a lot longer to do common tasks, or more likely you'll do something wrong without even knowing it. Anyway, this is coming off as a rant, but I hear this sentiment a lot (always from people without computer science degrees). Computer Science is already applied math, its already (mostly) distilled down to what every programmer really should know. If you don't need it at your job gluing php code together that's fine, but don't roll your eyes at interviewers that want something more out of their candidates, especially when they're offering six figgy salaries. Either learn more about it, or just fake it for the sake of those sweet figs wikipedia even has a big list of example functions and their runtime complexity
|
# ? May 30, 2017 14:23 |
|
Brain Candy posted:maybe being stubborn about not learning things that would take an afternoon to learn is foolish i recognize that learning the formal notation around algorithmic complexity is important to go through the process. i'm just bemoaning its place in the interview process because imo (and this has always been imo) it doesn't tell the interviewer anything beyond the ability to regurgitate your intro to algorithms textbook
|
# ? May 30, 2017 14:25 |
|
Brain Candy posted:being familiar with this stuff is cool and good. knowing how to use it is better do people ask that and want more than "that's the tortoise and the hare one right"
|
# ? May 30, 2017 14:25 |
|
i'm a garbage developer and i think being able to analyze an approach is important. being able to identify and reason about an algorithm's time and space complexity is one of the few things i strongly agree with for interviewing a candidate. i have worked at a company where almost no one had any sort of understanding of that stuff and the what they designed and implemented was astoundingly bad i don't have a cs degree but i took the time to understand how it works and thinking about it when writing code has tremendously increased the quality of what i produce (when it matters, anyway). i think it may be the single most important takeaway in what i've seen in a formal cs education welp that's my story see ya
|
# ? May 30, 2017 14:32 |
|
idk i'm a terrible programmer and it makes me sad but also i'm good at my job and make six figgies so
|
# ? May 30, 2017 14:44 |
|
Can I tell the story of the worst programming job interview I ever had? Actually this story might not be the absolute worst interview I ever did, as 99% of interviews I do are terrible and I forget most details as soon as the interview ends. This interview was 2 or 3 months ago and so it's the most recent in my memory, so I guess that makes it the worst interview I can recall the details of. I go he interview from a website called "Hired.com". Its supposed to be only 1st party recruiters, but the two interviews I got from that site were from generic 3rd party recruiters who were pretending to be 1st party recruiters. I know this because when I asked them to clarify basic details about the company, neither recruiter could give me details beyond the very basics. I asked if there were any restaurants within walking distance of the office. If that recruiter was truly a 1st party recruiter, he's tell me what stuff was within walking distance. His answer to me was something generic like "oh theres lots of places around". When I asked a specific place, he couldn't name anything. Anyways, the first part of the interview went very well. Since I absolutely hate doing interviews, I normally have a hard time being good with soft skills. For some reason, that day I was in rare "good soft skills" form. I must have been in a good mood or something, because the first half of the interview was flawless. I could tell the interviewer was having fun talking with me because he was laughing and it wasn't like pulling teeth at all. Then the interviewer said to me "Is it OK to ask you a few technical questions". In hindsight, I should have ended the interview right there with "I'm sorry I am not willing to do a technical interview, at this time I have decided to pursue other opportunities, I wish you the best of luck". but instead I said "OK sure". The first question (as best as I can remember it) was "explain the difference between radix sort and bubble sort, and explain when you'd use one over the other". This is not a slam dunk question for me because I'm self taught and don't exactly have experience writing custom sorting algorithms. My answer was something like "99% of the time you'd just use the built in sort function. On the rare 1% chance that the built in sorting function doesn't perform as well as you need it, then you must find another sort algorithm. The most efficient way to find the best sorting algorithm, is trial and error. The reason why only 1% of the time you ever need to use anything other than the default implementation is because all sorting algorithms perform exactly the same under small datasets. Its only when you deal with data structures that are huge when the performance characteristic come into play. For instance if you list is only 3 items long, you can use pretty much any sorting algorithm (even bogosort) and it will be good enough." (my actual answer may have been less wordy, but I don't remember exactly what I said) Basically I didn't know the exact answer to the question he asked me, the best I could do was brain dumped as much as I knew abut the topic hoping that it would be good enough to demonstrate my technical abilities. The interviewer's response was something like "chris, I like you, you seem like a really nice guy, but that answer you just gave me is way off from what I'm expecting. This is what I was looking for: "Radix search is O([something]) and bubble sort is O([something else]), You use radix search when [3 or 4 words], and bubble sort when [3 or 4 words]. Unfortunately we're going to have to go with other candidates at this time." I hung up the phone and never heard from that guy again.
|
# ? May 30, 2017 14:55 |
|
School of How posted:Can I tell the story of the worst programming job interview I ever had? Actually this story might not be the absolute worst interview I ever did, as 99% of interviews I do are terrible and I forget most details as soon as the interview ends. This interview was 2 or 3 months ago and so it's the most recent in my memory, so I guess that makes it the worst interview I can recall the details of. source your quotes (also i can never remember what radix sort is off the top of my head. is that the one where you use a trie?)
|
# ? May 30, 2017 15:11 |
|
it's hte library card metaphor where you can pick up a row of cards by alphabet or something? does anybody even use that just partition your table or w/e
|
# ? May 30, 2017 15:13 |
|
I had to google "is bubble sort ever a good idea" and the answer is "yes if you're using drum memory" since they asked about a good punch card sorting algorithm vs a good drum memory one I can only conclude that he somehow got transported to the 70s
|
# ? May 30, 2017 15:15 |
|
oh yeah it can be done with a trie: https://en.wikipedia.org/wiki/Radix_sort good example of a wikipedia page that spends way too many words describing the algorithm and puts off actual implementation discussion for far too long.
|
# ? May 30, 2017 15:16 |
|
what i have learned about complexity: traversing the a list in nested loops = bad putting things in a hash and looking them up = good learning what magic words i need to say to indicate that i've been acculturated and thus suitable for consumption by capitalism = best
|
# ? May 30, 2017 15:26 |
|
ultravoices posted:what i have learned about complexity: hashtables are a magic incantation to make problems go away. as long as the interviewer is happy with you assuming an existing good implementation. because gently caress if i have any idea how to write a "good" hash function. that poo poo only gets talked about in the platonic sense in undergrad.
|
# ? May 30, 2017 15:40 |
|
hobbesmaster posted:I had to google "is bubble sort ever a good idea" and the answer is "yes if you're using drum memory" according to my grandmother radix sort is how they used to sort checks by hand p neat
|
# ? May 30, 2017 15:47 |
|
|
# ? May 30, 2024 13:05 |
|
well you need to have something for the follow up of "how do you handle collisions"
|
# ? May 30, 2017 15:46 |