开头
关于程序员,除了做项目、看视频来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!MySQL俨然已经成为了IT技术人员必须掌握的核心技能之一!
《MySQL从入门到精通》
本书详细介绍了如何安装、管理、备份、维护和优化一个 MySQL 系统。对于每一件服务器操作都提出了多种的解决方案。对于每一种的方法,虽然不一定都是非常实用的方法,读者能通过这些方法,熟悉 MySQL 的特点和强大的功能。
第一章简单介绍了 MySQL 的历史、特点,同时对 SQL 的语法进行了简单的介绍。如果读者对第一章的内容不能很好的掌握,可以略过不了解的内容,在阅读二、三章之后重新理解其中内容。
第二章介绍了如何安装一个 MySQL 系统。
第三、四章详细叙述了如何利用 SQL 语言以及其它的客户工具对 MySQL 数据库中的数据进行操作。
第五、六章介绍了数据库目录以及如何备份、恢复和维护数据库安装。
第七章介绍了 MySQL 权限系统和如何为数据库创建、撤销授权。
第八章则对优化数据库性能的各个方面进行了阐述。
由于pdf文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录,由于头条的篇幅限制目录上的详细讲解也无法一一列出,文末底下有获取以下章节的所有详细知识讲解。
一面:
先是问了问项目,然后就开始问一些问题
1、每个请求耗时100ms,机器的配置是4核8G,问要达到10000TPS需要多少台机器?
没答上来,问了问是IO密集型还是CPU密集型,然后面试官说我想得太复杂了
2、怎么实现网页的自动跳转
答301 302的Location字段,然后又问了我这两个有什么区别
3、有一个10G大小的文件,里面都是32位的无符号整数,但是内存大小只有1G,问如何找出里面重复的数字
一开始说用hash,先hash到小文件。面试官说有没有更简单的,答位图,又问你觉得位图会占用多大的内存空间。算了一会,答512M
然后就是算法题,一个Unix的路径,简化这个路径,Leetcode上有原题
一面大概36分钟
二面:
围绕项目问了很多问题,和我讨论了怎么保证双写的一致性、消息队列中消息积压了怎么办、为什么要用到分布式锁、ZK的分布式锁的使用流程、ZK的选主策略、同步策略然后又围绕Kafka问了一些问题。
1、Kafka怎么保证顺序消费?
2、Kafka的架构是什么样的?
3、Kafka可以保证一个主题所有的分区都顺序消费吗?
算法,给一个数n,求所有和等于这个数的连续子序列,比如15=1+2+3+4+5=4+5+6=8+7,所以输出3.
三面:
主要是围绕着基础的知识问了一些问题:
1、Java的GC
2、反射,反射是怎么实现的。
没看过是怎么实现的,现场猜想了一下,应该答错了
3、讲一下乐观锁和悲观锁
4、网络协议的分层,每一层是干嘛用的
5、DNS是哪一层的,域名解析的过程是什么样的?
6、进程间通信的方式,什么情况下需要进程间通信?
这个题答得也不太好,讲了管道、信号、共享内存区域
7、volatile关键字
8、Synchronized和Lock
这个地方我是想等他来问我底层的原理,所以说的时候没说完。不过说完他也没反馈,也许知道什么就应该全部说出来?
做一道算法题,序列化和反序列化二叉树
9、内核态和用户态介绍一下
最后面试官和我聊了聊平时是怎么学习的,最近学什么东西比较有心得,以后的职业规划是什么。
最后
分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。
请点赞后,戳这里,免费获取!
这些面试题相对应的技术点:
- JVM
- MySQL
- Mybatis
- MongoDB
- Redis
- Spring
- Spring boot
- Spring cloud
- Kafka
- RabbitMQ
- Nginx
- …
大类就是:
- Java基础
- 数据结构与算法
- 并发编程
- 数据库
- 设计模式
- 微服务
- 消息中间件
3)]
[外链图片转存中…(img-ZYOAzJGW-1616063448973)]
[外链图片转存中…(img-cLv3vMox-1616063448974)]
[外链图片转存中…(img-3wCDwxK6-1616063448974)]