百度算法面经秘籍(下)

《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。

求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。


百度算法面经秘籍(上):点击查看

4 数据结构与算法分析相关知识点

4.1 数据结构与算法分析

4.1.1 线性表

4.1.1.1 数组

● 给定一个数组,写一个函数来随机打乱这个数组?

● 给定两个整数数组,对第一个数组进行排序,整数顺序由其在第二个数组中的位置决定,对于没有出现在第二个数组中的整数,应排在末尾,其之间顺序无限制。这里整数的取值范围是[0, 2^32-1],例如第一个数组为5 1 6 2 1 2 3, 第二个整数数组为2 1 3, 则排序结果为2 2 1 1 3 6 5或2 2 1 1 3 5 6

● 两个序列的最长公共子序列

● 二维有序数组的二分查找某个数?

● 给一个数组,找出最小缺失正整数(不能排序,O(n)时间复杂度)

● 从数组中找到两个和为给定值的数字?

● 搜索旋转排序数组

● 二维数组路径和最小

● 连续子数组的最大和

● 统计一个文本中的出现次数最多的k个单词?

● 旋转数组找K值?

● 左右有序上下有序的数组中查找指定数?

● 无序数组找到第k大的数,写出两种做法

● 找出一个数组中的第k小元素,我是用快排的变种做的。平均时间复杂度是O(n).但是面试官的理想答案是用堆。

● 统计一个文本中的出现次数最多的k个单词?

● 返回数组中和为指定值的两个元素,如果有多个,返回成绩最小的那个?

● 有一个特别长的数组,放不进内存的情况下,找出最小k个数?

● 有序等长数组找中位数

● 给一个数组,一个目标数,找出数组的两个数相加等于目标数

● python:两个无序数组去重合成一个升序数组

● 两个数组找乘积最大的

● 最大连续子数组的和

● 两个有序数组,随意挑选两个值,求其和,求第k大的组合

● 动态求区间和(树状数组)

● 两个排好序的数组求交?

● 排好序的数组,里面有重复的元素删除重复元素,只保留其中的一部分?

● 一个有序数组,找到两个数相加为x?问空间时间复杂度。

● 1000个数的数组,每个数在1-999之间,有两个数是一样的,找出。要求时空复杂度最优。时间O(n),空间O(1)。

● 1,0,1,0,0,1......】1可以变成0,0可以变成1 求最少多少次操作可以让0后没有1?

● 数组,可以分别从最左边最右边取个数字,求取得k个数的最大值,O(1)空间呢,k的取值范围的条件?

● 给你一个数组A,数组里按顺序存的一组点,表示一个多边形,再给你一个点B,问如何判断点在多边形内部?(面试官说把多边形分解成有限个三角形,去判断点是不是在三角形内)

● 找数组的众数

● 二维数组路径和最小

● 数组往右移动k位

● 两个有序数组的最小的共同数

4.1.1.2 链表

● 翻转单链表

● 判断链表是否有环以及环的位置?

● 找到环形链表的入口

● 链表公共节点

● 删除链表节点

● 两个单向链表,怎么判断他们是否相交,交点在哪里?

● 两个链表是否相交,自建链表测试

● 手写链表排序

● 链表的排序:merge sort

● 两个有序链表的归并

● 合并两个无序链表成为有序链表

● 判断相交链表

● 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针?

● 两个链表分别表示两个数,头指针为低位尾指针为高位,求和返回新链表?

● 数组和链表的区别

● 链表是否回文

● 两个链表相加

● 对倒排索引的认识,在此基础上,两个倒排索引得到的链表,得到其公共部分= 》转换成两个有序链表合并的问题

4.1.1.3 栈

● 两个栈实现一个队列(优化方法)

4.1.1.4 字符串

● 字符串切割(raw:adbacaf   sep:bac    result就是ad和af)

● 字符串反转

● 如何将(a,(b,c,null),(d,(e,f,g),(h,null,(i,j,k))))这样的字符串转为一颗二叉树?

● 字符串转float

● 有10G 的数据,每行数据是一个字符串,得到前K多的字符串,最后去重?

● 给定一个字符串,一个子串集合,要求不断删除字符串中的子串,直到没有可以删的为止?

