Skip to content

Commit

Permalink
Merge pull request #43 from Hniii98/bug_fix
Browse files Browse the repository at this point in the history
[docs][interview.md]float layout
  • Loading branch information
archibate authored Sep 15, 2024
2 parents d159aa0 + 91f7d45 commit 78ca4f4
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/interview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- 张剥士在taichi论坛里主动找上来联系,表示我们很欣赏你在太极的伟大贡献,希望和我们泽森一起创造更好的新产品(什么挖墙角)
- 张剥士在微信电话里开始语音面试了,上来就要求实现sqrt函数(牛顿迭代法即可,小彭老师不小心写错,有死循环,张剥士表示不要紧,这个你肯定现实中很容易调试改正的,主要是牛顿迭代需要导数的解析式,容易写错,naive的初学者也可以选择写二分法,余切法等)
- 有没有了解过雷神3的快速sqrt函数?(知道,但好像是神奇的二进制运算,没有深入了解过为什么这样做)
- 知道float的布局吧(15位底数mantissa,8位指数exponent,1位符号sign)
- 知道float的布局吧(23位底数mantissa,8位指数exponent,1位符号sign)
- 而牛顿迭代法需要近似,sqrt最好的近似,实际上就是把exponent位除以2,对不对?(小彭老师恍然大悟,怪不得需要右移1位,原来是让exponent除2,雷神的sqrt因为有良好的近似初值,接下来就只需要一两步就能收敛)
- 接下来脑筋急转弯:我有从 1 到 100 这 100 个数,组成超长的数组,随机排列,现在这里面缺少了一位(比如 1 2 3 4 5 7 8 9 10 就是缺少了 6)
- 现在,我一边报数你一边操作,我报完的那一刻,你必须立即告诉我,缺失的那一个数是什么,并且不允许使用记事本(也就是要求常数空间复杂度,很简单,你报的同时我往一个计数器里累加求和,然后算出来的总求和和 5050 相减,得到的就是缺失的那个数了,比如 1+2+3+4+5+7+8+9+10 - 55 = -6,那么就知道缺的是 6)
Expand Down

0 comments on commit 78ca4f4

Please sign in to comment.