思 维的惰性
我30的时候,连跳两轮,直接翻了一倍,年龄没你想的那么可怕。可怕的是没有信心以及支持信心的底气。// @风一样的爱好者: 本人就是工资倒挂的程序猿,不是不想跳槽,人过30岁,编码岗位并不是那么好找
坚持。长期地坚持去做一件事情,真的很难。不过, 当你下定决心持续地去做一件事情的时候,你的坚持就会变成一种习惯。习惯一旦养成,你不去做那件事情的时候,反而会觉得心里不舒服,好像少了什么似的 。 因为平时要上班,所以一天下来,其实也没多少时间去研究Android系统。这时候我就告诉自己,更加要坚持,并且给自己算了一笔数:工作日每天看20页书,周末每天看50页书,大概两周就可以看一本400~500页的书;一天看300行左右代码,一周就能看2000~3000行代码;一天写1个段落的博客,一周也能捣鼓出1篇来。另外, 当坚持了一段时间之后,就会发现学习的速度比以前更快了,就好像有一种加速度一样,这时候就会发现事情越做越快。
自信。自信是很重要的,尤其是在你做一件很有挑战性的事情的时候。如果没有自信,在碰到难以解决的困难时,或许就会放弃了。其实在很多时候, 机遇都是偏爱那些有自信并且一直坚持着梦想的人。 记得在研究Android系统的UI渲染服务SurfaceFlinger的时候,被一个20多行代码的函数难住了,百思不得其解。后来盯了两三天,联系了各种上下文,最后总算是把它弄明白了。 我一直都相信潜意识这种东西:只要你相信你能解决一个问题,并且坚持住不放弃,潜意识就会帮助你去加工和组织各种原始信息。 因此,自信很重要,它是一种软实力:有自信不一定能成功,但是没有自信要成功就难上加难。
淡定。淡定是一种人生态度,它能使你不功利,不浮躁,从容地面对得与失,找到一条更合适自己长远发展的路。往往梦想都是一个比较长期的东西,不是短期内就能看到效益的。在坚持梦想的过程中,又可能要付出很多代价,例如,你没有时间找(陪)老婆或者女朋友,你赚的钱没有一起毕业的同学多,诸如此类的等等事情。这时候,你就更需要淡定: 只要你判断你正在做的事情是值得的,你就淡定地面对别人的眼光和周围的环境。 我发现写博客以来,自己变得越来越宅了,下班后和周末都更愿意呆在房间里,当渐渐地发现同学都在忙着晒结婚照或者小孩照的时候,自己还在单身着:(。这可能就是宅的代价吧,不过现在对这件事情还是比较淡定:)。
总结来说就是: 心怀梦想,带着自信和淡定,持之以恒,学习、学习,再学习 !很讽刺的是,如果是五六年以前的自己看到上面的这些文字,我会觉得很扯,很空洞,没意义。 人可能就是要非得亲自去经历一些事情,才能深刻地领会一些道理。
面向对象的特征
final, finally, finalize 的区别
int 和 Integer 有什么区别
重载和重写的区别
抽象类和接口有什么区别
说说反射的用途及实现
说说自定义注解的场景及实现
HTTP 请求的 GET 与 POST 方式的区别
session 与 cookie 区别
http://uule.iteye.com/admin/blogs/2211575
session 分布式处理
http://uule.iteye.com/admin/blogs/2236466
JDBC 流程
MVC 设计思想
equals 与 == 的区别
接口与抽象类的区别?
Java中的异常有哪几类?分别怎么使用?
常用的集合类有哪些?比如List如何排序?
ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和优缺点?
内存溢出是怎么回事?请举一个例子?
==和equals的区别?
hashCode方法的作用?
NIO是什么?适用于何种场景?
NIO模型,select/epoll的区别,多路复用的原理
Java中一个字符占多少个字节,扩展再问int, long, double占多少字节
创建一个类的实例都有哪些办法?
final/finally/finalize的区别?
Session/Cookie的区别?
String/StringBuffer/StringBuilder的区别,扩展再问他们的实现?
Servlet的生命周期?
如何用Java分配一段连续的1G的内存空间?需要注意些什么?
Java有自己的内存回收机制,但为什么还存在内存泄露的问题呢?
什么是java序列化,如何实现java序列化?(写一个实例)?
String s = new String("abc");创建了几个 String Object?
ConcurrentHashMap
Java中实现多态的机制是什么
什么是线程池,如何使用?
数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁
进程和线程的区别
说说你对Java反射的理解
Java如何调用c、c++语言
你所知道的设计模式有哪些
【搜】死锁的四个必要条件
常见编码方式;utf-8编码中的中文占几个字节;int型几个字节
心跳包是怎么设计的
Java什么时候会发生内存泄漏?
Array与ArrayList的区别
如何解决变量可见性?
重载与重写的区别
索引是怎么实现的?
object对象的常用方法
项目技术架构图
redis主从复制,sentinel,集群分片原理
websocket长连接
秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis调用存储过程)
TCP time_wait状态系列问题? 窗口滑动机制。
你使用了哪些数据库调优方法?
为什么使用消息队列?应用场景,优点?
我刚阿里一面完:数据库连接池原理、AOP代理机制、无序属于所有三个数和为0的所有情况…
=========================================================================
项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚)
系统的量级、pv、uv等
应对高并发的解决办法(分布式)
在项目中主要负责了哪些工作。
nginx的负载均衡
分布式缓存的一致性,服务器如何扩容(哈希环)
========================================================================
说一下几种常见的排序算法和分别的复杂度。
用Java写一个冒泡排序算法
描述一下链式存储结构。
如何遍历一棵二叉树?
倒排一个LinkedList。
用Java写一个递归遍历目录下面的所有文件。
堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面)
求1000以内的水仙花数以及40亿以内的水仙花数
最快的排序算法是哪个?给阿里2万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码
万亿级别的两个URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)
子串包含问题(KMP 算法)写代码实现
用javascript写出斐波那契函数。。。
请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出;当有人退出影响到用户的位置排名时需要及时反馈到用户
一个不规则INT数组,找出连续的最大增序子数组
答海量(大于内存)的字符串读入,怎样得到频率最高的那组字符串
比如二分查找树,自平衡树(红黑树,AVL树)。在问完这些数据结构的一些基本思想后,就让我手写实现一棵红黑树
问如何找到k个最小的数。
答说了几种算法。
编程题:设有N个人依次围成一圈,从第1个人开始报数,第M个人出列,然后从出列的下一个人开始报数,数到第M个人又出列,...,如此反复到所有的人全部出列为止,设N个人的编号分别为1,2,...,N,打印出出列的顺序,要求用java实现。
如何在有限内存下对10GB文本数据排序?
复杂链表的深度复制
然后问了一个算法问题,熟人问题,说一下你的思路?你要怎么构造数据集?。。
跳跃数组问题
查找算法
B+树和二叉树查找时间复杂度
KMP算法、hash算法
常用的hash算法有哪些
如何判断一个单链表是否有环?
给你一万个数,如何找出里面所有重复的数?用所有你能想到的方法,时间复杂度和空间复杂度分别是多少?
给你一个数组,如何里面找到和为K的两个数?
100000个数找出最小或最大的10个?
一堆数字里面继续去重,要怎么处理?
广度优先遍历二叉树
各类排序算法、红黑树
【既然有哈希,为什么要用树】
https://blog.csdn.net/maybe3is3u5/article/details/52426401
https://blog.csdn.net/wei_wenbo/article/details/50820300
用数组实现一个阻塞队列
http://uule.iteye.com/admin/blogs/2419419
3分钟之内写出来链表逆序的递归算法
http://uule.iteye.com/admin/blogs/2141656
剑指OFFER的各个题目是最常见的,即使不是原题也是题目的变体,因为面试不像笔试,一般不会出特别困难的题目,所以剑指OFFER上小而精的题目就非常适合。建议手刷一遍。
二叉树相关(层次遍历、求深度、求两个节点距离、翻转二叉树、前中后序遍历)
链表相关(插入节点、链表逆置、使用链表进行大数字的加减,双向链表实现队列、寻找链表中的环)
堆(大量数据中寻找最大N个数字几乎每次都会问,还有堆在插入时进行的调整)
排序(八大排序,各自的时间复杂度、排序算法的稳定性。快排几乎每次都问)
二分查找(一般会深入,如寻找数组总和为K的两个数字)
两个栈实现队列。
图(深度广度优先遍历、单源最短路径、最小生成树)
动态规划问题。
深入
红黑树性质
分治法和动态规划的区别
计算时间复杂度
二叉树和哈希表查找的时间复杂度
栈和链表是面试算法的时候经常用到的工具,多考虑怎么用数据结构的性质解决,因为面试不像笔试,对基础数据结构关注的比较多一些,一般问题也比较简单。然后取模也是常用的工具(比如有一次问怎么让100个进程按规定的权重被调用,就可以用取模的方式)。
面试官一般会先出简单的问题,然后深入地问下去,最好是根据他的思路走,因为能听懂他的提示也是需要考察的能力。
========================================================================
List 和 Set 区别
List 和 Map 区别
Arraylist 与 LinkedList 区别
ArrayList 与 Vector 区别
HashMap 和 Hashtable 的区别
HashSet 和 HashMap 区别
HashMap 和 ConcurrentHashMap 的区别
ConcurrentHashMap 的工作原理及代码实现
HashMap在多线程环境下使用需要注意什么?为什么?
HashMap与ConcurrentHashMap的区别及底层实现原理;2.多线程的实现方式以及比较优劣;3.乐观锁与悲观锁的区别以及使用场景
集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;
CopyOnWriteArrayList
hashset是如何通过hashmap来实现的?
HashSet 内部使用 HashMap 。HashSet 把存储的 值作为 key , new Object()作为Value)
http://www.importnew.com/19208.html
HashMap实现原理,如何保证HashMap的线程安全?
HashMap 的工作原理及代码实现
HashMap默认加载因子为什么选择0.75?
HashMap什么情况下发生死链?
HashMap的不当使用是否会导致cpu100%?为什么?
http://uule.iteye.com/admin/blogs/1122340
========================================================================
JVM内存结构
http://uule.iteye.com/admin/blogs/2419969
JVM堆的基本结构。
http://uule.iteye.com/admin/blogs/1894724
JVM如何给对象分配内存?
http://uule.iteye.com/admin/blogs/2421863
JVM的垃圾算法有哪几种?CMS垃圾回收的基本流程?
http://uule.iteye.com/admin/blogs/2422000
JVM有哪些常用启动参数可以调整,描述几个?
https://blog.csdn.net/mrzhoug/article/details/51148302
-Xms512m/-Xmx512m/NewSize/newRatio/SurvivorRatio/MaxPermSize/UseSerialGC/UseConcMarkSweepGC....
如何查看JVM的内存使用情况?
Java程序是否会内存溢出,内存泄露情况发生?举几个例子。
你常用的JVM配置和调优参数都有哪些?分别什么作用?
常用的GC策略,为什么需要GC?什么时候会触发YGC,什么时候触发FGC?
如何死循环跟踪揭秘jvm
jvm相关问题,运行时内存分布、gc策略、gc算法、类加载的过程
哪些情况下会出现CPU100%?如果出现了你怎么去定位(常用的工具和步骤以及如何分析)?
========================================================================
创建线程的方式及实现
sleep() 、join()、yield()有什么区别
说说 CountDownLatch 原理
说说 CyclicBarrier 原理
说说 Semaphore 原理
说说 Exchanger 原理
说说 CountDownLatch 与 CyclicBarrier 区别
ThreadLocal 原理分析
讲讲线程池的实现原理
线程池的几种方式
newCachedThreadPool / newFixedThreadPool / newScheduledThreadPool/ newSingleThreadExecutor
线程的生命周期
如何创建线程?如何保证线程安全?
如何实现一个线程安全的数据结构
如何避免死锁
Volatile关键字的作用?
什么是死锁?如何避免
什么是守护线程?有什么用?
Java程序中启动一个线程是用run()还是start()?
线程和进程的差别是什么?
Java里面的Threadlocal是怎样实现的?
sleep和wait区别
notify和notifyAll区别
volatile关键字的作
ThreadLocal的作用与实现
两个线程如何串行执行
线程池ThreadPoolExecutor的实现原理?
多线程如何在多个CPU上分布?线程调度算法有哪些?.线程调度和进程调度的区别?
如何构建一个高并发的服务器。我提到可以用epoll以及多线程。面试官接着问为什么要用多线程,而不是单线程。
多线程和多进程的区别。
答线程是可执行代码的可分派单元。这个名称来源于“执行的线索”的概念。在基于线程的多任务的环境中,所有进程有至少一个线程,但是它们可以具有多个任务。这意味着单个程序可以并发执行两个或者多个任务。多线程开销较小。
简单实现一个线程池?扩展:带定时任务的线程池如何实现?
可以运行时kill掉一个线程吗?
上下文切换是什么含义
什么是条件锁、读写锁、自旋锁、可重入锁?
========================================================================
说说线程安全问题
volatile 实现原理
http://uule.iteye.com/blog/1521180
http://uule.iteye.com/admin/blogs/2419969
synchronize 实现原理
synchronized 与 lock 的区别
CAS 乐观锁
ABA 问题
乐观锁的业务场景及实现方式
分段锁的机制
========================================================================
Spring
BeanFactory 和 ApplicationContext 有什么区别
Spring Bean 的生命周期
Spring IOC 如何实现
说说 Spring AOP
Spring AOP 实现原理
动态代理(cglib 与 JDK)
Spring 事务实现方式
Spring 事务底层原理
如何自定义注解实现功能
Spring MVC 运行流程
Spring MVC 启动流程
Spring 的单例实现原理
Spring 框架中用到了哪些设计模式
Spring 其他产品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)
描述一下Hibernate的三个状态?
Spring中Bean的生命周期。
SpringMVC或Struts处理请求的流程。
Spring AOP解决了什么问题?怎么实现的?
Spring事务的传播属性是怎么回事?它会影响什么?
Spring中BeanFactory和FactoryBean有什么区别?
Spring框架中IOC的原理是什么?
spring的依赖注入有哪几种方式
struts工作流程
用Spring如何实现一个切面?
Spring 如何实现数据库事务?
Hibernate对一二级缓存的使用,Lazy-Load的理解;
mybatis如何实现批量提交?
Spring的核心点及其实现方式;5.Hibernate的一级缓存与二级缓存
你知道的spring组件有哪些?在你的工作中哪些地方用到了这些组件?为什么要用这个组件?需要注意哪些点?"针对具体的组件问具体的问题. 因为你能说出来的组件才是你确实用过的,既然是你用过的组件,那我问你在哪些地方用,你就必须知道,并且用这个组件需要注意的点你也应该知道.否则要么就是你没真正用过, 要么就是你确实用了,但是你没有真正理解这个组件,而只是会机械的用而已.
========================================================================
数据库相关
MySQL InnoDB、Mysaim的特点?
http://uule.iteye.com/admin/blogs/2420424
乐观锁和悲观锁的区别?行锁,表锁;乐观锁,悲观锁
http://uule.iteye.com/admin/blogs/2420176
数据库隔离级别是什么?有什么作用?数据库事务的几种粒度;
http://uule.iteye.com/admin/blogs/1445678
MySQL主备同步的基本原理。
select * from table t where size > 10 group by size order by size的sql语句执行顺序?
如何优化数据库性能(索引、分库分表、批量操作、分页算法、升级硬盘SSD、业务优化、主从部署)
如何从一张表中查出name字段不包含“XYZ”的所有行?
如何解决高并发减库存问题
mysql存储引擎中索引的实现机制;
说说反模式设计
说说分库与分表设计
分库与分表带来的分布式困境与应对之策
说说 SQL 优化之道
MySQL 遇到的死锁问题
http://uule.iteye.com/admin/blogs/2422193
limit 20000 加载很慢怎么解决
http://uule.iteye.com/admin/blogs/2422189
选择合适的数据存储方案
ObjectId 规则
聊聊 MongoDB 使用场景
聊聊 ElasticSearch 使用场景
如何防止 SQL注入?如何防止用户删除其他用户的信息?表单提交可以跨域么?自己写的接口如何防止被其他人恶意调用?
三大范式
数据库连接池的原理
如何实现不同数据库的数据查询分页
SQL注入的原理,如何预防
数据库索引的优缺点以及什么时候数据库索引失效
数据库索引的实现、mysql索引是怎么实现的、数据库索引的原理(B+树介绍、和B树、R树区别)
SQL什么情况下不会使用索引(不包含,不等于,函数)
一般在什么字段上建索引(过滤数据最多的字段)
B+索引实现
MySQL,B+索引实现,行锁实现,SQL优化
聚集索引与非聚集索引的区别
倒排索引
MySQL 索引使用的注意事项
为什么要用 B-tree
事务四大特性(ACID)
数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别
MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景
数据库的优化(从sql语句优化和索引两个部分回答)
索引有B+索引和hash索引,各自的区别
B+索引数据结构,和B树的区别
索引的分类(主键索引、唯一索引),最左前缀原则,哪些情况索引会失效
有哪些锁(乐观锁悲观锁),select时怎么加排它锁
关系型数据库和非关系型数据库区别
了解nosql
数据库三范式,根据某个场景设计数据表(可以通过手绘ER图)
数据库的主从复制
使用explain优化sql和索引
long_query怎么解决
内连接、外连接、交叉连接、笛卡儿积等
深入
MVCC机制
http://uule.iteye.com/admin/blogs/2428962
根据具体场景,说明版本控制机制
死锁怎么解决
varchar和char的使用场景。
http://uule.iteye.com/admin/blogs/2428963
mysql并发情况下怎么解决(通过事务、隔离级别、锁)
========================================================================
缓存使用
Redis 有哪些类型 内部结构
http://uule.iteye.com/admin/blogs/2420503
聊聊 Redis 使用场景
Redis 持久化机制
Redis 如何实现持久化
http://uule.iteye.com/admin/blogs/2144221
Redis,RDB和AOF,如何做高可用、集群
Redis 集群方案与实现
Redis 为什么是单线程的
缓存“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
缓存奔溃
缓存降级
使用缓存的合理性问题
Redis等缓存系统/中间件SQL/一致性Hash等
列举一个常用的Redis客户端的并发模型。
HBase如何实现模糊查询?
列举一个常用的消息中间件,如果消息要保序如何实现?
如何实现一个Hashtable?你的设计如何考虑Hash冲突?如何优化?
分布式缓存,一致性hash
LRU算法,slab分配,如何减少内存碎片
如何解决缓存单机热点问题
什么是布隆过滤器,其实现原理是? False positive指的是?
memcache与redis的区别
zookeeper有什么功能,选举算法如何进行
map/reduce过程,如何用map/reduce实现两个数据源的联合统计
redis的配置文件(AOF&&Snapshot&&主从复制)
redis队列应用场景
redis和Memcached(支持数据持久化)
分布式使用场景(储存session等)
发布/订阅使用场景
========================================================================
谈谈业务 中使用分布式的场景
session 分布式处理
http://uule.iteye.com/admin/blogs/2236466
分布式锁的场景
分布是锁的实现方案
http://uule.iteye.com/admin/blogs/2420444
分布式事务
选择合适的分布式主键方案
http://uule.iteye.com/admin/blogs/2420466
集群与负载均衡的算法与实现
说说分库与分表设计
分库与分表带来的分布式困境与应对之策
========================================================================
你能举例几个常见的设计模式
你在设计一个工厂的包的时候会遵循哪些原则?
你能列举一个使用了Visitor/Decorator模式的开源项目/库吗?
你在编码时最常用的设计模式有哪些?在什么场景下用?
如何实现一个单例?
代理模式(动态代理)
单例模式(懒汉模式,恶汉模式,并发初始化如何解决,volatile与lock的使用)
MVC MVP MVVM; 常见的设计模式;写出观察者模式的代码
JDK源码里面都有些什么让你印象深刻的设计模式使用
========================================================================
使用两种命令创建一个文件?
硬链接和软链接的区别?
Linux常用命令有哪些?
在LINUX里,如何查看一个监听端口为8060的进程?
怎么看一个Java线程的资源耗用?
Load过高的可能性有哪些?
/etc/hosts文件什么做用?
如何快速的将一个文本中所有“abc”替换为“xyz”?
如何在log文件中搜索找出error的日志?
发现磁盘空间不够,如何快速找出占用空间最大的文件?
Java服务端问题排查(OOM,CPU高,Load高,类冲突)
Java常用问题排查工具及用法(top, iostat, vmstat, sar, tcpdump, jvisualvm, jmap, jconsole)
Thread dump文件如何分析(Runnable,锁,代码栈,操作系统线程ID关联)
如何查看Java应用的线程信息?
硬链接和软连接区别
kill用法,某个进程杀不掉的原因(进入内核态,忽略kill信号)
linux用过的命令
系统管理命令(如查看内存使用、网络情况)
管道的使用 |
grep的使用,一定要掌握,每次都会问在文件中查找
shell脚本
find命令
awk使用
========================================================================
消息队列的使用场 景
消息的重发补偿解决思路
消息的幂等性解决思路
消息的堆积解决思路
自己如何实现消息队列
如何保证消息的有序性
消息队列具体怎么实现,请求太多怎么办。后者我回答了个负载均衡,这个回答其实没有抓到面试官的点,不过面试官就顺着这个问题问了负载均衡的实现,请求怎么调度,有无状态问题。到最后面试官简单总结了一下,负载均衡的调度的话可以通过将数据存储抽象实现无状态。
面试官还对之前问的消息队列请求过多的问题总结了一下,说是通过在请求中记录超时时间戳。另外,前边的syn防御也是通过缩短半链接的超时来解决。感觉面试官给的这些答案都非常的偏实际工程应用。
========================================================================
TCP建立连接的过程。
TCP断开连接的过程。
tcp的三次链接,顺着三次连接又问到了syn攻击,以及防御方法
TCP三次握手、四次挥手(这个问题真的要回答吐了,不过真的是面试官最喜欢问的,建议每天手撸一遍,而且不只是每次请求的过程,各种FIN_WAIT、TIME_WAIT状态也要掌握)。
http://uule.iteye.com/admin/blogs/2213562
TCP协议怎么保证可靠传输?原理TCP和UDP的区别数组和链...
什么是TCP 粘包/拆包
TCP粘包/拆包的解决办法
http://uule.iteye.com/admin/blogs/2429206
TCP如何保证数据的可靠传输的(这个问题可以引申出很多子问题,拥塞控制慢开始、拥塞避免、快重传、滑动窗口协议、停止等待协议、超时重传机制,最好都能掌握)
tcp协议(建连过程,慢启动,滑动窗口,七层模型)
TCP的滑动窗口协议有什么用?讲讲原理。
http://uule.iteye.com/admin/blogs/2429131
HTTP协议;HTTP1.0与2.0的区别;HTTP报文结构
http://uule.iteye.com/admin/blogs/2428978
NIO的好处,Netty线程模型,什么是零拷贝
http://uule.iteye.com/admin/blogs/2429099
http和https区别,https在请求时额外的过程,https是如何保证数据安全的
http://uule.iteye.com/admin/blogs/2427494
TCP报头格式、UDP报头格式
TCP/UDP区别(不仅是宏观上的,最好能根据各自的机制讲解清楚)
http://uule.iteye.com/admin/blogs/2114323
http协议(报文结构,断点续传,多线程下载,什么是长连接)
http://uule.iteye.com/admin/blogs/2429222
浏览器发生302跳转背后的逻辑?
HTTP协议的交互流程。SSL的交互流程?
Rest和Http什么关系? 大家都说Rest很轻量,你对Rest风格如何理解?
HTTP协议都有哪些方法?
交换机和路由器的区别?
Socket交互的基本流程?
webservice协议(wsdl/soap格式,与rest协议的区别)
HTTP协议都有哪些内容?程序如何parse的?
http://uule.iteye.com/admin/blogs/2429222
HTTP状态码(最好结合使用场景,比如在缓存命中时使用哪个)
HTTP协议(一些报头字段的作用,如cace-control、keep-alive)
OSI协议、TCP/IP协议以及每层对应的协议。
SESSION机制、cookie机制
打开网页到页面显示之间的过程(涵盖了各个方面,DNS解析过程,Nginx请求转发、连接建立和保持过程、浏览器内容渲染过程,考虑的越详细越好)。
IP地址子网划分
POST和GET区别
DNS解析过程
地址解析协议ARP
========================================================================
内存的页面置换算法
进程调度算法
进程间通信方式
进程线程区别
进程之间的通信
父子进程、孤儿进程
fork进程时的操作,
========================================================================
为什么选择 Netty
说说业务中,Netty 的使用场景
原生的 NIO 在 JDK 1.7 版本存在 epoll bug
Netty 线程模型
说说 Netty 的零拷贝
Netty 内部执行流程
Netty 重连实现