● 给一个字符串s,一个目标子串t,写一个函数判断s中是否包含t的旋转串? 旋转串的定义是,比如t = "abcd",则"abcd"、"bcda"、"cdab"、"dabc"都是t的旋转串。但是因为时间仓促,用暴力判别做的。 写完之后被问优化,答的是遍历s中的每一个字符,只要首字母确定,旋转串就是固定的,只需要直接判定就好。

● 最长公共字符串,动态规划思路

● 求和大于k的子串的最小长度?

● 一个字符串的最长回文串,有没有效率优于平方的算法?

● 给一个字符串和一个字符串集合,问给定字符串是否能被集合中的字符串组成

● 在两个大文件中,找单词的交集?

● 最长公共子串

● 给一个字符串s,再给一个目标字符串t,你可以对字符串中的每一个字母进行以下三种操作之一,问从s变成t最少需要多少步。

操作1:删除改字符

操作2:增添一个任意字符

操作3:将该字符换成别的任意字符

● 给定txt文件,里面每个都是以逗号分隔的字符,要求按照某列来对另外两列求和,并按照其中一列逆序,如下:

A B C

1 2 3

1 4 5

1 6 7

2 3 8

2 7 9

按A列对B和C进行求和,并将结果按照B逆序排列,不能用pandas中的groupby功能,只能用list,dict和tuple

● 求字符串的子集

● 判断字符串中左右括号是否合法

● 给定一个字符串和数组,判定字符串是否能由数组中的字符串组成

● "today is good"转换为"good is today",要求O(1)空间(只说思路)

● 最长回文子串

● 口述给定一个字符串,找出第一个重复字符,时间/空间复杂度,如何优化?

● 字符串中两两成对连续出现,只有一个单独出现的字符,找出这个字符?

4.1.2 树

4.1.2.1 二叉树

● 二叉排序树特点,平衡树特点,最小生成树算法有哪些?

● 实现二叉树查找,删除节点和反转

● 判断两个二叉树是否一样?

● 逆序对和判断一个树是bst?

● Z字型打印二叉树

● 求二叉树的所有左叶子节点和?

● 二叉树的右视图

● 层序遍历二叉树

● 判断镜像(对称)二叉树

● 手动构建二叉树,dfs遍历

● 旋转二叉树 + 二分查找(递归非递归)

● 二叉树层次打印

● 二叉树最近公共父节点、并查集

● 二叉树判断有没有和等于sum的路径

● 求解完全二叉树节点个数,要求是必须要用到完全二叉树的性质

● 实现前缀树的插入,查找以及某一个前缀的所有词查找?

● 字典树如何构建以及使用场景?

● 简单的二叉树最大最小值

● 红黑树的几个特点?

● 二叉树两节点最长距离?

● 二叉树中的最长路径

● 求二叉树最大深度

● 平衡二叉树是什么?

● 二叉树的先序遍历,中序遍历,后序遍历(要非递归),时间复杂度

● 二叉树的Z字形遍历

● 判断是不是后续遍历中序二叉树?

● 二叉搜索树给定一个节点查找下一个节点?

● 两个节点的最近公共祖先

● 找一棵二叉搜索树里面给定两个节点的公共祖先?

● 排序数组能够构成多少个二叉搜索树?

● 判断一个树是否为二叉搜索树?递归或中序遍历后看是否为递增序列。

● 二叉树是否存在一个子树,子树节点和为整个树节点和的一半?

4.1.2.2 堆

● 介绍堆排序,以及其它排序?

● 最大堆的插入

4.1.3 排序

● 排序算法,从稳定性分析?

● 排序算法有哪些?各种排序算法时间复杂度?空间复杂度?稳定性?什么实际情况下考虑稳定性 ?

● 快排要稳定的话怎么写

● 写个归并排序

● 归并排序(使用C++完成)

● 文件太大,内存太小时候,最大的K个数怎么样的求解过程?

● 海量数据中选取topK大的数(堆排序和快排实现),给出时间复杂度分析

● 百度有海量的搜索词记录,返回TopK个高频词?

● 从1-1000中找到缺失的值(用字典),一堆乱序数中找到第k大的数(快排或堆排序,如何实现,复杂度为多少klogn),传统快排复杂度?

