基础
session和cookie的区别和联系,session的生命周期,多个服务部署时session管理https://blog.csdn.net/u012635819/article/details/50678602
源码
JDK1.7中HashMap底层实现原理https://www.cnblogs.com/dijia478/p/8006713.html
关于HashMap容量的初始化,还有这么多学问https://blog.csdn.net/moakun/article/details/80494253
简洁版HashMap底层实现原理https://www.cnblogs.com/BBchao/p/7878699.html
JAVA问题:Map.Entry的一般用处是什么https://zhidao.baidu.com/question/396998395.html
Java内部类详解https://www.cnblogs.com/dolphin0520/p/3811445.html
浅谈ArrayList动态扩容 https://blog.csdn.net/zymx14/article/details/78324464
JDK1.8 ArrayList 扩容详解https://blog.csdn.net/yz972641975/article/details/78662617
待细看
java动态代理实现与原理详细分析https://www.cnblogs.com/gonjan-blog/p/6685611.html
Java的四种引用方式https://www.cnblogs.com/huajiezh/p/5835618.html
Java transient关键字使用小记http://www.cnblogs.com/lanxuezaipiao/p/3369962.html 程序媛,多学习点
多线程
ThreadLocal用法详解和原理https://www.cnblogs.com/coshaho/p/5127135.html
Java并发编程:深入剖析ThreadLocal https://www.cnblogs.com/dolphin0520/p/3920407.html
Java集合---ConcurrentHashMap原理分析http://www.cnblogs.com/ITtangtang/p/3948786.html
JAVA多线程之volatile 与 synchronized 的比较http://www.cnblogs.com/hapjin/p/5492880.html
Synchronize关键字为什么jdk1.5后效率提高了https://baijiahao.baidu.com/s?id=1589645392960701452&wfr=spider&for=pc
mysql
MySQL数据引擎及索引介绍https://blog.csdn.net/mcfer/article/details/50958440
B-tree/b+tree 原理以及聚簇索引和非聚簇索引https://blog.csdn.net/u010727189/article/details/79399384
JAVA线程池原理详解一https://www.cnblogs.com/dongguacai/p/6030187.html
cookie 和session 的区别详解https://www.cnblogs.com/shiyangxt/articles/1305506.html
分布式如何实现session共享https://blog.csdn.net/sxiaobei/article/details/57086489
从redis中取数据的规则
Redis总结精讲 看一篇成高手系统-4 https://blog.csdn.net/hjm4702192/article/details/80518856
redis的持久化策略https://blog.csdn.net/q649381130/article/details/79920277
算法
判断单链表是否有环的两种方法https://www.cnblogs.com/dancingrain/p/3405197.html
http://blog.jobbole.com/106227/#comment-158653
十大经典排序算法 https://www.cnblogs.com/onepixel/p/7674659.html
堆排序 快排 使用场景https://blog.csdn.net/runrun117/article/details/80478211
七大查找常见算法(下)https://blog.csdn.net/chenyukuai6625/article/details/77165144
红黑二叉树详解及理论分析https://blog.csdn.net/kartorz/article/details/8865997
PAT乙级(Basic Level)真题https://www.nowcoder.com/pat/6/problems
优化代码的方法:
没用过的:
前端访问负载均衡怎么弄https://blog.csdn.net/qq_22912803/article/details/56488632
Nginx负载均衡+监控状态检测https://blog.csdn.net/ye1992/article/details/51371571
nginx+keepalived高可用及双主模式 https://blog.csdn.net/lexang1/article/details/52386909/
虚拟机
创建对象之build模式https://blog.csdn.net/justloveyou_/article/details/78298420
JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代https://blog.csdn.net/zhb123gggggg/article/details/40901003
JVM核心之JVM运行和类加载全过程https://www.cnblogs.com/dooor/p/5289994.html
深入理解JVM—JVM内存模型https://www.cnblogs.com/dingyingsi/p/3760447.html
分布式如何实现session共享https://blog.csdn.net/sxiaobei/article/details/57086489
Java并发之AQS详解https://www.cnblogs.com/waterystone/p/4920797.html
从volatile说到,i++原子操作,线程安全问题
怎么保证i++的原子性https://blog.csdn.net/zbw18297786698/article/details/53420780
utf-8和gbk可以直接转换么https://www.cnblogs.com/blitheG/p/5606475.html
通过将字符串转16进制,在Java中转回的方式实现结果
udp如何实现可靠性传输?https://blog.csdn.net/pangyemeng/article/details/50387078
JAVA中UDP使用https://www.cnblogs.com/xidongyu/p/6261633.html
当在浏览器中输入一个域名后,会发生什么https://blog.csdn.net/icsdn51k/article/details/71075489
各大厂面试题https://www.nowcoder.com/discuss/84004?type=0&order=0&pos=24&page=1
腾讯https://mp.weixin.qq.com/s?__biz=MzUyMDc5MTYxNA==&mid=2247483849&idx=1&sn=f81fd42954589fb2deaf128026ddd856&chksm=f9e5b298ce923b8ef02ae36f7e9029fef0ddb7d5ae456dfa9d64c0073bebaacfb78fac4c8035&scene=21#wechat_redirect
2018届秋季校招Java面试题总结(一)https://blog.csdn.net/juwenzhe_hebut/article/details/78337028
【面经】非科班渣本的秋招经历https://blog.csdn.net/baiye_xing/article/details/78421301
第20讲)关于排序的各种算法的汇总的题目https://blog.csdn.net/weiyastory/article/details/52243887
史上最细的面试题https://blog.csdn.net/qqyb2000/article/details/78474771?ref=myrecommend
我觉得毕业设计可以找贺刚学怎么实现udp可靠传输
或者Facebook聊天功能提供了关于AJAX一个有意思的问题案例:把数据从服务器端推送到客户端。
因为HTTP是一个请求-响应协议,所以聊天服务器不能把新消息发给客户。
取而代之的是客户端不得不隔几秒就轮询下服务器端看自己有没有新消息。
这些情况发生时长轮询是个减轻服务器负载挺有趣的技术。如果当被轮询时服务器没有新消息,
它就不理这个客户端。而当尚未超时的情况下收到了该客户的新消息,服务器就会找到未完成的请求,把新消息做为响应返回给客户端。
这次面试的确收获比较大,面试官是个大神,问的问题都是比较经典的,下面说一下问的几个算法问题。
-
给你文件里面存的是IP,这个文件有20G那么大,让你统计出出现最多的IP,给你的内存是20M
-
给你一个垃圾邮箱的列表,这个列表列表比较多的,然后给你一个邮箱,让你判断是不是垃圾邮箱.
-
给你一个mp3格式的语音,让你转化为汉字(提出思路)。
第一题:
首先是IP是2^32个,数量是比较大的,所以采用数组下标来统计是不行的,那样我们可以采用一个比较好的哈希算法来将IP进行分组,
然后在分组来统计。我采取的哈希函数是h(ip)=IP%10000,这样就将IP分为10000份了,每一份都是无序的,并且是不同的,
但是有个区间范围,下面就是对每一组进行统计。我采取的是排序二叉树进行统计,节点上存的是左右子树和IP次数。
最后遍历二叉树就知道哪个出现的最多
第二题:
将邮件列表按照首字母分为a,b,c…26文件
再分为次位数为a,b,c….文件,这样一直往下找.
第三题现在还不会,等解决了,再来重新编译。 -
创建线程的方法,这个我回答上来的,就是单词不会拼,写出来的。
接着又问这两个方式适用于什么时候,也就是两者的优点,一个继承一个接口,当然在一个类还需要继承其他的类的时候,创建线程的时候肯定只能接口实现了。 -
为什么SQL语句中的索引能优化SQL语句。
-
怎样查看jvm的内存?
jmap (linux下特有,也是很常用的一个命令)
观察运行中的jvm物理内存的占用情况。
参数如下:
-heap :打印jvm heap的情况
-histo: 打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
-histo:live : 同上,但是只答应存活对象的情况
-permstat: 打印permanent generation heap情况
命令使用:
jmap -heap 3409
可以观察到New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的内存使用情况
JVM:查看java内存情况命令https://www.cnblogs.com/anjijiji/p/6239395.html
网友评论