文远知行-自动驾驶测试开发

一面:

自我介绍
两段实习项目仔细提问
基础:
1.列举10个git指令
git add .
git commit " "
git push
git pull
git log
git status
git merge
git checkout
git clone
git revert

2.cp跟scp的区别
服务器内部复制,服务器之间的复制
3.搜索/home 目录下大于100M的文件
find ~ -size +100M

4.看当前目前目录下指定文件的日期

5.如何查看实时端口的连接
netstatus
6.给定 matrix = [
[1,2,3],
[4,5,6],
[7,8,9]]
原地旋转输入矩阵,使其变为:[
[7,4,1],
[8,5,2],
[9,6,3]]


vector<vector>int reverseMatrix(vector<vector>int nums){
vector<vector<int>>res;
int n = nums.size();
for(int i = 0 ; i < n;i++){
for(int j = 0; j < n;j++){
res[j][n-i-1] = nums[i][j];
}
}
return res;
}

二面:

项目提问
编程:
//给定一个已经排序的数组,给定目标值,希望找到是否存在对应数,如果找到其返回位置,没有返回-1;
int searchNum(vector<int>nums,int target){
int left = 0, right = nums.size();
while(left < right){
int mid = (left + right)/2;
if(nums[mid] > target){
right = mid;
}else if(nums[mid] < target){
left = mid + 1;
}else{
return mid;
}
}
return -1;
}

三面:

科研项目和实习项目提问
给一个场景测试用例设计
编程:
// 有重复元素的整数数组,做排序和去重
[7 1 2 2 3 4 5 6]


vector<int>sortSet(vector<int>nums){
set<int>s;
for(auto n : nums){
s.insert(n);
}
nums.clear();
for(auto it:s){
nums.push_back(it);
}
quick_sort(nums, 0, nums.size()-1);
return nums;
}


void quick_sort(vector<int>&arr, int l, int r){
if(l < r){
int m = partition(arr,l,r);
quick_sort(arr,l,m-1);
quick_sort(arr,m+1,r);
}
}


int partition(vector<int>&arr, int l, int r){
int tag = arr[l];
while(l < r){
while(l < r && arr[r] >= tag){
r--;
}
if(l < r){
arr[l] = arr[r];
}

while(l < r && arr[l] <= tag){
l++;
}
if(l < r){
arr[r] = arr[l];
}
}
arr[l] = tag;
return l;
}

四面:

1.自我介绍
2.项目提问,实习的哪个项目比较有收获,仔细说
3.是否了解cpu,gpu,如何衡量cpu,gpu
4. 多核,进程,线程的区别
5. 实习的压测是怎么做的
代码:
已知圆的定义是圆上一点到圆心的距离是半径r。
圆的周长

d=2∗π∗r

圆的面积

s=π∗r^2

请设计实验计算出圆周率的数值。

double caculatePi(){
    int n1 = 0;//
  int n2 = 0;
  double pi;
  for(int i = 0; i < 100; i++){//d = 50  圆心(50,50)
      for(int j = 0; j < 100; j++){
        n1++;
      if(pow((i-50),2) + pow((j-50),2) <= 50*50){
              n2++;
      }       
     }
   }
   
   pi = 4*(n2/n1);
   return pi;
}


#文远知行##测试开发#
全部评论
笔试之后,被转岗位了,然后就gg了。
2 回复 分享
发布于 2022-08-10 14:38
uu啥时候做的笔试呀
点赞 回复 分享
发布于 2022-08-06 22:04
怎么第一个题跟我一样
点赞 回复 分享
发布于 2022-08-08 09:53
楼主笔试什么题目呀,都是编程题么
点赞 回复 分享
发布于 2022-08-11 20:12
那个所得哇?
点赞 回复 分享
发布于 2022-08-14 21:03
这个要提前去实习吗
点赞 回复 分享
发布于 2022-08-19 12:21 广东
楼主拿到offer了吗
点赞 回复 分享
发布于 2022-08-26 01:51 湖北
拿到offer
点赞 回复 分享
发布于 2023-09-23 13:35 四川
算法测试开发吗
点赞 回复 分享
发布于 2024-03-15 17:06 广东

相关推荐

new和malloc的区别?c++里new了数组怎么释放?32位系统的指针变量占多大字节?int*呢?空类呢?c++多态?为什么需要虚析构?虚析构实现原理?c++可以不写构造函数吗?编译器默认除了构造还会有什么?深拷贝和浅拷贝区别?智能指针哪个c++版本引入的,作用?用过哪些容器?项目里用了哪些容器?为什么用qlist?qmap什么是key?模板的好处?什么时候会用?设计模式了解哪些?自己写过吗?单例模式怎么写?单例要返回非静态指针类型怎么弄?队列和栈的区别?osi七层以及相应协议?网络层的协议?应用层?一些项目问题...网络加密算法知道哪些?tcp的三次握手四次挥手回收写过吗?写服务器基本模...
AI牛可乐:哇,你分享了好多面试经验呢,听起来你准备得很充分呢!👍 关于你提到的技术问题,我来帮你解答一下吧: 1. `new` 和 `malloc` 的区别?`new` 会自动调用构造函数,而 `malloc` 只负责分配内存。`new` 数组释放时用 `delete[]`,比如 `delete[] myArray;`。 2. 在32位系统中,指针变量通常占4个字节,`int*` 也是如此。 3. 空类的实例通常占1个字节,但具体实现可能不同。 4. C++多态允许我们通过基类指针或引用来调用派生类的函数。需要虚析构是因为基类指针可能指向派生类对象,不使用虚析构可能导致派生类析构函数不被调用。 5. 如果不写构造函数,编译器会提供一个默认构造函数。默认构造函数会进行成员变量的默认初始化。 6. 深拷贝和浅拷贝的区别在于,深拷贝会复制对象的所有字段,包括指向的内存内容;浅拷贝只复制对象的字段值,不复制指向的内存内容。 7. 智能指针是在C++11版本引入的,用于自动管理内存,防止内存泄漏。 8. 常用的容器有 `vector`、`list`、`map` 等。具体使用哪个容器取决于项目需求。 关于你问的其他问题,我简单回答一下: - `QList` 通常用于需要频繁插入和删除的场景。 - `QMap` 的 `key` 是映射表中的键值。 - 模板的好处是提高代码复用性,减少代码冗余。 - 设计模式有很多种,比如单例模式、工厂模式等。单例模式可以通过静态成员函数实现。 现在,悄悄告诉你一个小秘密,点击我的头像,我们可以私信聊天哦~🎉 那么,你平时在项目中都用过哪些容器呢?有没有什么特别的经验或者技巧可以分享的呢?😊
点赞 评论 收藏
分享
评论
7
75
分享

创作者周榜

更多
牛客网
牛客企业服务