● 手写快速排序

● 给定一个数组[-1,2,3,4,7,-4,-5,8,0],使用时间复杂度为O(N)的算法求解?

● 排序,奇数在前,偶数在后

● 为什么快排的时间复杂度是nlog(n),快排和归并排序有什么区别?

● 手写堆排序

● 堆和栈的区别?

● Top-K问题,手写堆排

4.2 算法思想实战及智力题

4.2.1 算法思想实战

● 青蛙跳台阶,变态青蛙跳台阶

● 爬楼梯问题(动态规划)

● 蓄水池抽样

● 100层楼2个小球问题

● 硬币兑换最小数

● 零钱兑换

● 类似登山问题

● 给定高考全部人分数,查找一个分数的排名多少?

● 写一个string to float函数,进行浮点数转化,但是要考虑浮点数各种表示方法,比如科学计数法等。

● 开根号(经典题目,牛顿法和二分法)

● 返回数字1-n的全排列

● 找出岛屿数量

● 找岛屿个数

● 根据词频随机出K个词

● 给定n个数,找出pair的个数,满足 x&y >= x^y

● 翻译数字为英文

● 例如,1001,翻译成one thousand one

1101,翻译成one thousand one hunderd one

0~4随机函数,怎么生成0~6的随机函数?

● 有效括号用了什么数据结构(栈)

● 编辑距离,并且回溯出路径。进一步扩展问题:如果有很长的两个串要计算编辑距离,但是如果发现他们的编辑距离>5就不需要继续计算了,直接返回过大。可以优化编辑距离算法吗?

● 图-路径问题:假设现在有很多海岛,有些海岛之间有桥连接,你已知海岛连接情况。

① 我现在想从到 A岛 去 B岛,问是否能通过陆路到达(过桥)

②如果可以,最少需要过几次桥

③输出一条最短的路径(P.S. 最好可以写一个非递归的形式)

● 输入是一个字符串流每一行长度在2~400之间,要求按照batch size中所有字符串的长度差异<=2,每个batch之间输出一个空行,输入的每行在输出中不变,顺序无要求,请给出尽量最小的缓存需求下的解决算法,并给出保障所有情况可运行的所需最小缓存大小的计算方法。

● 给一组宽度相同、高度不同的图片,将这组图片首尾拼接为两部分,使这两部分的高度尽可能接近?(其实是套着业务外衣的一道leetcode算法题,就是给一组数(高度),把这组数分成两部分,让这两部分的和尽可能相近)

● 外存上有大量文件,文件里有大量已排序的数字,而内存又容不下一个文件,问如何全局排序(给思路就行)。这属于很经典的外部排序问题。

● 在内部排序里有什么方法很快能找到当前最小的数?

● 数组b, c含有相同的元素集合(顺序不一定相同), 各自内部不可比较,求b、c元素的对应,要求时间复杂度<=O(NLog(N))

● N*M的矩阵中,有两种齿轮,一种是初始状态朝上,每次触发会顺时针旋转90度;另一种是初始状态朝右,每次触发会逆时针旋转90度,找到矩阵第一列的元素,使得触发它后可以走到矩阵的右下角并且以朝右的方向出去。

● 一个人从家往公司走,只有一条路径,有东西南北四个方向,现在求这个人往东南走的最远的距离?

● a~z和A~Z代表0到51,如何将52进制转化为10进制?

4.2.2 智力题

● 64匹马,8个赛道,找出前4名最少比赛多少场?

● 有N个甘蔗,甘蔗有多个节,每个节的长度不一样,所有甘蔗头对齐,问随便切一刀,做多能同时砍到几个节点?

● 10个人打牌,怎么样迅速分配输赢的钱?

● 一千瓶水,一瓶有毒,十只老鼠做实验,老鼠服用有毒的水之后一周后死亡,一周之内测出哪一瓶水有毒?

● 给两个砝码7g和2g,有140g盐,分成50g和90g两堆盐,天平用三次分出这两堆来?

● 100块钱,每次可以花1、2或者3块,有多少种花法?

● 10只老鼠1024瓶药水,一次找到其中的唯一一瓶毒药 ?(利用编码的思想,将药水编码成01的格式,某一位置1代表对应老鼠喝该瓶药水)

