今日头条实习面试0519

一面跪,有很多不足的,记录一下。

10:30面试, 晚了一分钟到, 非常不应该,导航错了地图也是醉了,面试一定要提前15分钟到。

面试官很和蔼。

1. 写一个开根函数,要求误差小于m。 (实现 pow(x, n) , n为小数,1/n 为整数。)

目前的想法,二分+快速幂

或者泰勒展开。

推荐二分+快速幂,容易实现误差<m

2. 给一个树,每个节点有一个权值,求从根往下权值最大的路径,尽量用非递归。

递归很简单,记录并维护每个节点下路径最大值。

非递归其实也很简单,但是我当时傻逼的往实现树的后序遍历方面去考虑了,其实不需要这么复杂。

遍历所有节点,每个节点记录从改节点往上到根的路径,已经记录过了点就直接用,这样只需要知道父节点即可,复杂度o(n),而且很好写。

3. 有一个长度为10T的串s,求子串t出现的次数?

因为s非常长所以肯定是内存是存不下的,但是也可以使用内存移动+kmp来实现。

最近可以学习下比KMP更快的BM和sunday算法。

4. shell命令,有一个文件,该文件每行包含两个字段

比如:

1 chen

2 le

1 chen

1 le

3 ss

写出命令求(x y)出现的次数

cat file | sort | uniq -c

这题没答出来,导致后面全程被鄙视。

5. VIM操作,注释多行代码

ctrl + v
选择要注释代码块的第一列
shift + i
输入//
esc

6.STL, BOOST库, STL中的内存管理。

基本上就是作死状态。

GG

原文地址:https://www.cnblogs.com/chenhuan001/p/6885554.html