24届_彭靖
按照我视频说的要求来填充你们的技能,之后我来给你们安排学习,下面的回答目的就是看你掌握的如何,你可以这样回答
1、如果还没学,那么不需要回答,就空着
2、如果你学过,那么可以回答:学过忘了,掌握的不错(对于掌握的还不错的,我会选时间对你发起面试)
目的只有一个,就是看你们的大致水平,所以你们也不一定要严格按照我说的回答,但是尽量不要写太长。
技术栈测试(C++版)
1、C 语言看的哪个资料?:
C大学教程(C How to Program,Fifth Edition)(上册)
* 指针懂吗?知道什么是地址吗?
指针是内存中的地址 地址是变量在内存(虚拟/实际)中的位置
* 懂内存分配吗?
知道动态分配(有外部碎片)和固定分配(有内部碎片)
* 结构体是否学过?
学过
2、C++看的哪个资料?
C大学教程(C How to Program,Fifth Edition)(下册)
以及零零散散的百度搜索
* 继承,重写,多态懂吗?
继承是让子类在拥有父类所有成员
重写是让子类拥有不同功能的父类同名函数
多态是重写和重载(让同名函数能根据它接收的不同的参数实现不同功能)
* STL这些容器学过了不?大致底层实现懂不?
刷题过程中常用的vector map set都用过一点 vector不知道应该是链表 map set是红黑树
* 智能指针了解吗?
知道有四种,最重要的是share_ptr
3、数据结构与算法看的哪个资料:
卡尔的代码随想录
* 链表,栈,队列,二叉树能自己手写吗:
都没写过,链表和树应该可以试试,栈和队列不太懂
* 堆,AVL树,红黑树学过吗:
完全没有
* 冒泡,快速,归并排序能手写吗:
能 然后堆排序也可以 这些写过好几遍自己的版本
* 递归,二分,贪心,回溯,动规这几种算法学过哪几种:
都没系统学过,动规看了几遍卡尔(但没敲过 做大厂笔试题的时候碰到也还好能做出来)
* LeetCode 大概刷了多少题:
比较少30左右,上周开始刷力扣每日一题坚持了10天,三四月大量笔试期间实在没力气刷了,牛客上也刷过十几道,主要前面根本刷不明白特别难懂,就重点看卡尔的算法资料去了
4、计算机网络与操作系统看过哪些书籍:
只看过考研辅导资料(王道408)和小林coding
* HTTP、TCP、IP、ICMP、UDP、DNS、ARP这些协议了解过吗:
HTTP是超文本传输协议 应用层
TCP是传输控制协议 传输层 可靠传输
IP是网络协议 网络层
ICMP是网络控制信息协议 网络层 作用是报告异常信息 重定位之类的
UDP全称忘了 传输层 不可靠传输
DNS是忘了哪个层。。作用是URL/域名转IP地址
ARP是地址路由协议 应该是网络接口层 作用是IP地址转MAC地址
* HTTPS安全相关的:数字签名、数字证书、TLS了解过吗?
数字签名不太懂,数字证书的话知道保存在用户计算机里的是CA的根证书,HTTPS的TLS过程中需要核对以确定网站身份的 TLS知道是核对彼此身份的一个过程 证书不对就会提示用户
* 进程线程通信机制了解吗?
只知道概念,可以列举的出来管道、共享内存、socket这些(但是面试官一听就知道我是背的)
* 内存管理了解吗?比如置换算法啥的:
只了解一点点,背过一点小林现在也忘了,比如说最近最久未使用(LRU)
5、网络编程了解吗?看过哪些资料?
完全不懂。。下面的这两个也不懂
* IO模型懂吗,阻塞非阻塞,同步异步这些概念懂吗?:
- IO 复用机制:epoll、select、poll懂吗?:
6、MySQL与Redis看过哪些资料?:
只看过小林coding,完全没学过
* sql 熟练吗:
* 索引底层原理懂吗:
* 锁和事务了解吗?幻读了解吗?
* redis主从,集群了解过吗?
7、C++/Linux项目做过哪些?:
C++对着书敲过一个调库做的小游戏,然后网上看过一个跳表实现的存储引擎。其他没了
8、其他你们自己补充:
本科非科班,信息极度贫瘠,硕士期间对我的帮助也只有学了一点点python和知道了linux是什么。。
学习规划(2023.6.1)
你现在的话,其实很多接触过,就是可能部分不大深入,加上你每天时间不是很多,所以接下来,我们就按照重要程度来进行准备,主要还是从三个方面:项目 + 算法 + 八股文 来准备,争取秋招拿个中大厂 offer,下面是具体安排。
但是呢,C++ 这个方向,东西都偏底层,可能需要大家耐的住寂寞哦,另外就是 C++ 的相关资料很少,不像 Java 一大堆,加上你时间比较多,后面部分内容是需要看书的哦。
1、项目:你项目太软肋了,说实话,跳表这种,面试官估计也不知道问啥好,所以我们需要快速突击一个项目,直接看牛客网这个web服务器就行:Linux高并发服务器开发,一个有 5 个章节,你如果前面的那些学过,可以从第五章开始做,前面 4 章是讲解基础知识,可以选择性看,不懂的则可以看一下,比如 epoll,select这些,问的很多。
项目复习:你项目只管做,这个项目的复习+如何写简历+可能问哪些问题(附带答案),这些我最近都会给你整理好。
2、算法:算法我觉得还是要刷一些可以衡量的,这样才能知道自己的 情况,你直接把 算法高频题库 刷了就行,里面有很多和代码随想录是重复的,我感觉每天坚持刷一两道呗。。
3、八股文:你 redis 可以先不学,对于八股文,有些知识没学过不会没事,但是学过的,一定要进来掌握的好,所以 redis 我们先放一下,你mysql需要补一下,mysql问的非常多,可以刷一下MySQL原理剖析课程说明,我打?的那些。
然后 网络的话,看了小林的是足够的,其他 C++ 相关的,其实我还在整理,尽量争取未来十几天整理出来。你八股文mysql+操作系统+计算机网络,可以看我这个复习:八股文高频题库(必看必看),Java相关不理哈。
然后呢,这里也有全方位的八股文分析(C++还在整理),你可以看通用知识部分哈,用来查漏补缺的: 八股文各大考点分析,下个月之前,争取整理出C++专属的,现在已经在整理了。
主要就是上面这几个,你先学,后面动态给你安排之类的。
学习顺序:三着可以同步学,不过先优先完成 1,然后 2 可以每周刷个十来道之类的,3的话先学 mysql,之后按照八股文题库复习,C++部分我会过阵子整理好给你。
其实C++资料也有,就是都是视频,我觉得你时间有点急,就不看了,直接基于面经看文字版本会好点。
先给你安排这么多,然后记得来每周打卡学习进度哈,也可以星球每天打卡哦,我会看的,比如像他们这样:23与22届做的比较好的成员示例,你也可以每天打卡或者星球打卡吧,我会看的
有什么问题记得随时私聊帅地
每周学习进度
6.1~6.6
- 项目:看到”5.6 项目整体流程代码实现”, 代码跟着敲。打勾的部分已经跟着敲完。目前跟敲过程中仍有许多函数不知道为什么这样用,比如信号、条件变量、I/O复用等,要再看一看前面。

