<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Interview</title><link>https://blog.shuaizhang.cc/en-us/tags/interview/</link><description>Posts gathered under this term.</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 06 Apr 2018 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.shuaizhang.cc/en-us/tags/interview/index.xml" rel="self" type="application/rss+xml"/><item><title>Every Programmer Should Know Some Formal Proof</title><link>https://blog.shuaizhang.cc/en-us/posts/programmer-should-know-formal-verification/</link><pubDate>Fri, 06 Apr 2018 00:00:00 +0000</pubDate><guid>https://blog.shuaizhang.cc/en-us/posts/programmer-should-know-formal-verification/</guid><description>Using lower_bound as an example, this article explains how to derive and verify a binary search implementation with safety and liveness analysis and mathematical induction.</description></item><item><title>Looking at the Expressive Power of Different Programming Languages Through an Interview Question</title><link>https://blog.shuaizhang.cc/en-us/posts/different-programming-languages/</link><pubDate>Sun, 03 Aug 2014 00:00:00 +0000</pubDate><guid>https://blog.shuaizhang.cc/en-us/posts/different-programming-languages/</guid><description>Many people do not understand that different programming languages have different expressive power. That is why, after assembly language, we still needed higher-level programming languages. Now that software systems are becoming increasingly large, the insufficient expressive power of C and C++ is becoming more and more apparent. We should choose high-level programming languages to complete our tasks whenever possible, and use profiling where performance is needed, rather than choosing languages such as C/C++ from the outset.</description></item><item><title>Checking Overflow with Inline Assembly</title><link>https://blog.shuaizhang.cc/en-us/posts/check-overflow-via-inline-asm/</link><pubDate>Mon, 28 Oct 2013 00:00:00 +0000</pubDate><guid>https://blog.shuaizhang.cc/en-us/posts/check-overflow-via-inline-asm/</guid><description>This question often comes up in interviews, and real-world projects also frequently need to address the same issue: how to determine whether an integer operation has overflowed. C# provides the checked keyword to handle this problem; in C, we can use inline assembly statements to check for overflow.</description></item><item><title>The Difference Between Overloading and Overriding</title><link>https://blog.shuaizhang.cc/en-us/posts/the-differences-between-overloading-and-overriding/</link><pubDate>Tue, 08 Oct 2013 00:00:00 +0000</pubDate><guid>https://blog.shuaizhang.cc/en-us/posts/the-differences-between-overloading-and-overriding/</guid><description>Overloading and overriding are two concepts frequently tested in written exams and interviews. These two concepts differ from the concepts themselves to their implementation mechanisms, but their forms of expression are similar. Starting from the implementation mechanisms, this article explains the differences between them in depth.</description></item><item><title>The Three Major Characteristics of Object-Oriented Programming</title><link>https://blog.shuaizhang.cc/en-us/posts/three-characteristics-of-object-oriented-programming/</link><pubDate>Mon, 07 Oct 2013 00:00:00 +0000</pubDate><guid>https://blog.shuaizhang.cc/en-us/posts/three-characteristics-of-object-oriented-programming/</guid><description>Interviews often ask about the three major characteristics of object-oriented programming, but no single book explains all three thoroughly. Here I try to synthesize material from several books and understand these three characteristics from different perspectives.</description></item><item><title>Multiple Solutions to an Interview Problem</title><link>https://blog.shuaizhang.cc/en-us/posts/different-solutions-to-an-interview-problem/</link><pubDate>Thu, 05 Sep 2013 00:00:00 +0000</pubDate><guid>https://blog.shuaizhang.cc/en-us/posts/different-solutions-to-an-interview-problem/</guid><description>In a binary search tree, one node violates the properties of a binary search tree. Find that node.</description></item></channel></rss>