Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "linked lists"
-
Interviewer: Welcome, Mr X. Thanks for dropping by. We like to keep our interviews informal. And even though I have all the power here, and you are nothing but a cretin, let’s pretend we are going to have fun here.
Mr X: Sure, man, whatever.
I: Let’s start with the technical stuff, shall we? Do you know what a linked list is?
X: (Tells what it is).
I: Great. Can you tell me where linked lists are used?
X:: Sure. In interview questions.
I: What?
X: The only time linked lists come up is in interview questions.
I:: That’s not true. They have lots of real world applications. Like, like…. (fumbles)
X:: Like to implement memory allocation in operating systems. But you don’t sell operating systems, do you?
I:: Well… moving on. Do you know what the Big O notation is?
X: Sure. It’s another thing used only in interviews.
I: What?! Not true at all. What if you want to sort a billion records a minute, like Google has to?
X: But you are not Google, are you? You are hiring me to work with 5 year old PHP code, and most of the tasks will be hacking HTML/CSS. Why don’t you ask me something I will actually be doing?
I: (Getting a bit frustrated) Fine. How would you do FooBar in version X of PHP?
X: I would, er, Google that.
I: And how do you call library ABC in PHP?
X: Google?
I: (shocked) OMG. You mean you don’t remember all the 97 million PHP functions, and have to actually Google stuff? What if the Internet goes down?
X: Does it? We’re in the 1st world, aren’t we?
I: Tut, tut. Kids these days. Anyway,looking at your resume, we need at least 7 years of ReactJS. You don’t have that.
X: That’s great, because React came out last year.
I: Excuses, excuses. Let’s ask some lateral thinking questions. How would you go about finding how many piano tuners there are in San Francisco?
X: 37.
I: What?!
X: 37. I googled before coming here. Also Googled other puzzle questions. You can fit 7,895,345 balls in a Boeing 747. Manholes covers are round because that is the shape that won’t fall in. You ask the guard what the other guard would say. You then take the fox across the bridge first, and eat the chicken. As for how to move Mount Fuji, you tell it a sad story.
I: Ooooooooookkkkkaaaayyyyyyy. Right, tell me a bit about yourself.
X: Everything is there in the resume.
I: I mean other than that. What sort of a person are you? What are your hobbies?
X: Japanese culture.
I: Interesting. What specifically?
X: Hentai.
I: What’s hentai?
X: It’s an televised art form.
I: Ok. Now, can you give me an example of a time when you were really challenged?
X: Well, just the other day, a few pennies from my pocket fell behind the sofa. Took me an hour to take them out. Boy was it challenging.
I: I meant technical challenge.
X: I once spent 10 hours installing Windows 10 on a Mac.
I: Why did you do that?
X: I had nothing better to do.
I: Why did you decide to apply to us?
X: The voices in my head told me.
I: What?
X: You advertised a job, so I applied.
I: And why do you want to change your job?
X: Money, baby!
I: (shocked)
X: I mean, I am looking for more lateral changes in a fast moving cloud connected social media agile web 2.0 company.
I: Great. That’s the answer we were looking for. What do you feel about constant overtime?
X: I don’t know. What do you feel about overtime pay?
I: What is your biggest weakness?
X: Kryptonite. Also, ice cream.
I: What are your salary expectations?
X: A million dollars a year, three months paid vacation on the beach, stock options, the lot. Failing that, whatever you have.
I: Great. Any questions for me?
X: No.
I: No? You are supposed to ask me a question, to impress me with your knowledge. I’ll ask you one. Where do you see yourself in 5 years?
X: Doing your job, minus the stupid questions.
I: Get out. Don’t call us, we’ll call you.
All Credit to:
http://pythonforengineers.com/the-p...89 -
Hashedram's compilations #1
List of most annoying website designs.
1) Pages with AUTO PLAYING VIDEOS.
Yes I'm looking at you Netflix. Along with every news website known to man. I'm looking to read a fucking article, so why would you even waste your money and bandwidth trying to shove a video of some shit I don't care about in my face, and make it follow me as I scroll down like a fucking insecure puppy. Also, fuck you Instagram.
2) Pages that redirect once immediately after you visit them, thereby fucking with the browser history and the BACK BUTTON just leads back to the same fucking site.
I mean, just why. Did you think I would just go "Hey the back button doesn't work so let's stay on the site and read their awesome content"?
3) Sites showing things in a SLIDESHOW, when it actually should be in a list.
Slideshows are for progressive stories or for showing lists where you don't care about what's in them. Top 10 foods that reduce weight. Slideshow 1/15. Fuck you.
4) LOOKS LIKE YOU'RE USING AN AD BLOCKER
Yes. Yes I am. No I will not turn it off for you, you narcissistic snowflake fuck. And don't even try to guilt shame me into turning it off, because I know you're just going to bombard me with videos of sexy singles in the area if I do.
5) Pages where I see the first 3 lines of an article and have to SUBSCRIBE to see more.
Yes. Brilliant fucking idea. A user wants to see what your site has to offer, so within the first three seconds, don't show him exactly that.
6) Looking up an article and having to read through the entire motivational life story of the author.
I just want to know how to boil eggs, not read about your journey across Africa learning how to make difference recepies using boiled rhino dung.
7) CLICK BAIT.
Title: School boy designs blockchain machine learning game engine
Actual Content: Tic tac toe program made using linked lists6 -
I went on an interview was given an algorithm to solve, solved it in 30 mins and they had allocated 20 mins for it. So I guess I suck. I build shit, I don't do algos that often so I'm obviously rusty.
interviewer: so why should we hire you over a CS graduate.
me: cause I can get shit done.
... akward silence
interviewer: what do you mean by that? like html and CSS?
me: as you can see, I have built large scale real-time web apps with React/Redux (the stack they supposedly use and the position they're hiring for!) the knowledge I have is practical, it can't be learned from books, and it can't be learned from a course. Only building, breaking and rebuilding over time will teach you this knowledge. So essentially a CS grad, who hasn't committed the same amount of hours as I have, can't possibly match me. But they probably can better explain the real world applications of using linked lists...and won't have to Google what Pascal's triangle is like I had to....
interviewer: I see. we will be in touch.
lol well I guess they'll be in touch..9 -
Just because you can learn HTML in a day doesn’t mean that you don’t need a degree.
Did you know that your browser, HTML, CSS, Javascript, and even your operating system use linked lists, binary trees, hash tables, and other so-called “useless” data structures?
It’s important to understand the roots and fundamentals of computer science even if you won’t use that knowledge day to day.
It changes your perspective on programming once you learn what actually goes on under the hood, and makes you think twice about the impact of what you write.
It’s relatively easy to get a programming job without a degree nowadays, but it often leads to web developers claiming that degrees aren’t important to their web apps.
There is much more than just the web to computer science, and that’s something to always keep in mind.10 -
Well I'm a first year student in computer science and in the first semester we started to learn C language and the IDE they told us to use for better learning was Devcpp.
We made a few small projects and all went well, but now in the second semester we started to make bigger projects with linked lists and memory allocation and Devcpp starts to be a complete bug itself... We are working hard in the project and after saving the project with no errors at all, at the next day, Devcpp starts to make any function we made invalid...
So we spoke to the same teacher about this and asked what can we do about it....
"Are you using Devcpp? You shouldn't, it is not that good for C"...
ARE YOU KIDDING ME?14 -
!dev
A child's mind is fascinating.
I remember how it felt being a kid, just deliriously happy.
Things were magical, mystical and happy.
I knew the world wasn't perfect, I knew bad things happened to good people.
But a kid's mind is so powerful that it can fill in the blanks with the most cheerful and optimistic perspectives.
And at some point in my childhood I was exposed to videogames, and that kinda took me down fantasy lane even further.
I was extremely young and barely retaining any memories when I was exposed to my first console, a famicom.
I have a somewhat vivid memory of my mind being blown away for the first time by watching my brother play New Ghostbusters II for NES.
From then on, we never stopped and played several console and dos/pc games.
When I was 10, someone from the neighborhood brought in a couple of floppys with Pokemon Yellow.
"What? Pokemon? How the fuck is that even possible? This is a pc, not a gameboy".
I didn't know at the time what an emulator was, but I was super fucking stoked to be able to play that.
My dad had a 1 gb laptop from work that he didn't use, so I hoarded that shit, and I would get to bed and play nearly everyday.
The experience was surreal. I was doing pc gaming... not on a chair, on a fucking bed, and I was playing a gameboy game... on a pc.
It was so intense to me, that even after more than 2 decades of that time in my life, I still remember how it feels like.
Like, you know how you can "feel" things if you think about them? like for example if you think about the taste of chicken, you can somehow feel it for a second.
Well I have like an actual physical sensation linked to that experience but I can't explain it at all, because it's just a sensation.
I think people usually say they feel that way, for example, about the PSX (usually refered to as ps one) loading screen. I experienced that too but when I was 12, so it was not as intense (it does make me feel the fuzzies though).
I also remember other things with very high detail, like the texture of my bed cover, the weather, mom cooking, the clunky shape of the laptop, the way I carelessly stored it above a pile of magazines, etc.
I rememeber ofc how it felt looking at the game sprites, interacting with NPCs, and the goddamn fucking glorious music.
It was dreamy.
Years and years later, I grew up and I stopped living in fantasy world and became more aware of the grim aspects of life my younger self was sugarcoating.
So I tried to play pokemon again, again and again, and no matter how hard I tried to revive that euphoria, I could not never do it.
I started to get annoyed at the game.
"Come oooon, I did the tutorial already, let me skip this.
This pokemon is useless, why am I even training it.
Fuck, I'm tired of grinding"
At some point I accepted that the feeling would never return, and that it would just live in my memory.
Ironically, I can recall that memory and how it felt anytime I want to.
And I can actually still feel it, and throughtout these years, it has never wore down.
And eventually I learned how to play pokemon and enjoy it:
I read tier lists at smogon online and just catch and train the pokemons that are higher on the list, which is how i got to beat yellow in like 3 days.
(This is nothing compared to what speedrunners do, but much better than the weeks it had taken me in the past).
That served as an important lesson that when a kid plays a game, his mind is also the game at the same time, filling the blanks with its imagination.
A very similar experience happened to me with harvest moon, which is the precursor of stardew valley.
and that game is faaar more emotional: you talk to people, overtime you befriend them and they open up, you meet a girl, you marry her, have a kid
you get farm animals, you brush them, they become happy
you get attached
that game was also so powerful in me that in all naiveness I thought I wanted to be a farmer.
Eventually I grew up and hit puberty and from then on, I focused more on competitive games, like smash bros, cs and tf2.
and i dunno how to end a post so eat my fucking nuts17 -
If you're currently in college and wish to get placed in a major tech giant like Amazon or Facebook:
Don't learn React.js, instead learn Linked lists.
Don't learn Flutter, instead learn Binary search trees.
Don't learn how to perform secure Authorization with JWTs, instead learn how to recursively reverse a singly linked list.
Don't learn how to build scalable and fault tolerant web servers, instead learn how to optimally inverse a binary search tree.
These big tech companies don't really care what real world development technologies you've mastered. Your competence in competitive programming and data structures is all that matters.
The system is screwed. Or atleast I am.18 -
This is real rant, not one of these funny stories!
So, I spent 4 years to get a Computer Science degree, and did two specializations, 3.5 years more in Uni. I have 6 years of experience working in IT, from support to programming. I also speak 3 languages.
I'm from a South America country, and now I'm living in EU.
I'm 30 now and earning a little more than a MacDonald's cashier earns in the US. I have to live in a shared apartment like a fucking Uni student. I have nothing, no car, no house, no girlfriend. WTF!
IT is a fucking lie! Profession of the future my ass!
In Uni they said that finding a good job was easy, that companies would literally grab us by the neck to work for them. LIE!
I did found a low paying job though, where at least I could learn a lot more.
People were really satisfied with my work and I even received a proposal of one of our clients to work for them, but the offer wasn't good enough.
I tried entering some big companies as a Trainee, but it was so ridiculous, they said they were looking for an IT person, but they asked things related to economy and other stuff that had nothing to do with IT. I always failed in the group work/interview, it was so ridiculous, I remember one candidate saying her dream was to work for the company since she was a child, SERIOUSLY!
When the opportunity came, I moved to EU and now I'm working as a dev. But as I said, I'm not satisfied with it! In the US the yearly average software engineer salary is about 100K, I earn less than 1/4 of it. And don't come saying that US pays more because of the cost of life, here the cost of life is the same or even more expensive, a super small apartment/loft is at least 180K, a simple new car 18K and a Big Mac costs 4€.
In the US, the average salary of someone that just graduated from uni is 60K to 70K! LOL
In EU, it's super hard for someone to earn 100K, that's why many companies are creating offices here, good workforce, 2 to 3 times smaller salary!
IT also sucks because it's too volatile, there's new stuff all the time. Someone always has to come with a new language, new framework, new library, etc etc. And you have to keep learning new stuff all the time.
Also job openings always ask for experienced people, like you must have at least two years of experience with VUE.js, or something.
Do you remember the last time you went to a doctor for a checkup, did they use a new tool, or did something different during the checkup? Probably not, the medic don't have to learn new stuff all the time, he is still using a stethoscope, he is still placing a wooden stick in your mouth to check your throat...
But in IT, almost no one nowadays is going to create code using CoffeeScript, they instead will use TypeScript.
I read an article saying that an IT professional must study 20 hours a week to keep up with new trends. So I must work 40 hours and study another 20? LOL
It's not that I don't like learning new stuff, but this sucks, I want to maybe learn something different or have a hobby.
Today I regret going to uni, I feel it was a waste of time and money. They taught things like calculus and physics that I never had to use professionally, and even programming stuff like linked lists I never had to use.
If instead I had studied dentistry or studied to be a ophthalmologist I think I would be earning more, would be working more independently and wouldn't need to keep up learning new things so much.
Also to work in IT you don't need a diploma, I read an article by a dude that learned programming by his own, did some software for his portfolio and got a job at Google.
When I read these kinds of story I regret even more going to uni, It really feels I wasted my time.
For these reasons I can't recommend going to uni to study IT, if you want to go to uni go study something else!
If you want to study programming do it on your own, there's everything you must know online for free, create a portfolio, and look for a job or even try working for yourself!
Living the life I have now, there's just no incentive to keep going.
Should I keep learning new stuff so maybe I can get a better job that will still pay low, or quit and try creating something on my own?
Or even ditch IT all together and go back to uni? LOL NO!5 -
Here’s the second book for today.
Another small 100 page or so book.
It’s called advanced programming techniques, personally I don’t like the title, I don’t consider most of the items in here advanced, I would consider them more “better ways of solving a problem”, they do talk about recursion and linked lists, so I guess that could be a little advanced.
But like table based solutions is not advanced it’s just a technique that allows for simpler, scale able and main table code.. I been doing it for a long time, most easiest way to determine if something can turn into a table solution is look for a function that has a bunch of calls to the same function or something of that nature lots of repeated code with slight changes in a function or range of functions .. those of simplist way of “tablefiying”a solution I will picture the example from the book below.
The book, is all in java except for linked lists Thats in C..
But anyway this book is a great quick reference book, into the pile with programming pearls book, and those like that.14 -
How many of you use the right data structures for the right situations?
As seasoned programmer and mentor Simon Allardice said: "I've met all sorts of programmers, but where the self-taught programmers fell short was knowing when to use the right data structure for the right situation. There are Arrays, ArrayLists, Sets, HashSets, singly linked Lists, doubly linked Lists, Stacks, Queues, Red-Black trees, Binary trees,.. and what the novice programmer does wrong is only use ArrayList for everything".
Most uni students don't have this problem though, for Data Structures is freshman year material. It's dry, complicated and a difficult to pass course, but it's crucial as a toolset for the programmer.
What's important is knowing what data structures are good in what situations and knowing their strengths and weaknesses. If you use an ArrayList to traverse and work with millions of records, it will be ten-fold as inefficient as using a Set. And so on, and so on.31 -
Major rant incoming. Before I start ranting I’ll say that I totally respect my professor’s past. He worked on some really impressive major developments for the military and other companies a long time ago. Was made an engineering fellow at Raytheon for some GPS software he developed (or lead a team on I should say) and ended up dropping fellowship because of his health. But I’m FUCKING sick of it. So fucking fed up with my professor. This class is “Data Structures in C++” and keep in mind that I’ve been programming in C++ for almost 10 years with it being my primary and first language in OOP.
Throughout this entire class, the teacher has been making huge mistakes by saying things that aren’t right or just simply not knowing how to teach such as telling the students that “int& varOne = varTwo” was an address getting put into a variable until I corrected him about it being a reference and he proceeded to skip all reference slides or steps through sorting algorithms that are wrong or he doesn’t remember how to do it and saying, “So then it gets to this part and....it uh....does that and gets this value and so that’s how you do it *doesnt do rest of it and skips slide*”.
First presentation I did on doubly linked lists. I decided to go above and beyond and write my own code that had a menu to add, insert at position n, delete, print, etc for a doubly linked list. When I go to pull out my code he tells me that I didn’t say anything about a doubly linked list’s tail and head nodes each have a pointer pointing to null and so I was getting docked points. I told him I did actually say it and another classmate spoke up and said “Ya” and he cuts off saying, “No you didn’t”. To which I started to say I’ll show you my slides but he cut me off mid sentence and just yelled, “Nope!”. He docked me 20% and gave me a B- because of that. I had 1 slide where I had a bullet point mentioning it and 2 slides with visual models showing that the head node’s previousNode* and the tail node’s nextNode* pointed to null.
Another classmate that’s never coded in his life had screenshots of code from online (literally all his slides were a screenshot of the next part of code until it finished implementing a binary search tree) and literally read the code line by line, “class node, node pointer node, ......for int i equals zero, i is less than tree dot length er length of tree that is, um i plus plus.....”
Professor yelled at him like 4 times about reading directly from slide and not saying what the code does and he would reply with, “Yes sir” and then continue to read again because there was nothing else he could do.
Ya, he got the same grade as me.
Today I had my second and final presentation. I did it on “Separate Chaining”, a hashing collision resolution. This time I said fuck writing my own code, he didn’t give two shits last time when everyone else just screenshot online example code but me so I decided I’d focus on the PowerPoint and amp it up with animations on models I made with the shapes in PowerPoint. Get 2 slides in and he goes,
Prof: Stop! Go back one slide.
Me: Uh alright, *click*
(Slide showing the 3 collision resolutions: Open Addressing, Separate Chaining, and Re-Hashing)
Prof: Aren’t you forgetting something?
Me: ....Not that I know of sir
Prof: I see Open addressing, also called Open Hashing, but where’s Closed Hashing?
Me: I believe that’s what Seperate Chaining is sir
Prof: No
Me: I’m pretty sure it is
*Class nods and agrees*
Prof: Oh never mind, I didn’t see it right
Get another 4 slides in before:
Prof: Stop! Go back one slide
Me: .......alright *click*
(Professor loses train of thought? Doesn’t mention anything about this slide)
Prof: I er....um, I don’t understand why you decided not to mention the other, er, other types of Chaining. I thought you were going to back on that slide with all the squares (model of hash table with animations moving things around to visualize inserting a value with a collision that I spent hours on) but you didn’t.
(I haven’t finished the second half of my presentation yet you fuck! What if I had it there?)
Me: I never saw anything on any other types of Chaining professor
Prof: I’m pretty sure there’s one that I think combines Open Addressing and Separate Chaining
Me: That doesn’t make sense sir. *explanation why* I did a lot of research and I never saw any other.
Prof: There are, you should have included them.
(I check after I finish. Google comes up with no other Chaining collision resolution)
He docks me 20% and gives me a B- AGAIN! Both presentation grades have feedback saying, “MrCush, I won’t go into the issues we discussed but overall not bad”.
Thanks for being so specific on a whole 20% deduction prick! Oh wait, is it because you don’t have specifics?
Bye 3.8 GPA
Is it me or does he have something against me?7 -
There has literally only been one time I've used singly/doubly linked lists in my code. And when I did, it turned my program into a monstrosity.
10/10 would never do again!4 -
Here's my idea. In light of all the efforts to teach kids how to do programming, why not start with an introduction to discrete mathematics instead? From a lot of the programs I've seen, the kids are taught different structures such as if else, while, and for loops, but they don't attempt to start teaching them about recursive methods or even other structures such as linked lists, queues, dequeues, binary trees, heaps, different sorts, and other things. Am I just not looking deep enough into those programs? Or are the creators of these programs not wishing to cover those things because they feel like children wouldn't be able to comprehend such things?4
-
Perhaps as a tip for the junior devs out there, here's what I learned about programming skills on the job:
You know those heavy classes back in college that taught you all about Data Structures? Some devs may argue that you just need to know how to code and you don't need to know fancy Data Structures or Big o notation theory, but in the real world we use them all the time, especially for important projects.
All those principles about Sets, (Linked) lists, map, filter, reduce, union, intersection, symmetric difference, Big O Notation... They matter and are used to solve problems. I used to think I could just coast by without being versed in them.. Soon, mathematics and Big o notation came back to bite me.
Three example projects I worked in where this mattered:
- Massive data collection and processing in legacy Java (clients want their data fast, so better think about the performance implications of CRUD into Collections)
- ReactJS (oh yes, maps and filters are used a lot...)
- Massive data collection in C# where data manipulation results are crucial (union, intersection, symmetric difference,...)
Overall: speed and quality mattered (better know your Big o notation or use a cheat sheet, though I prefer the first)
Yes, the approach can be optimized here, but often we're tied to client constraints, with some room if we're lucky.
I'm glad I learned this lesson. I would rather have skills in my head and in memory than having to look up things and try to understand them all the time.5 -
Last year, I made an application of A* maze-solving algorithm in class. I used a linked list and my friends used arrays. Their algorithms were way faster than mine (I remade it later :p).
OK I understand that accessing memory by address if way faster than accessing by iterations, but I also see that python lists or C# lists are really fast. How is it possible to make a list performance-proof like this? Do the python interpreter make a realloc each time you append or pop a value?1 -
Begin teaching fundamentals much earlier. For me, I learnt Java classes and some fundamentals for it, but more basic programming skills went by the wayside until 2nd year of Uni.
The course we did on logic was good both years, but stuff like data structures and algorithms (sorting, linked lists etc) should be taught first.
Something else that might be useful is maybe not learning Java initially. What annoyed me with that (and I'm sure confused some people) was the amount of
- "Hey what does that mean?"
- "Uhh, don't worry about it yet"
which while it might encourage you to go read about it, is more likely to encourage the opposite, and tend to ask less questions, even when switching language.
I can't say for other universities, but I think a larger focus should be on gaining skills in the field, rather than becoming employable through doing employability things.
I know plenty of second year students that still couldn't have completed our first semester first year assignment, which was essentially some object manipulation wrapped up in a few classes and a basic console I/O.2 -
List iteration - Implementation
How do you manipulate lists? In what language?
In my very limited knowledge:
1. C++ Iterators
2. D Ranges
3. Linked Lists
See for ranges vs iterators http://informit.com/articles/...
Does anybody have links for advantages for iterators? Why should I use them?2 -
is there an algorithm that can spot similarities between two linked lists on the virtue of what an element is linked to? I'm working with my bank statements in CSV and want to work with them mechanically, and I don't really want to spend time checking manually what I have imported (to Wallet by Budget Bakers) and what I'm missing between imports7
-
archeological work is painful and difficult
people in industry don't seem to emphasize/warn how much archeological work there is in being a code monkey
or are there jobs that don't involve it? i imagine the skill remains essential
greenfield work to be the exception not the norm, and start up life is hell and a gamble
interview process seems to completely disregard this, as i imagine it'd be difficult to assess, unlike leetcoding linked lists or code golfing stuff without using data structures, or whatever awful things they ask for in leetcode hards or whatever3 -
When is it a good idea to use linked lists?
In my pet project, I want to have a list of items with an index. The index of an item should be updateable, and the index of the other items should adjust.
A linked list would make it very easy to adjust the order since you just need to update the "next" node of 2 items, but I think this would make getting the index of items more troublesome.
What is the preferred way to do something like this, am I just overthinking it, and would updating all the indices of the items not be such a big job?
The project uses React and mongo (express-mongoose) btw, if that's important.4