- 算法:高频题库已完成6道题

- 八股文:MySQL原理剖析课程看了两节,但第二节的bin log 和redo log还是有些还是不懂。

6.7~6.13
- 项目:看到”5.7 8 解析请求完成及生成响应信息”, 代码跟着敲了 大部分(后面基本上视频里的老师也没有跟着敲了,所以也先只看讲解)。现在只剩下服务器代码debug和压力测试,现在的bug是GET请求显示不出网页,正在debug,不过现在代码量可能有600多行了比较麻烦,实在不行就逐行对照,可能哪里写错了;要是还debug不出来就直接使用那个老师的代码了。
-
八股文:这周没有看,要赶紧把项目做完
每周学习进度
6.14~6.19
- 项目:跟着视频全部完成,其中视频中老师省略的部分也省略了(写相应头、定时检测非活跃链接之类的)。复习地哥的文档中。
- 算法:二叉树章节完成。

- 八股文: mysql遇到了比较大的困难,目前已看过一遍的章节如下(但基本全是一知半解):

然后操作系统这些都还没有看。
6.20~6.26
-
项目:地哥文档大概过了一遍,还没有全部吃透,离可以在面试中回答还有一部分距离。其中日志系统、命名管道是原项目里没有的,理解起来比较困难。
-
八股文: mysql带星的全部已经过了一遍(除去34、35、38、39),现在开始二刷,对于日志的binlog、redo log、事务开始有了一点感觉。计算机网络和操作系统都分别看了几道题:


