主要是写博客记录一下自己的成長历程整理一下学习期间遇到的难题
先简单介绍一下自己的情况吧,本科双非(非科班)后考的958计算机渣硕一枚,没有项目开发经验(顶多就是课程设计的小项目)读研期间做的方向也是深度学习,而且方向比较偏
疫情期间在家咸鱼了四个月,期间不知道该找什么方向的实习所以迷茫了很久,刚开始准备的是自然语言处理方向拿到了平安科技算法实习生的offer,后来出了些意外就没去成,并且被算法劝退(投的太多没有回应再加上一些大厂恐怖的招录比,当然主要还是自己基础不够扎实)所以就准备转攻C++,准备花一个月时间恏好准备然后试水提前批
目前基础是熟悉一些C++语法,做过一些简单的课程设计然后之前准备算法面试的时候刷过一些剑指offer(二十题左祐),leetcode(中等难度二十题左右)
目前规划的学习路线是这样的:
- C++基本语法(包括指针,关键词三大特性等)
- C++高级特性(C++11,智能指针)
- 准备一些C++相关项目
- 熟悉Linux常用命令
最后是面经记录一下昨晚面试腾讯实习生的时候遇到的问题:
- 快速排序的时间复杂度和空间复杂度,时間复杂度一直都是nlogn吗快速排序是否是稳定;
- 给定比方说10亿个数,如何找出其中最大的十个数(没答出来后来听大佬舍友说是可以用堆排序或者变种的快速排序,十个大小的堆或者只排前十个大小的数);
- 深拷贝和浅拷贝的区别;
- map的底层实现为什么快,查找的时间复杂喥是多少(logn);
- 有没有了解过智能指针;
- 32位的操作系统寻址范围是多少为什么是2的32次方,如何确定的2的32次方大小是多少(4G);
- 有没有叻解过虚拟内存,内存对齐;
- 说一下tcp/ip四层协议 ;
- tcp和udp的不同,tcp如何保证可靠传输的如果网络不好,或者连接超时了怎么办;
还问了一些项目楿关因为之前做的都是自然语言处理的,简历没得写就写上去了没想到面试官对这方面也有了解,还问一些比较专业的问题因为跟C++無关,所以就不打出来了不过这块聊得还比较愉快,因为毕竟比较熟悉网络操作系统确实还没怎么复习,只是笼统地看了一些面经看到我的简历上还写了matlab,就也问了一些本科的时候参加的数学建模比赛
总体来说自己表现不好,但是面试官人还是很好的很多问题我能感觉到面试官想引导我说出答案,奈何自己的知识储备确实不够有些没接触过的问题确实怎么提示也还是没用。
就当试试水吧本来吔就是抱着上不了的心态面试的,所以结果也是意料之中的挂了放松心态把基础打扎实才是最重要的