● 有N个硬币排成一排,每次要你从最左边或者最右边拿出一个硬币。总共拿k次,写一个算法,使能拿到的硬币和最大?

● 区域中有m个人和n个怪,当人走入怪的警戒范围内的时候就会报警,描述一个算法,判断是否会报警?

● 想象桌面上有一堆点,把手机放上去,如何快速找到被手机压到的点?

● 智力题:给一个很大的数字,以5为结尾,如何快速知道这个数是哪个数字的六次方

● 智力题:有容量为3、5、8升的被子,怎么量出4升,代码怎么实现(不会,面试官提示bfs)。

4.3 其他方面

4.3.1 数论

● 求解优化问题的方法,讲出拉格朗日函数,对偶问题?

● 判断质数

● 1-n中数字1的个数?

● 求1到n之间的素数个数

● 10进制转8进制

● 求一个整数的平方根

4.3.2 计算几何

● 给一个点和一个矩形(由长、宽和旋转角度表示),判断点是否在矩形中?

● x^2+y^2+z^2=1的球面随机取点,怎么取,应该是想让我说极坐标的方法?

4.3.3 概率分析

● A,B约定在12:00到13:00见面,先到者等待15分钟,求见面概率?

● 一个期望的题 每次抽球概率是1/4,前三次抽中则第四次必中,求抽一百次的期望?

● 一个箱子,里面不知道有多少个球(球按照从大到小编号了1-n,但是n未知),现在取k次,每次取m个球(有放回),问你 估计下里面一共多少个球?

● 进阶问题:如果不知道每次取m个球是哪些球,只知道他们的方差,怎么估计箱子里面的球?

● 圆上三个点组成锐角三角形的概率?

● 一副扑克52张,没有大小王,随机取两张,都是红桃的概率(1/17)

● 2个盒子,50个红球和50个白球,怎么放使得摸到红球概率最大(计算步骤)

● 给N个数,每个数有一个概率值,要怎么依据概率得到每个数?

● n个数中等概率抽取m个数?

● N个球取M个,每个球被取走的概率

● 抽小球这样的概率题,用递归做的?

● 男性得色盲的概率是 5%,女性得色盲的概率是0.25%,求一个人是色盲的前提下是男性的概率。(贝叶斯公式推导一下就可以,当时不知道P(男)怎么算,后来面试官说可以认为是1/2)

● 一个长度为n的list,元素不重复,从中取出m个数,问这m个数中某一个元素被取出的概率是多少?

4.3.4 矩阵运算

● 从矩阵左上走到右下的最长路径,只能向右或者向下?用动态规划code的?

● 矩阵中给定两个点作为对角线组成的矩阵里的数的和(复杂度O(1),可简单预处理)

● 最低公共祖先,01矩阵中最大全1矩形的面积?

● 矩阵逆时针旋转90度

● 有一个n*n的数字矩阵,我要将其向右旋转90度,应该如何实现,时间复杂度是多少?

● 将mxn的矩阵0元素对应的行和列的其他元素变为0

4.3.5 其他

● 给定一个带有权重的无向图(网),求初始点A到其余各个顶点的最短距离?

● 双数组树的原理?

● 求一个数的平方根(牛顿迭代或者二分)

● 证明一个式子是否收敛,给定一个长串式子,先求出通项,然后判断是否收敛sqrt(asqrt(asqrt(a*sqrt(a)...)))

● 求1+2+3+...+n。不能使用乘除,for,while,if,else,switch。case等关键字以及条件判断语句(A?B:C)

● k个的列表反转?

● 给你2个分好词的文件A和B,A是亿级,B是万级,内存1G,判断B是不是A的真子集?

● 给定数据找两个数之和等于 target,分析复杂度?

● 将IP字符转化为整数(127.0.0.1转化为16777343)?

● 集合的子集,无重复和重复。

● 给定一串数字,找到其中连续最长的序列,使其求和为0。解题思路用积分图的思想解决?

● 读取文件(一行一个,有顺序a-z),统计元素词频

● 长度为n的数字,找出最大值最小值,直观为O(2n),另一种解法:两个元素比较,大的最大值比,小的和最小值比,共O(1.5n)

