Skip to main content

Posts

Tricky, tricky integer overflow

In today's session, I show the group a tricky, tricky integer overflow detail that is pervasive in binary search and mergesort implementations. How tricky is this whole thing? According to the Google Research blog, most of the first year CMU Ph.D. students' implementations of the rudimentary algorithms were flawed due to overflow problems . Moreover, various cybersecurity lists name integer overflow as one of the top software flaws . The Google blog also recommends Jon Bentley's classic Programming Pearls (Amazon affiliate link) book which motivates this and other Google-style large scale questions such as sorting billions of integers efficiently limited memory. You can probably snag that book in the local library, but we'll cover these and other popular interview questions. But back to the main point, integer overflow is a popular conceptual interview question in some quarters. The interviewer wants to see if you understand integer overflow and by extension an u...

Complexity Analysis for Interviews, Part 2

This is the second part of a series. Go back to part 1 if you haven't read it already. In a fast paced interview, running time analysis is often about recognition of common running times of basic operations and combining them together, since you won't have time to derive the running time of each subcomponent of your algorithm. For example, say you had an algorithm that first sorted an array and then made a constant number of passes through the sorted array. You should point out to your interviewer that the sorting took O ( n log n ) assuming mergesort or heapsort and the constant number of passes took O(n) which is dwarfed by O ( n log n ) for large n. Therefore the whole algorithm is O ( n log n ) . This is the kind of thing you have to learn to recognize. As we go over common algorithms and algorithms for specific real interview questions, I will point out the running times of the var...

Chicago Tech Jobs - More for July

Lightstream Lightstream | Lead Full-Stack Engineer | Chicago, IL | Onsite, Remote, Full-Time, https://www.golightstream.com/lead-full-stack-engineer/ Lightstream | Senior Backend Engineer | Chicago, IL | Onsite, Remote, Full-Time, https://www.golightstream.com/senior-backend-engineer/ Lightstream | Senior Frontend Engineer | Chicago, IL | Onsite, Remote, Full-Time, https://www.golightstream.com/senior-frontend-engineer/ - Lightstream is a simple, powerful, and collaborative live video production suite in your browser. We are a small, but rapidly growing team of gaming, esports, and video industry veterans. Members of our team have contributed to the success of brands like SteelSeries, Machinima, Open Broadcasting Software, Major League Gaming, ESL, Beyond Gaming, and even old school brands like GotFrag & World Cyber Games. If you have a passion for gaming, video, and bleeding edge technologies, let us know! https://www.golightstream.com | jobs@golightstream.com Avant Av...

Chicago Tech Openings - July

Openings in the Neighborhood Outernet | Full Time | Onsite | Embedded Linux Developer I'm the founder of Outernet, a satellite broadcasting startup that provides a global data delivery service. We are building a universal information service to ensure that everyone in the world can have access to information, education, and entertainment—in even the most remote and disconnected environments. It’s the modern version of shortwave radio. More About Us: Startup Beams the Web’s Most Important Content from Space, Free THE PLAN TO BEAM THE WEB TO 3 BILLION UNCONNECTED HUMANS We are looking for an embedded Linux developer to join our small team of four. Responsibilities Include Creating board support packages/system images for ARM-boards with integrated radios Packaging and developing applications for targeted embedded Linux platforms Dealing with GPIOs, SPI, I2C, embedded displays, sound, etc Bonus points Ham radio license or SDR enthusiast A loose understanding of digi...