一面
自我介绍+项目
C++基础
C++底层如何进行内存分配
C++是面向对象的编程,类中默认的拷贝构造函数是浅复制,存在什么问题?
浅复制,两个对象p1和p2指向同一资源,析构p1时,p2成为野指针
计算机网络
TCP和UDP区别
TCP协议建立的连接为什么可靠
进程与线程的区别
机器学习
介绍LR
编程题(阿里内部会议系统)
判断两个链表是否相交
从头遍历到尾,如果最后一个节点相同则两链表相交
打印
*
* *
* *
* *
* *
* *
*
反转链表
二面 (leader面)
自我介绍+项目
C++基础
C++中的封装、继承、多态
C++中虚函数
C++的动态内存分配
专业相关
介绍物联网
介绍最擅长的技术点
项目中遇到的问题如何解决
生活中遇到过的挫折
最大的优势
三面 (p9面)
自我介绍+项目
聊测开工作内容
四面 (交叉面)
自我介绍+项目
C++基础
C++中free和delete区别
C++中new申请的空间,是否可以用free释放
malloc/free、new/delete必须配对使用;
malloc/free为标准库函数,用于内部数据结构(如int,float)的动态内存分配
new/delete为运算符,可用于非内部数据结构(如类)的动态内存分配
new创建对象时自动调用构造函数,delete销毁对象时自动调用析构函数
机器学习
召回率、精确率、准确率
逻辑思维
1*2*3*...*99*100 结果的末尾一共几个零
1*2*3*...*(n-1)*n 结果的末尾一共几个零
5*偶数可以产生零,比如5,10(2*5),15(3*5),20(4*5),25(5*5),需要注意25(5*5),50(5*5*2),75(5*5*3),100(5*5*4)可以分成多个5,为结果贡献多个零。
全部评论
(2) 回帖