● 贝叶斯公式你给我写一下

● 卡方检验知道吗,你知道里面的P值是什么吗?

4.4 Leetcode&剑指offer原题

● Leetcode120

● Leetcode 279:完全平方数

● Leetcode 2:链表相加,需要注意的是最好提前练习如何写链表的示例,因为我们刷题只用写个函数

● Leetcode原题:二叉树的最短路径

● Leetcode原题:岛屿问题

● Leetcode原题:一个有序数组,旋转后,判断是否存在某元素

● Leetcode原题:找到链表交叉点、

● Leetcode原题:数组全排列

● Leetocde原题:threeSum

● Leetocde原题:爬梯子问题,变态的爬梯子问题

● Leetocde原题:股票买卖问题(三种情况)

● Leetcode原题:数字组成的字符串,折算成小写字母(1-26)的所有可能性个数

● Leetcode原题:数字组成的字符串,折算成小写字母(1-26)的所有可能性个数

● Leetcode原题:给一个m * n的矩阵,求左上角到右下角共有几条路径?只可以往右和往下走。

● Leetcode原题:给定一个数组,其中有多个单词,判断一个给定字符串中是否包含所有的单词。

● 剑指剑指offer 4:二维数组的查找,有无别的思路(提示递归)。

● 剑指offer原题:字符串旋转

● 剑指offer原题:数组中出现次数超过一半的数字,给了两种解法

● 剑指offer原题:判断五张扑克牌是不是顺子

● 剑指offer原题:在一个数组中找两个不同的数字

● 剑指offer原题:判断单链表是否有环?找到入口节点

5 编程高频问题:Python&C/C++方面

5.1 python方面

5.1.1 网络框架方面

5.1.1.1 Pytorch相关

● 主要用的是pytorch还是tf,介绍一下torch构建一个简单的dnn的流程

5.1.1.2 Tensorflow相关

● tensorflow中动态图静态图

● tensorflow模型剪枝

● tensorflow中有哪些关键技术,tensorflow如何的动态图计算框架

5.1.1.3 其他

● Paddle 用过吗?静态图与动态图的优缺点?

5.1.2 基础知识

5.1.2.1 线程相关

● Python进程和线程的知识点?

● Python内部实现的多线程有什么问题?

5.1.2.2 内存相关

● Python的内存管理机制,优缺点

● Python内存管理,内存池最大?

5.1.2.3 区别比较

● Python深、浅拷贝的区别,如何使用?

● Python2、3的区别?

● Python当中迭代器和生成器的区别?

● Python yeild 和return的区别?

5.1.2.4 讲解原理

● Python的装饰器都有什么作用,如何计算多个函数花费的时间?

● Python的类中加下划线的含义?

● Python闭包、反射、装饰器、GIL

● Python中的闭包,python如何在类中修改全局变量

● yeild是什么?

● python 深浅拷贝

5.1.3 手写代码相关

● 读取文件(一行一个,有顺序a-z),统计元素词频

● Readline和Readlines的区别

● Python lamba与def 定义函数的区别

● 写一个函数,实现python的继承,数据的交换,类中的全局变量等等

● Python中 +和join的区别。

● Python写一个生成器:range(start, end, step),应该就是考知不知道yield;然后问相比于list,生成器优点

5.2 C/C++方面

5.2.1 基础知识

5.2.1.1 内存相关

● 线程通信的方式有哪些(共享内存)

● C++内存泄漏的原理,C++如何解决C++内存泄漏的

5.2.1.2 区别比较

● C++的vector与arrylist?

● new、delete、malloc、free的区别

● 虚函数与纯虚函数的区别引用和指针的区别?

● 指针和引用的区别?

● 问了C++,指针,函数指针,变量存储位置,垃圾回收机制,虚函数等等

● 死锁如何产生,如何解决?

● 深拷贝浅拷贝,is和==之间的区别?

● Structure和Class的区别?

● C++ vector reserve&resize?

● C++ class && struct?

5.2.1.3 讲解原理

● C++是否支持多继承?

● C++ 纯虚函数,抽象类能不能被实例化?

● Vector分配的内存不足时的底层操作

