面试问题
1.说一下你的职业规划?
首先第一年,我觉得实践是检验真理的唯一标准。虽然,我们在学校里学习了很多东西,很多方法。但是,在实际的运用在肯定是存在一定偏差的,我的短期目标是能够快速的融入到面试的岗位上来,跳出学校舒适圈,从而能够胜任这份工作。
第二第三年:在完成工作的基础上,丰富自己的知识,争取在本领域能有所突破。
第四、五年:有了前些年的沉淀,希望可以更上一层楼,重新规划一下自己的目标,确定下一阶段的目标。
2.说一下你的项目?
我们的项目的全称为:深海的生物数字化原位观测系统。是搭载在深海潜水器的视觉测量工具。主要是为了获取水下生物和地貌的三维信息而设计的。
- 是基于线激光的双目立体成像系统。工作流程大约是:线激光扫描物体表面的同时,左右相机同时拍摄物体,通过左右图像的对应像点求出物体的实际三维信息。
- 项目的难点是在于:
- 水下相机成像光线不是直线传播,而是经过了多层折射,导致相机的透视投影和极线约束都失效了。
针对上述问题,我们提出了基于光场的多层平面折射模型。将光线转化为光场来表示,完美的展示了水下光线的折射传播过程,从而根据水下光线共面的特性来求取水下像点的三维信息。
- 最后,通过点云拼接技术,得到完整的整幅图像的点云图。
3.你在项目中主要做了哪些工作?
针对一代基于线激光的系统我的工作主要是:硬件调试和软件维护工作。多次,前往青岛国家深海基地,进行我们样机的水池实验,打压实验和蛟龙号联调实验。同时,也针对系统的软件进行了一定的优化和改进。(ROI区域 / 上下位机的通讯,修复了卡顿问题)
我主要的工作是针对二代系统来做的,一代系统是基于线激光的水下三维重建,高精度,但是最终是通过点云拼接来完成整幅图像的重建,但是速度很慢。
所以我们进一步,提出了利用面激光来进行水下三维重建的工作。虽然,损失了部分精度,但是速度明显加快,我们的目标是做到实时显示。
- 我的工作主要如下:
- 1.编写相机模块的C++代码,将大恒相机的库文件整合成一个类,支持各种功能。
- 2.使用Matlab对二代系统原理的仿真,及C++代码实现。同时在仪器仪表学报发表了一篇水下图像校正的论文。
- 3.整合整个水下系统,包含了相机模块,计算模块,传输模块等。三台TX2电脑,上下位机功能和软件的实现。
4.说一下你的实习项目?
- 实习项目都是在树莓派上的C++集成开发,都是利用视觉测量技术实现动态测量。
- 我就说说我近期做的一次性棉签采集器的项目吧。
- 项目的需求是:能够检测出试管中液体的高度和棉签的位姿。从而它控制的云台能够正确的下针将待测液体吸走。
考虑成本和功能实现问题,我们就用到了树莓派4B和它自带的modle v2相机。
- 首先利用OTSU前景后景图像分割,分离出前景和后景。然后再分割出来的图像上进行操作。
8/6.上海农商行
1.形式(群面)
- 每个人开始自我介绍。然后面试官提问。
2.结果(gg)
- 说话的逻辑太差了,让人感觉很难受!
- 说话没有主次,目的性,项目介绍也没没头没尾。
- 没有学历就拼能力。可是你什么都没有!!(人家南理、东南、中科所)
8/8三一重工
1.形式(技术面一面)
- 开始自我介绍。然后问了一些问题
2.结果(还可)
- 问的不是很多,很深,让我感觉有点飘了!!!你还是很菜的!!!
8/8猿辅导
1.形式(技术面一面)
- 开始自我介绍。然后面试官说不想听了,直接进入技术环节。
- 两道编程题目
- 1.无序链表排成有序。 时间复杂度O(n * logn)
- 2.两个有序数组,第K大的数。时间复杂度O(log(x+y))
2.结果(gg)
- 算法编程能力太差了,一道题目都没做出来。一般面试做的都是树、链表的题目。
8/9诺瓦科技
1.形式(技术面一面)
- 开始自我介绍。然后面进入技术提问环节。
- 问题?
1.vector容器头部插入数据的具体过程?
- vector<int>temp;//在元素前 - temp.insert(temp.begin(),Value); - temp.insert(temp.begin(),Value);
1 | //在迭代器前插入元素 |
2.初始化成员列表,哪些必须用它?
- const成员变量 / reference成员变量
- 子类初始化父类私有成员
3.多线程加锁的危害?
- 四种具体情况举例说明,到底是什么情况?
4.UDP不可靠,怎么让他能够可靠起来?
5.四种共享指针?独占型指针可以给其他变量赋值吗?
6.客户端和服务器连接时,端口有什么特殊要求吗?
7.脏读、可重读、幻读到底是怎么引起的?
2.结果(gg)
- 底层概念还是不清楚。
8/11京东一面
1.形式(技术面一面)
- 直接进入技术提问环节。
- 不会的问题,答的不好的问题?
- 1.volatile关键字
- 2.一个空类大小多少,类中static变量占类中空间大小
- 3.brk()和sbrk()函数,堆上资源往上拓展
- 4.如何判断内存泄漏。防止内存泄漏
- 5.多线程:一个读,一个写如何防止事件之间发生错误
- 线程这块需要好好看看
- 6.一个类中默认包含的构造函数、析构函数还有哪些
- 7.一个对象new出来,具体的整个类中过程
2.结果(gg)
- 多线程那一块需要好好看看。
8/20拼多多二面
1.形式(技术面二面)
- 直接进入技术提问环节。
- 不会的问题,答的不好的问题?
- 1.队列实现栈
- 2.实现最小栈
- 3.四次握手具体FIN_WAIT、CLOSE_WAIT、TIME_WAIT在什么时间段
- 7.算法题:时间段包含问题,源(2.8,9.8),目标(1,2)(3,7.5)(8,9)(10.11),能否包含源目标段。
2.结果(gg)
- 撕代码彩笔
8/21字节跳动一面
1.形式(技术面一面)
直接进入技术提问环节。
不会的问题,答的不好的问题?
- 1.static函数和一般函数的具体区别
- 2.shared_ptr共享指针具体使用方法,weak弱指针的具体具体实现方式
- 3.new一个对象的具体实现过程
- 4.new / malloc的具体区别
- 5.char a[5] = {0x01,0x02,0x03,0x04,0x05}
- int * p = (int * )a;
- cout<< * p;
- 7.算法题:
- 1.反转链表
- 1.反转链表,相邻元素
2.结果(gg)
- 基础不行