文远知行一面凉经

之后面试也在此更新

背景

985本硕,slam研究方向,无论文,达摩院自动驾驶实习

投递时间

20210815

一面 20210827

面试官准时到,总共面试时间一小时二十分钟,一面主要问基础知识

C++

  1. vector resize和reserve区别
  2. 返回值优化
  3. 缓存命中率
  4. map 和 unordered map区别,空间很多时间很紧,选择哪一个
  5. map里面[]和at有什么区别
    1. aMap是map类的对象,通过aMap[key]取值和通过aMap.at(key)取值的区别如下:

aMap[key]如果key不存在会添加key,不会抛出异常;

aMap.at(key)会检查key,如果不存在会抛出异常。

  1. 如果在vector中写一个第k小的元素,find_kth函数,该怎么构建?
    1. 和快排思路很像,快排是怎么实现的?
      1. 随机取一个值,然后左右指针遍历,比这个值大的放右边
    1. find_kth思路和快排很相似:
    2. 这种方法时间复杂度是多少?
      1. O(2n)

多视图题目

  1. 对级线和对级点是什么关系?对级约束具体的物理意义是什么?
  2. 如果相机是平移运动,那么对级线是什么样子?

视觉算法题

  1. 给出一个三角形的三个点的坐标,该三个点构建一个三角形,写一个函数,可以输出三角形内随机的一个点的位置。
解答:分解到两条边上random,然后两条边random系数之和小于1

代码题

给定一个矩形的左下角坐标点以及右上角坐标点,同时给出圆圆心的位置以及半径,判断有没有重叠区域。
bool Intersect(double x_bl, double y_bl, double x_tr, double y_tr, double xc, double yc, double r) {
    // 获得矩形描述
    double width = x_tr - x_bl;
    double height = y_tr - y_bl;
    double rect_mid_x = x_bl + width / 2;
    double rect_mid_y = y_bl + height / 2;

    // change circle center to First region

    double new_xc, new_yc;
    // 2 region
    if(xc > rect_mid_x && yc < rect_mid_y){
        new_xc = xc;
        new_yc = yc + (rect_mid_y - yc) * 2;
    } 
    else if (xc < rect_mid_x && yc < rect_mid_y){
        new_xc = xc + (rect_mid_x - xc) * 2;
        new_yc = yc + (rect_mid_y - yc) * 2;
    }
    else if (xc < rect_mid_x && yc > rect_mid_y) {
        new_xc = xc + (rect_mid_x - xc) * 2;
        new_yc = yc;
    }
    else {
        new_xc = xc;
        new_yc = yc;
    }
    
    // get distance;
    double u = GetNearestDistance(x_tr - rect_mid_x, y_tr - rect_mid_y,
                                  new_xc- rect_mid_x, new_yc - rect_mid_y);

    if(u < r)
        return true;
    
    return false;
    
}

double GetNearestDistance(double x, double y, double x_p, double y_p) {
    double dx = x_p - x;
    double dy = y_p - y;   

    double distance = sqrt(pow(max(dx, 0), 2) + pow(max(dy, 0)));
    return distance;
}
https://www.zhihu.com/question/24251545/answer/27184960



更新 20210905 问hr挂掉了
因为coding和c++不行
#面试复盘##面经##文远知行##校招##算法工程师#
全部评论
这文远知行的代码题咋这么喜欢考察几何方面的知识
1 回复 分享
发布于 2021-09-28 22:52
复杂度记得丢掉常数。
点赞 回复 分享
发布于 2021-09-17 00:29
算法题当时都ac了吗? 还是事后 ac 的
点赞 回复 分享
发布于 2021-09-11 12:35
请问楼主最近二面了吗?
点赞 回复 分享
发布于 2021-09-01 16:34

相关推荐

03-06 12:44
已编辑
门头沟学院 Java
是个千人厂,没听过名字。1.&nbsp;做一个自我介绍。2.&nbsp;你这个项目和技术栈从哪里学的?有报辅导班嘛[答&nbsp;都是是自己网上学的,学校教的东西没用]3.&nbsp;我看了你放在github上的项目,前端也是你写的嘛[答&nbsp;AI写的,90%精力用于后端开发,前端单纯用于作为后端逻辑的可视化技术验证(骗你的其实后端也是AI写的)]4.&nbsp;好,你觉得这些技术栈研究得最深刻的是哪个[答&nbsp;八股压根没背到后面,昨晚背了MySQL就说MySQL]5.&nbsp;那讲一下MySQL的索引[答&nbsp;从B+树选型一路吟唱到联合索引,索引失效]6.&nbsp;联合索引ABC问题,AB走索引嘛,BC走索引嘛?BAC走索引嘛?A&nbsp;or&nbsp;B&nbsp;走索引嘛[走,不走,走,不走。面试官点头说可以]7.&nbsp;讲一下项目里Redission分布式锁实现8.&nbsp;Watchdog机制具体是怎么工作9.&nbsp;消息队列有考虑过Kafka嘛,怎么选型的10.&nbsp;你这个项目消息队列可能出现什么问题,怎么解决这个问题?[瞎扯没用的,被面试官引导答了视频处理可能产生消息堆积问题,然后开始吟唱]11.&nbsp;文件分片自己写的还是用的什么框架?上传进度的Redis数据结构?上传的视频有多大?小分片大小?12.&nbsp;项目里Redis会话记忆是啥意思?[面试官说不行,没人把这个全放Redis里[生气R]]13.&nbsp;那这和直接查数据库有什么区别[扯了Token成本和解决幻觉问题之类的,给面试官听笑了,我最后也没绷住]14.&nbsp;你平时是怎么使用AI&nbsp;coding的15.&nbsp;算法,给了我一个leedcode链接,一看做过了。然后换了一道三数之和,也做过了。然后面试官说算了,让我讲讲思路吧反问:1.有什么需要提高的地方2.介绍一下部门业务有哪些这个面试官真的感官非常非常好,问问题还疯狂引导,感觉不会也会了。找实习&nbsp;&nbsp;牛客AI配图神器#
查看15道真题和解析
点赞 评论 收藏
分享
评论
9
68
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务