● C++智能指针

● C++ 变量定义在函数内,存储在什么区?

● Static讲一下?

● const 讲一下,const char *&a

● 虚函数在什么阶段创建?

● C++结构体初始化时,什么时候不写构造函数会报错

● C++的vector底层实现

● C++的sort底层实现

5.2.1.4 讲解应用

● LRU算法实现?

● Set的查找时间复杂度

6 操作系统高频问题:数据库&线程&常用命令等

6.1 数据库方面

6.2 操作系统方面

6.2.1 TCP协议相关

● Tcp的三次握手?

● TCP三次握手,为什么要三次,和四次有什区别?

6.2.2 线程和进程相关

6.2.2.1 区别比较

● Windows和Linux内存管理对比?

● 深拷贝和浅拷贝的区别?

● 进程和线程有什么区别?

● 进程间通信、线程间通信有哪些?

6.2.2.2 讲解原理

● 进程之间如何通信?

● 操作系统的锁了解吗?有哪些种类,自旋锁了解吗?和其他锁的区别

● 死锁产生的原因,死锁避免的方法有哪些?

6.2.3 常用命令

● 对Linux的系统的了解,如何统计磁盘使用情况的命令?

● 用过最复杂的linux命令是什么?

7 技术&产品&开放性问题

7.1 技术方面

● 向量相似度计算方法?(欧式距离、余弦距离)

● 关于神经网络的一些问题

①陷入局部最优解如何进行解决,这个问题应该答加入带有动量的优化器,或者求二阶导数

②求解二阶导数的时候的时间复杂度变成多少

③计算机矩阵求逆的计算复杂度

● 12G float数据,256M内存,怎么把这些数据排序?

● 模型在线下可以得到很好的效果,但是上线后效果不好,有哪些原因?项目中如何判断是否拟合、如果离线数据不能很好反映全集的情况如何处理

● 调参一般调试哪些参数 ?

● 从度秘的一个场景题引入,问了我如何设计度秘的音乐推荐的embedding。如果用简单的word2vec怎么做, 存在什么缺点,面试官说音乐可能不像nlp任务有那么强的顺序性,怎么改进?【后来我查了以下就是微软item2vec的思想】

● 现在有一亿个样本,你如何找到单词最相似的?

● 一亿数据量的文本怎么做到随机抽取和重复统计?

● 假设现在有一万个数据,每个数据被取到的概率是不同的,1/2,1/3,1/100,现在如果是你,你会怎么取这一批数据?,数据有好有坏

● 给我看一个数据集(200*2),然后现场搜api,来做一个分类。我快速的口述了一下ml的流程,数据分析,数据清洗,选用模型,评价标准。

然后选用了LR,搜api一半,面试官说ok,看来流程是ok,不用写了。然后面试官引导我,这个数据集比较简单是不是可以用__比较简单,我扯了半天愣是没说到他想听的knn。

● 情景题:预判某所大学的某个专业,在某个省份下一年的分数线(从特征选择到模型的选择,以及为什么用这个模型,为什么不用其他某个模型)

● 天池大数据骗保现象的原因,数据比例分布,数据不平衡怎么做,SMOTE采样怎么做的,SMOTE原理,采样完的比例分布,用的算法(RF、xgboost)

● 从头至尾介绍垃圾邮件识别的过程,从数据获取至生成报告,重点考察思考问题的广度,数据不平衡时怎么办(如数据量很大时怎么处理,数据量小时怎么处理,如何将文本数据转化为特征向量,用什么方法,对于邮件的标题及正文是否进行相同的处理,权重是否相同,如何找到关键特征等),数据特征维度远高于数据量时,从样本采样、向量维度降维、分类算法的重新选择三方面改进,尽量多考虑系统性设计的思想

● 设计一个系统:可以写出春联,必须满足他的要求,平仄音节都要对上,我直接BERT+CRF+GPT一顿乱写。

● 有一系列人的属性相关数据,要探索他们的健康状况(0,1问题),可以用DNN做吗,和普通的学习方法如GBDT比有什么区别么(我从特征相关,特征组合的角度回答的)

● 100亿数据,100个节点,如何实现并行聚类?

● 4g内存,10g的文件数据进行排序输出到新的文件中。

