找Java开发实习生时准备专业知识,学到了不少。结合着网上的面经针对一些主要常问到的问题,整理出的比较基础知识点的通俗易懂讲解的链接。分为:Java、操作系统、计算机网络、数据结构、算法、项目框架以及其他心得。
Ps:这些是面试时基本知识点,也不全,懂得越多越有底气呀!
Java
三大特性:封装、继承、多态 https://www.cnblogs.com/dajingshao/p/11568151.html
Java和C++区别:纯面向对象、没有指针更安全、引入接口、有垃圾自动回收机制不需要程序显式地管理内存分配、平台无关性
https://blog.csdn.net/warren_1992/article/details/51063047
为什么Java移植性好:https://zhidao.baidu.com/question/531270122.html
https://www.jianshu.com/p/95242f2306f1
反射:动态(在运行状态中)获取信息以及动态调用对象方法(任意一个类的属性和方法)
https://www.jianshu.com/p/9be58ee20dee
JVM:https://www.jianshu.com/p/ee4a27f0e2f0
垃圾回收机制:回收Java内存中堆中不用的数据
https://blog.csdn.net/Lzinner/article/details/89086312
操作系统
Linux用过吗?用来做什么?
什么版本:CentOS…
常见的几种进程调度算法:先来先服务FCFS、短作业优先调度(抢占/非抢占)、高优先权优先调度算法(抢占/非抢占)、基于时间片的轮转调度算法 https://blog.csdn.net/zh13487/article/details/83928284
查看端口占用情况用什么命令:
https://www.jianshu.com/p/aebfbcededb1
( 例子:
查看所有端口使用情况:netstat -a
查看素有80端口使用情况:netstat -an | grep 80 或者 losf -i:8080
losf (list open files)查看22端口:list -i:22
)
死锁:http://c.biancheng.net/view/1236.html
同步异步 阻塞非阻塞:https://blog.csdn.net/huangqiang1363/article/details/79508852
分布式锁:https://zhuanlan.zhihu.com/p/42056183
Redis:https://www.jianshu.com/p/56999f2b8e3b
线程:http://ifeve.com/creating-and-starting-java-threads/
线程同步的几种方法:https://blog.csdn.net/cheng183/article/details/80251593
计算机网络
HTTP:https://blog.csdn.net/qq_38265137/article/details/93379922
http 和 https:https是在http协议基础上加入加密处理和认证机制以及完整性保护,并非应用层的一种协议。https://www.cnblogs.com/jesse131/p/9080925.html
无连接无状态:https://blog.csdn.net/qq_16605855/article/details/78257564
Get和Post:
https://www.cnblogs.com/williamjie/p/9099940.html
TCP:https://www.jianshu.com/p/191625b469ec
TCP三次握手 四次挥手:https://www.cnblogs.com/qdhxhz/p/8470997.html
输入一个网址后发生了什么:https://blog.csdn.net/kongmin_123/article/details/82555936
WebSocket和Stomp协议:服务端消息的主动推送https://www.jianshu.com/p/db21502518b9
STOMP协议:https://www.iteye.com/blog/diaocow-1725186
为什么要Stomp:https://blog.csdn.net/a617137379/article/details/78765025
http://stomp.github.io/stomp-specification-1.1.html
集中常见的负载均衡:https://blog.csdn.net/bpb_cx/article/details/82771168
数据结构
HashMap 线程不安全:https://blog.csdn.net/suifeng629/article/details/82179996
https://www.cnblogs.com/developer_chan/p/10450908.html
HashMap、CurrentHashMap:https://www.cnblogs.com/shamo89/p/6700353.html
ArrayList和LinkedList:https://blog.csdn.net/TTTZZZTTTZZZ/article/details/84916281
算法
排序算法知道哪些:冒泡、选择、插入、希尔排序、快排… https://blog.csdn.net/weixin_41190227/article/details/86600821
快排代码:https://blog.csdn.net/nrsc272420199/article/details/82587933
堆排序详解:https://www.cnblogs.com/Java3y/p/8639937.html
最短路径算法:floyd,迪杰斯特拉… https://blog.csdn.net/ZHUO_SIR/article/details/80628663
刷题:剑指Offer,LeetCode前150题
项目框架
这部分就基本是SpringBoot、Mybatis…
(面试官:“这个项目你参与了什么部分?讲讲xxx优点是什么?项目还用了什么技术?…”)
Tips:
- “战胜恐惧的最好办法是面对恐惧” :面对害怕的知识点一定要鼓起勇气去学习,原本害怕的知识点反而成为自己的信心之源!
- 所以,想要学得扎实需要以深度优先的学习方式,遇到不懂的赶紧查资料搞明白。
- 自我介绍环节:30s - 1min 一句话介绍自己(姓名+院校+…),一句话介绍自己的目标岗位(可加点why之类的),一句话介绍自己的项目经历。要熟练且流畅!