程序员面试题精解(3)— 二分查找
正如“算法分析之父”高德纳所言:尽管二分查找的基本思想相对简单,但细节可能出乎意料地棘手。在实际面试中,有非常多的程序员无法写出正确无误的二分查找程序。
正如“算法分析之父”高德纳所言:尽管二分查找的基本思想相对简单,但细节可能出乎意料地棘手。在实际面试中,有非常多的程序员无法写出正确无误的二分查找程序。
一个偶然的机会,接触到一道picoCTF的RSA挑战题Sum-O-Primes。这道题不难,了解RSA的基本算法就能做出来。另外,如果熟悉RSA算法演变的历史,还能找到第二种巧妙的快速解法。
熟练使用基于终端的各种命令行工具,可以让程序员的工作效率倍增。在苹果macOS上,集成终端应用iTerm2、Oh-My-Zsh配置框架和Powerlevel10k主题,能打造出非常酷的资深程序员专业终端。
内存访问错误是最常见的软件错误,常常造成程序崩溃。程序员们一直在找寻优秀的内存访问错误检测工具,以便及时定位和排除错误以提高软件的可靠性。2012年由谷歌工程师开发的一款AddressSanitizer工具,以其覆盖面广、高效率和低开销的特性,已成为C/C++程序员们的首选。这里对其原理和使用方法做一个简要的介绍。
遇到面试题“实现开平方根的函数”时,如果回答调用库函数sqrt()
就可以了,那你就会错意了。很显然,面试官要求你实现自己的平方根运算函数。这时,如果再问为什么要自己写,那你的这次面试就危险了😌。