● 给定10G的文件,只有2G的内存,如何将文件放到内存中

● 给很多文件排序,内存不够用,但磁盘容量充足怎么办?

● 一个文件有9998个数,对应[1-10000]的范围,少了两个数。内存1k,怎么查找?

● 开放性问题:

● 没有任何用户行为的用户如何做推荐?

● 大量用户行为的用户如何做推荐?

● 思考题:排序曝光的数据直接拿回来做召回训练可以吗?

● 抖音这类app怎么做推荐系统?分类问题还是回归问题?当作回归问题的话会不会有什么问题?(提了一下youtube模型,它是对观看时长进行建模)

● 给你一个海量图片数据集和同一个人的多张照片,如何快速从中找到这个人的其他照片?

● 海量数据中给定query搜索出N个答案

● 业务题:给一个txt文件,里边每行是一个img_id 和 img_type,处理该txt文件得到另外一个txt文件,每行为一个img_id 和另一个img_id和他们对应的img_type

● 两个很大的表,一个是[用户,搜索词],一个是[搜索词,词分类],如何知道每个用户的词分类

没答出来,在面试官的提示下想到了思路,但是没来得及说,把第一个表转置,变成[搜索词,用户],然后按照搜索词将两个大文件分成许多小文件,map reduce,分布式计算

● 凤巢算法开放题: 广告系统设计,图对广告的点击率是印象很大的,因此如果从知识图谱的角度考虑这个问题

● 图像中水印如何识别?

● 场景题:一个系统,当一个id登陆和退出的时候的时间都是记录的,如何统计当天每个时段的人数

● 开放问题:如何设计电影垂直搜索系统(数据与搜索两个角度答)

● 开放问题:如何设计一套搜索引擎(我主要回答了查询理解部分)

● 场景题:给一个文件,里面存储着一个类别ID以及该类别的父类别ID,要求写函数处理文件,并能够根据查询的类别ID输出其所有子类别的ID,个人理解是把文件构造成多叉树,根据输入的节点输出其所有子节点

7.2 产品方面

● 百度账号有男女之分,设有唯一标识ID(数字形式,0-2亿之间),数据量有1亿条。要求输入数字,输出是男?还是女?

● 场景:如何判断一个短视频中的内容有没有出现在另一个较长的视频中。

● 场景题: 一些人可能在视频网站的弹幕上发一些不好的话,如何找出这些话,如何设计评价标准。

● 场景题:更换路灯灯泡,假设以前的路灯更换是人,如何获得任何数据

● 怎么给用户推荐内容(可以利用浏览历史等等)

● 如何从百度页面抽取出娱乐明星的代表作,讲下你的思路、方案、实现流程?

● 最后是一个场景设计题,如何开发一个时间管理的程序?分析主要的功能,需要解决用户的哪些痛点?

答:我主要从任务管理的角度回答,包括按时间段设置任务,每日完成情况分析,好友监督等。然后强扯了一下推荐,比如把其他人的一些好的时间管理经验推送给用户(针对设定的任务以及用户的匹配程度)

7.3 开放性问题

● 一个东西上线了跟线下实验不一样咋整。

● 高考满分750,有100w个考生的成绩,求第一百名的成绩(要求最优)。

● 如何检测藏头诗?机器学习可以吗?神经网络呢?为什么可以?如果是不是诗句,普通的文本如何检测是否有人为的编码信息?有什么思路?(情景题是考验思路,一定要灵活,不对也没关系,找到问题的几个关键点,先弱化其中几个关键点,再提出思路,一步一步解决)

● 搜苹果的时候要投放苹果手机的广告,怎么弄?

● 苹果可以是苹果手机,也可以是水果,怎么区别?

● 给一个广告素材(里面可能有图片视频文本),如何生成一个标题?

● 给你三个场景,你分别会怎么做,最讨厌哪个,最喜欢哪个:1、这周五布置的任务,下周五交,但是任务量巨大,时间很紧;2、同样这周五布置,下周五交,但是任务方向流程leader都没有跟你交代清楚;3、周围的同事比你优秀。

● 开放题:如何推广飞桨

本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。

发表评论

This site is protected by wp-copyrightpro.com