6.26
-
算法:
五、双指针:
11.盛最多水的容器 中等15.三数之和 中等 287.寻找重复数 中等六、栈与队列
20.有效的括号 容易155.最小栈 容易 225.用队列实现栈 容易 232.用栈实现队列 容易 239.滑动窗口最大值 困难 - 八股文:
9.普通索引和唯一索引,应该怎么选择??????(二刷。看了一半)
6.27
- 八股文:
- mysql:
- 9.普通索引和唯一索引,应该怎么选择??????(后半部分没看懂,可能实验室毕业季环境太吵了。)
- 38.都说InnoDB好,那还要不要使用Memory引擎????
- 39.自增主键为什么不是连续的????
- C++:
- ⼀⽂搞定sizeof-★★★★☆
- 为什么基类析构函数需要是虚函数?-★★★☆☆
- 为什么构造函数不能是虚函数?-★★★☆☆
- 类的访问权限-★★☆☆☆
- 动态多态底层原理-虚函数机制-★★★★☆
6.28
- 八股文:
- C++面试题
- C/C++内存分区-★★★★☆
- 指针和引⽤的区别-★★★☆☆
- C++面试题
6.29
- 项目:
复习了文档。本项目用的是Proactor模式。
6.30
- 算法:
- 七、记忆化搜索
- 剑指 Offer 10- I. 斐波那契数列 容易
- 70.爬楼梯 容易
- 剑指 Offer 10- II. 青蛙跳台阶问题 容易
- 八、动态规划
- 70.爬楼梯 容易
- 112.路径总和 容易
- 121.买卖股票的最佳时机 容易
- 七、记忆化搜索
7.1
- 八股文:
- 指针和空悬指针-★★★☆☆
- malloc-new-delete-free-★★★★☆
- RAII如何理解-★★★★☆
- 值传递和引⽤传递-★★★☆☆
7.2
- 算法
八、动态规划
5. 最长回文子串 中等
62. 不同路径 中等
64. 最小路径和 中等
113. 路径总和 II 中等
198. 打家劫舍 中等
221. 最大正方形 中等
322.零钱兑换 中等 - C++
看了类型萃取、智能指针、NULL和nullptr的区别;
纯虚函数、类对象初始化和析构顺序;
7.3
- 八股文:
- 操作系统:
看了死锁、预防、避免、解除死锁;用户态与内核态;程序生命的四个阶段。 - 计算机网络:
看了三次、四次握手的状态,看了HTTP和HTTPS。
- 操作系统:
7.4
- 八股文:
- mysql:
看了数据库flush,表空间回收、事务隔离、行级锁; - 项目:
复习了IO多路复用,select/poll,epoll,reactor/proactor模式。
- mysql:
7.5
今天面试TPlink联洲,笔试了TPlink
– 八股文:
– 操作系统:
复习了锁、进程线程区别。
7.6
八股文:
– C++:
– 复习了mutable,explicit, struct/class关键字,四种强制类型转换。
7.7
今天上午面试了TPLINK,笔试了oppo提前批,笔试的时候感觉对内外部碎片、linux命令这些还不太熟。
– 算法:
518.零钱兑换 II 中等
718.最长重复子数组 中等
1143.最长上升子序列 中等
42.接雨水 困难
72.编辑距离 困难
– 八股文:
操作系统:看了内存抖动、换出的进程与对换区。
7.8
- 算法:
455.分发饼干 简单
122.买卖股票的最佳时机 II 中等
435.无重叠区间 中等 - 八股文:
- 计算机网络:
复习TCP/UDP区别、PING和traceroute的原理、ICMP协议,TCP/UDP对应的一些应用层协议。 - 操作系统:
复习守护、僵尸、孤儿进程,进程状态转换、进程终止的方式。
- 计算机网络:
7.10
昨天休息了一天。
MYSQL查询语句刷了13题;
MYSQL复习了索引、B树和B+树、覆盖索引和最左前缀原则,红黑树与avl树的比较。
7.12
昨天只看了一点点mysql,算是偷懒了。
算法题贪心两道,回溯三道。
7.13
最近面试心态不太对,面试完之后整个人极度虚弱一整天啥都不想做。。也有可能睡眠啥的有点问题,总是因为玩手机把睡眠时间延后了。
算法题回溯三道,复习了虚拟内存、TCP累积重传。
7.14
状态回复了一点,或许不要再在宿舍学习会比较好。
复习了索引。
7.15
算法题四道,八股文今天看不进去没办法。。
7.16
算法题做了一道,又投了一些公司。
7.17
算法题做了三道容易的,弄了C++primerplus和网络自顶向下、深入理解操作系统三本书,每天多少看一点。
7.24
论文还是没能投出去,换了一个九月的会议,但也算是告一段落了。
恢复了每天的复习,算法题库一刷完毕(除去一些困难的没有刷),今天复习了八股文题库(索引、索引下推和覆盖索引、索引失效场景、B+树等等)
7.31
参加了4天图灵大会,时间上的损失还是不小的。难顶了。
二刷题库,今天3道。
8.1
二刷题库,链表的所有题都刷了,复习了C++面试题
8.2
二刷题库,二叉树所有
8.3
二刷题库,排序所有(除去最后一道困难)
8.4
题库排序三题,复习了C++的三篇美团面经
8.6
做了柠檬微趣的笔试,只做了两道且只有一道80分,还是感觉很难,第一道一上来就是回溯,难以接受
8.13
做了快手和美团的笔试,复习面经
8.24
二刷题库基本完成 做了基恩士+海康威视的笔试
8.25
早上起来看了《Linux高性能服务器编程》和《Unix网络编程》里关于io多路复用的部分,随后中午面试了诺瓦星云,有些题没答上来(死锁的条件漏了一个互斥,内联函数和普通函数的区别只说了一个性能和字符串替换,设计模式没答上来单例模式中的饿汉模式和懒汉模式);晚上复习了C++的STL容器,以及刷了题库的最后三道题—二刷完成;
8.26
早上继续看了《Linux高性能服务器编程》里关于socket api的内容,下午看了《STL源码剖析》里一些关于vector set map的内容,复习了一些《算法图解》里关于分治法、插入排序和动态规划背包问题的内容,晚上复习了一些mysql
8.27
早上继续复习了插入排序、归并排序,深究了一下稳定性问题,下午继续投递简历+复习一些c++面经,看了primer里C和C++的区别以及C++的诞生历程,晚上九点开始看了一些android和java方面的知识备用
8.31
今天下午继续复习面经,单例模式的C++实现想手写一个版本但找了很多个都感觉不合适,书里的又是C#版本的;复习了创建线程的方式,顺带复习了I/O模型,select poll等等
9.4
前面几天基本上都在做各种各样的笔试,以及做各种来自实验室的工作
依旧是复习面经,昨天复习了项目里的线程池,复习了二叉树三种遍历的栈写法,复习了单例模式的饿汉模式和线程安全懒汉模式,(面试可说线程池就是单例模式);今天复习了《源码剖析》的sort的源码,复习了操作系统内存管理,以及继续投递
10.8
写了一大段文字,然后不小心弄丢了,没办法了
总之最近真的好糟糕,0offer,科研也做不出来(虽然毕业可能基本是没问题了),现在处于一种半摆烂的状态,八股文也有半个月没看了,不知道还记得多少,也不知道该如何应对晚上建行的线下面试和明天的华为线下面试。
心态崩的太厉害了,不跑跑步听听歌已经完全活不下去了。
10.9
华为面试复盘:
ping协议,网络层通信,telnet不熟,算法题大数减法没做出来,接雨水不熟
12.4
面试不会:行级锁缺点,mysql分区,python 读取文件中所有文件,linux查找一个文本里的字符串命令
C++新项目看到了2.9,装了ubuntu子系统
毕业入职接续努力
7.2
今天做第一个电商项目,主要时间用在搭建SpringBoot开发环境上,尤其是Maven的依赖安装问题,搞了一整个白天才弄好,明天继续加油!
7.3
依旧是debug了一天,查了半天终于查出是xml的问题,接下来是装log4j2和AOP,接着就是模块开发,加上周末争取这周拿下这个项目,加油!同时在自己电脑上也配好环境,准备双线并行做第二个项目。
7.4-7.7
这三天主要是继续做项目,电商项目做到了开发第三个模块,由于公司电脑带不出来,于是7.7这天自己在个人电脑上继续配环境,开始做仿牛客网项目。不得不感叹学技术做项目就像在玩魂游,初遇时受尽折磨心急如焚,debug成功和报错消失的时候快感就会出现。
7.8
项目还剩最后两个模块,有点看不下去了先放一放,先搞一搞工作的事情


