`
uule
  • 浏览: 6313093 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

【学习升级路线1-backup-20180823】

阅读更多

维的惰性

 

我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方法的作用?

Java中一个字符占多少个字节,扩展再问int, long, double占多少字节

创建一个类的实例都有哪些办法?

String/StringBuffer/StringBuilder的区别,扩展再问他们的实现?

Servlet的生命周期?

如何用Java分配一段连续的1G的内存空间?需要注意些什么?

Java有自己的内存回收机制,但为什么还存在内存泄露的问题呢?

什么是java序列化,如何实现java序列化?(写一个实例)?

String s = new String("abc");创建了几个 String Object?

Java中实现多态的机制是什么

什么是线程池,如何使用?

数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁

进程和线程的区别

说说你对Java反射的理解

java反射获取私有属性,改变值

反射用途

Java如何调用c、c++语言

你所知道的设计模式有哪些

【搜】死锁的四个必要条件

常见编码方式;utf-8编码中的中文占几个字节;int型几个字节

心跳包是怎么设计的

Java什么时候会发生内存泄漏?

Array与ArrayList的区别

如何解决变量可见性?

重载与重写的区别

索引是怎么实现的?

object对象的常用方法

 项目技术架构图

websocket长连接

秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis调用存储过程)

你使用了哪些数据库调优方法?

为什么使用消息队列?应用场景,优点?

我刚阿里一面完:数据库连接池原理、AOP代理机制、无序属于所有三个数和为0的所有情况…

=========================================================================

项目

项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚)

系统的量级、pv、uv等

在项目中主要负责了哪些工作。

nginx的负载均衡

项目难点,问题

如何解决项目中遇到的问题

项目中遇到最自豪的地方

会什么算法

========================================================================

数据结构与算法基础

 

排序:

说一下几种常见的排序算法和分别的复杂度。

用Java写一个冒泡排序算法

最快的排序算法是哪个?给阿里2万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码

排序(八大排序,各自的时间复杂度、排序算法的稳定性。快排几乎每次都问)

 

树:

如何遍历一棵二叉树?

 比如二分查找树,自平衡树(红黑树,AVL树)。在问完这些数据结构的一些基本思想后,就让我手写实现一棵红黑树

B+树和二叉树查找时间复杂度

二叉树相关(层次遍历、求深度、求两个节点距离、翻转二叉树、前中后序遍历)

红黑树性质

二叉树和哈希表查找的时间复杂度

图(深度广度优先遍历、单源最短路径、最小生成树)

广度优先遍历二叉树

各类排序算法、红黑树

【既然有哈希,为什么要用树】

https://blog.csdn.net/maybe3is3u5/article/details/52426401

https://blog.csdn.net/wei_wenbo/article/details/50820300

 

链表:

复杂链表的深度复制

如何判断一个单链表是否有环?

链表相关(插入节点、链表逆置、使用链表进行大数字的加减,双向链表实现队列、寻找链表中的环)

描述一下链式存储结构。

3分钟之内写出来链表逆序的递归算法

http://uule.iteye.com/admin/blogs/2141656

栈和链表是面试算法的时候经常用到的工具,多考虑怎么用数据结构的性质解决,因为面试不像笔试,对基础数据结构关注的比较多一些,一般问题也比较简单。然后取模也是常用的工具(比如有一次问怎么让100个进程按规定的权重被调用,就可以用取模的方式)。

 

数组:

给你一个数组,如何里面找到和为K的两个数?

跳跃数组问题

用数组实现一个阻塞队列 

http://uule.iteye.com/admin/blogs/2419419

二分查找(一般会深入,如寻找数组总和为K的两个数字)

 

应用:

10亿个数去重,我说用hash分片做,他说可能不均匀,然后我说了bitmap,他说那数字量更多怎么办,我说那就两个bitmap把。他说下一题吧。

十亿个数找前10个最大的,小顶堆过一遍即可。他说如果要提高效率呢,我说可以分片做堆排序再进行归并即可。他说OK。

剑指OFFER的各个题目是最常见的,即使不是原题也是题目的变体,因为面试不像笔试,一般不会出特别困难的题目,所以剑指OFFER上小而精的题目就非常适合。建议手刷一遍。

倒排一个LinkedList。

用Java写一个递归遍历目录下面的所有文件。

问如何找到k个最小的数。

编程题:设有N个人依次围成一圈,从第1个人开始报数,第M个人出列,然后从出列的下一个人开始报数,数到第M个人又出列,...,如此反复到所有的人全部出列为止,设N个人的编号分别为1,2,...,N,打印出出列的顺序,要求用java实现。 

如何在有限内存下对10GB文本数据排序?

然后问了一个算法问题,熟人问题,说一下你的思路?你要怎么构造数据集?。。

用javascript写出斐波那契函数。。。

请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出;当有人退出影响到用户的位置排名时需要及时反馈到用户

一个不规则INT数组,找出连续的最大增序子数组

答海量(大于内存)的字符串读入,怎样得到频率最高的那组字符串

求1000以内的水仙花数以及40亿以内的水仙花数

万亿级别的两个URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)

给你一万个数,如何找出里面所有重复的数?用所有你能想到的方法,时间复杂度和空间复杂度分别是多少?

100000个数找出最小或最大的10个?

一堆数字里面继续去重,要怎么处理?

子串包含问题(KMP 算法)写代码实现

堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面)

 

查找算法

KMP算法、hash算法

常用的hash算法有哪些

 堆(大量数据中寻找最大N个数字几乎每次都会问,还有堆在插入时进行的调整)

两个栈实现队列。

动态规划问题。

分治法和动态规划的区别

计算时间复杂度

 

面试官一般会先出简单的问题,然后深入地问下去,最好是根据他的思路走,因为能听懂他的提示也是需要考察的能力。

Tomcat了解么。说一下类加载器结构吧

负载均衡的算法

哈弗曼编码,如何解决译码问题

========================================================================

集合

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

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%?如果出现了你怎么去定位(常用的工具和步骤以及如何分析)?

 

CMS和G1了解么,CMS解决什么问题,说一下回收的过程。

CMS回收停顿了几次,为什么要停顿两次。

Java栈什么时候会发生内存溢出,Java堆呢,说一种场景,我说集合类持有对象。

那集合类如何解决这个问题呢,我说用软引用和弱引用,那你讲一下这两个引用的区别吧。

========================================================================

多线程

 

创建线程的方式及实现

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 问题

乐观锁的业务场景及实现方式

分段锁的机制

什么是条件锁、读写锁、自旋锁、可重入锁?

synchronized锁升级的过程,说了偏向锁到轻量级锁再到重量级锁,然后问我它们分别是怎么实现的,解决的是哪些问题,什么时候会发生锁升级。

========================================================================

框架使用

Spring

BeanFactory 和 ApplicationContext 有什么区别

beanfactory和applicationcontext是什么关系,使用有什么区别。

Spring中BeanFactory和FactoryBean有什么区别?

Spring的核心点及其实现方式;

你知道的spring组件有哪些?在你的工作中哪些地方用到了这些组件?为什么要用这个组件?需要注意哪些点?"针对具体的组件问具体的问题. 因为你能说出来的组件才是你确实用过的,既然是你用过的组件,那我问你在哪些地方用,你就必须知道,并且用这个组件需要注意的点你也应该知道.否则要么就是你没真正用过, 要么就是你确实用了,但是你没有真正理解这个组件,而只是会机械的用而已.

 

Bean:

Spring的bean的默认范围

Spring中Bean的生命周期。

Spring中如何让A和B两个bean按顺序加载,我说依赖关系,他问怎么实现,然后说要用dependon注解,我说不了解

 

AOP+IOC:

Spring IOC 如何实现

说说 Spring AOP

Spring AOP 实现原理

动态代理(cglib 与 JDK)

Spring AOP解决了什么问题?怎么实现的?

Spring框架中IOC的原理是什么?

spring的依赖注入有哪几种方式

用Spring如何实现一个切面?

 

事务:

Spring 事务实现方式

Spring 事务底层原理

Spring事务的传播属性是怎么回事?它会影响什么?

Spring 如何实现数据库事务?

mybatis如何实现批量提交?

 

springMVC:

Spring MVC 运行流程

Spring MVC 启动流程

SpringMVC或Struts处理请求的流程。

 

如何自定义注解实现功能

Spring 的单例实现原理

Spring 框架中用到了哪些设计模式

Spring 其他产品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)

struts工作流程

 

描述一下Hibernate的三个状态?

Hibernate的一级缓存与二级缓存

Hibernate对一二级缓存的使用,Lazy-Load的理解;

 

========================================================================

数据库相关

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主备同步的基本原理。

数据库的主从复制

数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决

MySQL集群的主从复制怎么做的,具体有哪些线程做哪些事情,使用了哪些日志。

http://uule.iteye.com/admin/blogs/2429252

 

索引:

数据库索引为啥要用树结构做存储?

           树的查询效率高,还可以做有序。

B+树的实现细节是什么?B-树和B+树有什么区别?联合索引在B+树中如何存储?

mysql存储引擎中索引的实现机制;

mysql索引类型

数据库索引的优缺点以及什么时候数据库索引失效 

数据库索引的实现、mysql索引是怎么实现的、数据库索引的原理(B+树介绍、和B树、R树区别)

SQL什么情况下不会使用索引(不包含,不等于,函数)

一般在什么字段上建索引(过滤数据最多的字段)

B+索引实现

索引有B+索引和hash索引,各自的区别

B+索引数据结构,和B树的区别

索引的分类(主键索引、唯一索引),最左前缀原则,哪些情况索引会失效

MySQL,B+索引实现,行锁实现,SQL优化

聚集索引与非聚集索引的区别

倒排索引

MySQL 索引使用的注意事项

为什么要用 B-tree

红黑树比BST优点

MySQL为什么使用B+树

多个索引会有多份数据吗

MySQL使用的索引结构,查找效率

 

分库分表:

说说分库与分表设计

分库与分表带来的分布式困境与应对之策

mysql大表数据查询,怎么优化,分表,分库?

 

优化:

如何优化数据库性能(索引、分库分表、批量操作、分页算法、升级硬盘SSD、业务优化、主从部署)

数据库的优化(从sql语句优化和索引两个部分回答)

MySQL的sql优化了解么,答了解索引优化。

他问我如何做一条sql的优化,说了慢日志和explain。

使用explain优化sql和索引

说说 SQL 优化之道

MySQL查询优化

MySQL慢查询开启,语句分析

 

注入:

如何防止 SQL注入?如何防止用户删除其他用户的信息?表单提交可以跨域么?自己写的接口如何防止被其他人恶意调用?

SQL注入的原理,如何预防

 

如何解决高并发减库存问题

说说反模式设计

数据库连接池的原理

如何实现不同数据库的数据查询分页

事务四大特性(ACID)

数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别

MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景

有哪些锁(乐观锁悲观锁),select时怎么加排它锁

关系型数据库和非关系型数据库区别

了解nosql

数据库三范式,根据某个场景设计数据表(可以通过手绘ER图)

三大范式

选择合适的数据存储方案

ObjectId 规则

聊聊 MongoDB 使用场景

聊聊 ElasticSearch 使用场景

数据库乐观锁使用

MySQL极限

 

long_query怎么解决

内连接、外连接、交叉连接、笛卡儿积等 

MySQL的union all和union有什么区别,我瞎掰了一下,应该不对。

MySQL有哪几种join方式,底层原理是什么,答不会,只知道表现形式。

limit 20000 加载很慢怎么解决

http://uule.iteye.com/admin/blogs/2422189

select * from table t where size > 10 group by size order by size的sql语句执行顺序?

如何从一张表中查出name字段不包含“XYZ”的所有行?

MySQL 遇到的死锁问题

http://uule.iteye.com/admin/blogs/2422193

 

深入

 

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怎么做集群,答了主从哨兵和cluster。

Redis使用哨兵部署会有什么问题,我说需要扩容的话还是得集群部署。

Redis,RDB和AOF,如何做高可用、集群

Redis 集群方案与实现

Redis 为什么是单线程的

redis主从复制,sentinel,集群分片原理

缓存“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题

缓存奔溃

缓存降级

使用缓存的合理性问题

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

集群与负载均衡的算法与实现

说说分库与分表设计

分库与分表带来的分布式困境与应对之策

CAP定理说一下,为什么三者只能选二,为什么分区容忍性必须保证。

工作中CAP的A和P是怎么选择的,我说选P吧,他的意思是选A。

平时了解哪些技术是牺牲了一致性来保证可用性的,我说消息队列,他问我MySQL是不是,我说MySQL主从复制应该是。

分布式系统了解么,说一下Hadoop了解啥。。

MapReduce的combiner干啥的,我说是合并结果的,问我啥时候会用到,答不知道。

Hadoop分发任务时,有个job失败了,hadoop会怎么处理

应对高并发的解决办法(分布式)

分布式缓存的一致性,服务器如何扩容(哈希环)

========================================================================

设计模式与重构

你能举例几个常见的设计模式

MVVM,MVC,MVT

你在设计一个工厂的包的时候会遵循哪些原则?

你能列举一个使用了Visitor/Decorator模式的开源项目/库吗?

你在编码时最常用的设计模式有哪些?在什么场景下用?

如何实现一个单例?

代理模式(动态代理)

单例模式(懒汉模式,恶汉模式,并发初始化如何解决,volatile与lock的使用)

MVC MVP MVVM; 常见的设计模式;写出观察者模式的代码

JDK源码里面都有些什么让你印象深刻的设计模式使用 

========================================================================

Linux使用与问题分析排查

使用两种命令创建一个文件?

硬链接和软链接的区别?

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的滑动窗口协议有什么用?讲讲原理。

TCP time_wait状态系列问题? 窗口滑动机制。 

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协议都有哪些内容?程序如何parse的?

HTTP协议(一些报头字段的作用,如cace-control、keep-alive)

http协议(报文结构,断点续传,多线程下载,什么是长连接)

http://uule.iteye.com/admin/blogs/2429222

 Socket交互的基本流程?

http://uule.iteye.com/admin/blogs/2429228

 

NIO是什么?适用于何种场景?

NIO模型,select/epoll的区别,多路复用的原理

 

浏览器发生302跳转背后的逻辑?

HTTP协议的交互流程。SSL的交互流程?

Rest和Http什么关系? 大家都说Rest很轻量,你对Rest风格如何理解?

HTTP协议都有哪些方法?

交换机和路由器的区别?

webservice协议(wsdl/soap格式,与rest协议的区别)

HTTP状态码(最好结合使用场景,比如在缓存命中时使用哪个)

OSI协议、TCP/IP协议以及每层对应的协议。

SESSION机制、cookie机制

 打开网页到页面显示之间的过程(涵盖了各个方面,DNS解析过程,Nginx请求转发、连接建立和保持过程、浏览器内容渲染过程,考虑的越详细越好)。

IP地址子网划分

POST和GET区别

DNS解析过程 

地址解析协议ARP

========================================================================

操作系统

内存的页面置换算法

进程调度算法

进程间通信方式

进程线程区别

进程之间的通信

父子进程、孤儿进程

fork进程时的操作,

========================================================================

Netty

 

为什么选择 Netty

说说业务中,Netty 的使用场景

原生的 NIO 在 JDK 1.7 版本存在 epoll bug

Netty 线程模型

说说 Netty 的零拷贝

Netty 内部执行流程

Netty 重连实现

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics