赞
踩
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
“我听说有些人高中就打 OI 了,你大学入学时什么水平?”“C语言能写hello world 吧”
“那你从什么时候开始学编程的?”“初四”
“讲讲你大学前是学编程的经历吧”太羞耻了,这里放我以前写的回忆录吧
“你在纸上编程时代写过最长的代码有多长?”“纸上写代码页写不了多长,大概也就贪吃蛇的程度吧”
然后是计算机基础:
计网:
“我看你写了个 TCP 原型,那我们来聊聊 TCP 吧”
TCP 四次握手
TIME_WAIT 2MSL
拥塞控制
TCP 有哪几种关闭的情况。 项目里实现过,但当时没答上来。分两种:1)普通的正常关闭 2)收到 RST 后非正常关闭,因为 TCP 本身作为可靠协议理应把数据都发完再关闭,非正常关闭的话则会把发送缓冲区的数据都给扬了直接强退。
TCP 里的 RTT 和 RTO 怎么测量的?当时没答出来,下来搜索后发现有专门的算法的。
有看过 Linux 内核怎么实现 TCP 的吗?啊这,无。
有看过 TCP 的 RFC 文档吗?啊这,无。
socket 编程:
说说 SELECT POLL EPOLL 的区别
操作系统:
“我这个内核是怎么做的?”“它本身是别人做的教学用操作系统,我在之上加了点功能。就,懂得都懂。”
那你讲讲 Linux 里 page fault 是怎么实现的?(恰好我也实现过这方面的功能,所以基本接住了接下来的几个问题)
子问题 1:Linux 下中断的触发流程
子问题 2:Linux 怎么确定是谁出发的 page fault
子问题 3:page fault 判断线程没有访问内存的权限会发生啥 (查线程的 vmspace 发现这段内存没有被分配的话会触发 segment fault)
子问题 4:page fault 分配物理内存失败时会触发啥错误?(犹犹豫豫的说应该是内存不足之类的错误码吧)
算法题:
给你几个数组,每个数组抽一个数,把所有组合情况列一下。 赤裸裸的 DFS, 秒了
反问:
对应届生有什么建议:keep learn,多读代码,多读论文,保持编程的热情,保持新知识的输入
面完当晚收到下一轮预约,约了 18 号的
二面
–
聊实习经历, 10 min
实习用的一致性哈希,这个一致性怎么理解?
聊项目, 10 min
你这个 TCP 里重排序用的什么数据结构?
有没有了解过 Linux 内核里用的啥结构?
讲讲你这个里面时怎么实现的流量控制?
socket 编程
聊聊 epoll 的 ET LT
算法题:
写个单生产者单消费者的 ring buffer
反问:
您作为面试官比较关注候选人哪些方面的能力? 编程的热情、扎实的计算机基础知识,就网络、OS,然后有一定的算法基本功
面完当晚收了预约,约了 22 号的
三面
–
C 语言
static 关键字
voiltile 关键字
预处理指令 if define 作用
gdb 调试
查看指针地址和值都用啥指令?
查看调用栈用啥指令?
怎么打断点?
还有些记不清了
(这一块的经验主要是在写 os 内核时积累的,基本问的都打出来了。总之就是些常用操作,可以参考
http://csapp.cs.cmu.edu/3e/docs/gdbnotes-x86-64.txt)
操作系统
讲讲你的内核里怎么实现的多线程调度
讲讲 Linux 内核里怎么实现的多线程调度
讲讲虚拟地址怎么变成物理地址的
TLB 是什么东西?
32位和64位的区别?硬件和OS两方面谈谈。
大小端是啥?怎么判断?现在X86一般是哪个?
X86 的 cache 架构
你刚才说所有核心共享 L3 缓存,有没有了解过 NUMA?(似乎是唯一一个没有答出来的问题)
“接下来我们来做个题吧”
我心里还说这轮怎么问的这么少,结果***来了:
面试官即兴发挥:“那你刚才讲了虚拟地址转物理地址转换过程,那现在来写个函数实现一下吧”
===========================================
“那虚拟地址结构,每个段多长怎么处理?”
“你自己定义”
“那每个页表项每个段的长度呢?”
有了这个,面试踩雷?不存在的!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-n7m2Hw9w-1713464126449)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。