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

【学习升级路线1】

 
阅读更多

维的惰性

 

我30的时候,连跳两轮,直接翻了一倍,年龄没你想的那么可怕。可怕的是没有信心以及支持信心的底气。// @风一样的爱好者: 本人就是工资倒挂的程序猿,不是不想跳槽,人过30岁,编码岗位并不是那么好找

 

坚持。长期地坚持去做一件事情,真的很难。不过,当你下定决心持续地去做一件事情的时候,你的坚持就会变成一种习惯。习惯一旦养成,你不去做那件事情的时候,反而会觉得心里不舒服,好像少了什么似的因为平时要上班,所以一天下来,其实也没多少时间去研究Android系统。这时候我就告诉自己,更加要坚持,并且给自己算了一笔数:工作日每天看20页书,周末每天看50页书,大概两周就可以看一本400~500页的书;一天看300行左右代码,一周就能看2000~3000行代码;一天写1个段落的博客,一周也能捣鼓出1篇来。另外,当坚持了一段时间之后,就会发现学习的速度比以前更快了,就好像有一种加速度一样,这时候就会发现事情越做越快。

 

自信。自信是很重要的,尤其是在你做一件很有挑战性的事情的时候。如果没有自信,在碰到难以解决的困难时,或许就会放弃了。其实在很多时候,机遇都是偏爱那些有自信并且一直坚持着梦想的人。记得在研究Android系统的UI渲染服务SurfaceFlinger的时候,被一个20多行代码的函数难住了,百思不得其解。后来盯了两三天,联系了各种上下文,最后总算是把它弄明白了。我一直都相信潜意识这种东西:只要你相信你能解决一个问题,并且坚持住不放弃,潜意识就会帮助你去加工和组织各种原始信息。因此,自信很重要,它是一种软实力:有自信不一定能成功,但是没有自信要成功就难上加难。

 

淡定。淡定是一种人生态度,它能使你不功利,不浮躁,从容地面对得与失,找到一条更合适自己长远发展的路。往往梦想都是一个比较长期的东西,不是短期内就能看到效益的。在坚持梦想的过程中,又可能要付出很多代价,例如,你没有时间找(陪)老婆或者女朋友,你赚的钱没有一起毕业的同学多,诸如此类的等等事情。这时候,你就更需要淡定:只要你判断你正在做的事情是值得的,你就淡定地面对别人的眼光和周围的环境。我发现写博客以来,自己变得越来越宅了,下班后和周末都更愿意呆在房间里,当渐渐地发现同学都在忙着晒结婚照或者小孩照的时候,自己还在单身着:(。这可能就是宅的代价吧,不过现在对这件事情还是比较淡定:)。

  

总结来说就是:心怀梦想,带着自信和淡定,持之以恒,学习、学习,再学习!很讽刺的是,如果是五六年以前的自己看到上面的这些文字,我会觉得很扯,很空洞,没意义。人可能就是要非得亲自去经历一些事情,才能深刻地领会一些道理。

 

缺点:

1、不爱说话

2、以前很活泼,现在什么事情都提不起精神

3、有时候有点自负,觉得是别人的问题

4、出现问题喜欢回避问题找原因

 

规划:

1、多说话,多发表意见

2、做事情要更加主动、积极,而不是一味的埋头苦干,同时也需要端正态度

3、要有效沟通,锻炼自己的表达沟通能力

4、直面问题,不找理由,从自己身上找原因

5、熟悉各系统的规划、流程,知道为什么如此设计

 

(1)、喜欢自己闷着头想问题,不喜欢沟通

改善计划:做事情需要更加主动、积极,而不是一味的埋头苦干,出现问题时多沟通了解实际情况,表达自己的意见和看法。平常注意锻炼自己的沟通表达能力。

(2)、出现异常或遇到问题时,有时候会有点自负,觉得是别人的问题而不会从自己身上找原因,喜欢回避问题找原因

改善计划:出现问题时,先端正自己的态度,保持耐心,不找理由,多从自己身上找原因。然后再仔细查找问题解决问题。处理完成后仔细思考问题出现的原因,是技术问题还是因为自己考虑欠缺导致的。同时总结归类问题,防止同类问题再次出现。

(3)、各系统之间的关联、系统架构及为何如此设计等了解不清楚

改善计划:多花些时间和精力了解系统之间的耦合关系,了解系统业务流程走向及设计初衷,多思考各系统之间的内在关系。学习东西不是越多越泛才好,而应该是着手眼前,将我们自己的系统的方方面面都了解清楚,研究透彻。

 

30-33岁这个阶段,最关键的是了解自己。知道自己擅长什么,自己的优势在哪里,怎样才能够最大化自己的价值,同时也知道自己有什么重大缺陷。未来是扬长避短还是不断避免自己的缺陷,这些需要提前想清楚。一旦想清楚,想透了,就剩下行动。你可以选择避开做自己不擅长的事情,不勉强自己,不让自己处于对自己不利的环境。当然,你也可以选择不断补短,把自己的不擅长点变成自己最擅长的。这个需要结合自己的情况来慎重选择,最终看你要走什么样的一条路,是打算做技术专家、管理者、还是技术结合产品,还是创业者。

 

最后,再送给大家一个我的一个锦囊。

每天坚持锻炼,比如:跑步、游泳等,至少一项运用可以坚持3个月以上。

你会逐渐发现,也许这些都不是个事。

 

基本功

 

面向对象的特征

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

拆箱装箱的原理

https://uule.iteye.com/admin/blogs/2435541

内存泄漏与内存溢出的区别

https://uule.iteye.com/admin/blogs/2435658

java反射原理, 注解原理? 

https://uule.iteye.com/admin/blogs/2436297

 

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的所有情况…

 Collections.sort底层排序方式

手撕归并排序

微服务你的理解?以及常用的微服务方案dubbo、spring cloud的比较?

四个表 记录成绩,每个大约十万条记录,如何找到成绩最好的同学

OSGi的机制

项目里有个数据安全的,aes和md5的区别?详细点

用到过哪些rpc框架 

多个RPC请求进来,服务器怎么处理并发呢

soa和微服务的区别?

设计一个秒杀系统?

描述分布式事务之TCC服务设计?

 

高并发下的Java数据结构(List、Set、Map、Queue)

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

项目

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

系统的量级、pv、uv等

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

项目难点,问题

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

项目中遇到最自豪的地方

会什么算法

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

数据结构与算法基础

 

排序:

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

用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 算法)写代码实现

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

把一个 bst 转化成一个双向链表。

手写一个全排列。

用多线程统计1到1000000之间有多少素数

1、给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。

2、10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。

 

查找算法

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垃圾回收的基本流程?

JVM的内存布局以及垃圾回收原理及过程讲一下,讲一下CMS垃圾收集器垃圾回收的流程,以及CMS的缺点

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

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

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

JVM有哪些常用启动参数可以调整,描述几个?

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

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

 

 

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

CAS 乐观锁

ABA 问题

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

https://uule.iteye.com/admin/blogs/2435465

 

synchronize 实现原理

synchronized 与 lock 的区别

分段锁的机制

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

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

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

框架使用

Spring

BeanFactory 和 ApplicationContext 有什么区别

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

Spring中BeanFactory和FactoryBean有什么区别?

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

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

 spring中bean加载机制,bean生成的具体步骤,ioc注入的方式

 spring何时创建applicationContext

 listener是监听哪个事件? 

   springmvc和spring-boot区别

 springboot的启动流程

 Bean的默认作用范围是什么?其他的作用范围?

 BeanFactory和SpringApplicationContext是什么关系,有什么不同。

 

 spring中bean加载机制,bean生成的具体步骤,ioc注入的方式

 spring何时创建applicationContext

 listener是监听哪个事件? 

   springmvc和spring-boot区别

 @Autowired的实现原理

 springboot的启动流程

 Bean的默认作用范围是什么?其他的作用范围?

 

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的特点?

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

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

乐观锁和悲观锁的区别?行锁,表锁;乐观锁,悲观锁

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

数据库隔离级别是什么?有什么作用?数据库事务的几种粒度;

数据库的隔离级别和解决的问题

数据库默认隔离级别,一定会产生幻读吗,怎么解决

事务四大特性(ACID)

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

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

 

主从复制:

MySQL主备同步的基本原理。

数据库的主从复制

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

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

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

 

索引:

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

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

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

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

B+索引实现

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

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

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

为什么要用 B-tree

MySQL为什么使用B+树

多个索引会有多份数据吗

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

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

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

https://blog.csdn.net/u014496330/article/details/53056271

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

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

 

mysql索引类型

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

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

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

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

倒排索引

MySQL 索引使用的注意事项

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

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

  

分库分表:

说说分库与分表设计

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

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

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

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

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

 

优化:

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

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

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

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

使用explain优化sql和索引

long_query怎么解决

说说 SQL 优化之道

MySQL查询优化

MySQL慢查询开启,语句分析

https://www.cnblogs.com/kongzhongqijing/articles/3544822.html

https://blog.csdn.net/zxc123e/article/details/77683920

http://www.cnblogs.com/kongzhongqijing/articles/3544020.html

limit 20000 加载很慢怎么解决

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

 

锁:

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

数据库乐观锁使用

根据具体场景,说明版本控制机制

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

MySQL 遇到的死锁问题

死锁怎么解决

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

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

死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决

如何避免死锁

什么是死锁?如何避免

https://uule.iteye.com/admin/blogs/2435485

 

注入:

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

SQL注入的原理,如何预防

 

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

https://blog.csdn.net/u013952133/article/details/79168644

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

了解nosql

http://uule.iteye.com/blog/2429681

数据库连接池的原理

https://blog.csdn.net/fuyuwei2015/article/details/72419975

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

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

MySQL有哪几种join方式,底层原理是什么,答不会,只知道表现形式。(NLJ算法 Nested Loop Join )

https://www.cnblogs.com/JohnABC/p/7150921.html

 

数据库如果让你来垂直和水平拆分,谁先拆分,拆分的原则有哪些(单表数据量多大拆)

 

红黑树比BST优点

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

说说反模式设计

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

三大范式

选择合适的数据存储方案

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

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

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

 

ObjectId 规则

聊聊 MongoDB 使用场景

聊聊 ElasticSearch 使用场景

MySQL极限

 

 

深入

 

MVCC机制

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

varchar和char的使用场景。

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

mysql并发情况下怎么解决(通过事务、隔离级别、锁)

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

缓存使用

 

Redis:

Redis 有哪些类型 内部结构

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

聊聊 Redis 使用场景

Redis 持久化机制

Redis 如何实现持久化

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

redis的配置文件(AOF&&Snapshot&&主从复制)

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

 

 

问我Redis怎么做集群,答了主从哨兵和cluster。

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

Redis 集群方案与实现

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

Redis等缓存系统/中间件SQL/一致性Hash等

http://uule.iteye.com/blog/2429825

http://uule.iteye.com/blog/2430374

Redis集群分片原理

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

 

memcache与redis的区别

redis和Memcached(支持数据持久化)

http://uule.iteye.com/blog/2429643

Redis 为什么是单线程的

http://uule.iteye.com/blog/2432048

 

基于redis和基于zookeeper的分布式锁实现原理

redis缓存穿透、缓存雪崩

redis队列应用场景

发布/订阅使用场景

列举一个常用的Redis客户端的并发模型。

最后谈谈Redis、Kafka、 Dubbo,各自的设计原理和应用场景

Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?

redis如何处理分布式服务器并发造成的不一致

 

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

缓存奔溃

缓存降级

使用缓存的合理性问题

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

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

 

HBase如何实现模糊查询?

列举一个常用的消息中间件,如果消息要保序如何实现?

如何实现一个Hashtable?你的设计如何考虑Hash冲突?如何优化?

分布式缓存,一致性hash

LRU算法,slab分配,如何减少内存碎片

如何解决缓存单机热点问题

什么是布隆过滤器,其实现原理是? False positive指的是?

 

map/reduce过程,如何用map/reduce实现两个数据源的联合统计

分布式使用场景(储存session等)

 

讲讲Redis的架构和组件

谈谈Redis相关的集群有哪些成熟方案?

最后谈谈Redis、Kafka、 Dubbo,各自的设计原理和应用场景

Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?

redis的hash数据结构最多能存储多少个元素

redis如何处理分布式服务器并发造成的不一致

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

分布式

 

谈谈业务 中使用分布式的场景

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。

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

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

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

 

nginx的负载均衡

https://uule.iteye.com/admin/blogs/2436292

 

 

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

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

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

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

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

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

 

集群:

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

常见的负载均衡算法有哪些

负载均衡的算法

https://uule.iteye.com/admin/blogs/2435502

请画一个完整大型网站的分布式服务器集群部署图

单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述。

https://uule.iteye.com/admin/blogs/2436086

 

集群、负载均衡、分布式、数据一致性的区别与关系

集群服务器 如何application 共享

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

Zookeeper

zookeeper有什么功能,选举算法如何进行

https://uule.iteye.com/admin/blogs/2434027

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

消息队列

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

Kafka怎么保证数据可靠性?

如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路。

消息队列的使用场 景

消息的重发补偿解决思路

消息的幂等性解决思路

消息的堆积解决思路

自己如何实现消息队列

如何保证消息的有序性

消息队列具体怎么实现,请求太多怎么办。后者我回答了个负载均衡,这个回答其实没有抓到面试官的点,不过面试官就顺着这个问题问了负载均衡的实现,请求怎么调度,有无状态问题。到最后面试官简单总结了一下,负载均衡的调度的话可以通过将数据存储抽象实现无状态。

面试官还对之前问的消息队列请求过多的问题总结了一下,说是通过在请求中记录超时时间戳。另外,前边的syn防御也是通过缩短半链接的超时来解决。感觉面试官给的这些答案都非常的偏实际工程应用。

 

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

设计模式与重构

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

MVVM,MVC,MVT

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

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

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

如何实现一个单例?

代理模式(动态代理)

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

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

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

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

Linux使用与问题分析排查

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

1、使用touch 命令:touch 文件名

2、直接使用编辑命令 vi 文件名 , 保存之后就有这个文件了

往文件中写入内容:

echo "New line" >> hard.txt

 

硬链接和软链接的区别?

https://uule.iteye.com/admin/blogs/2435151

在LINUX里,如何查看一个监听端口为8060的进程?

ps -ef|grep 12886 

 

怎么看一个Java线程的资源耗用?

https://www.toutiao.com/a6728620010073227790/?tt_from=android_share&utm_campaign=client_share&timestamp=1566664931&app=news_article&utm_medium=toutiao_android&req_id=201908250042110101520481610482F1E&group_id=6728620010073227790

 

https://blog.csdn.net/sunguojian111/article/details/81979464

https://blog.csdn.net/puhaiyang/article/details/78663942

TOP命令,查找到JAVA线程内存和CPU使用情况,如86184

top -Hp 86184  ,查询该进程下的线程资源 

使用jstack 86184 > jstack.txt  ,输出 该进程下的线程信息,

比如,观察到86344这个线程占用cpu 大, 将10进制的86344 转换成16进制  15148

  cat jstack.txt | grep -i  15148

(由于在堆栈中线程id是用16进制表示的,因此可以将上述线程转化成16进制的表示。

 

jstack java进程id  | grep 16进制的线程id)

 

Linux常用命令有哪些?

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使用

 

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

网络协议和网络编程

 

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协议以及每层对应的协议。

https://blog.csdn.net/u011774517/article/details/67631439

SESSION机制、cookie机制

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

IP地址子网划分

POST和GET区别

DNS解析过程 

地址解析协议ARP

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

微服务篇

 

微服务

前后端分离是如何做的

微服务哪些框架

你怎么理解 RPC 框架

说说 RPC 的实现原理

说说 Dubbo 的实现原理

你怎么理解 RESTful

说说如何设计一个良好的 API

如何理解 RESTful API 的幂等性

如何保证接口的幂等性

说说 CAP 定理、 BASE 理论

怎么考虑数据一致性问题

说说最终一致性的实现方案

你怎么看待微服务

微服务与 SOA 的区别

如何拆分服务

微服务如何进行数据库管理

如何应对微服务的链式调用异常

对于快速追踪与定位问题

微服务的安全

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

操作系统

内存的页面置换算法

进程调度算法

进程间通信方式

进程线程区别

进程之间的通信

父子进程、孤儿进程

fork进程时的操作,

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

Netty

 

为什么选择 Netty

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

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

Netty 线程模型

说说 Netty 的零拷贝

Netty 内部执行流程

Netty 重连实现

分享到:
评论

相关推荐

    AI技术人才成长路线图

    2018年1月16日,在刚刚召开的“AI生态赋能2018论坛”上,CSDN副总裁孟岩重磅发布了AI技术职业升级指南——《AI 技术人才成长路线图V1.0》。该路线图基于10多位专家的切身经验,提炼出入门AI的两大方式与进阶AI的10大...

    嵌入式学习路线图

    ### 嵌入式学习路线图:从零到精通的关键步骤 #### 一、嵌入式领域的魅力与挑战 嵌入式系统,作为信息技术的重要分支,近年来在全球范围内展现出巨大的发展潜力和广阔的应用前景。它不仅涉及硬件设计、软件编程,...

    新迈腾导航升级的技术说明.rar

    在这一过程中,我们首先需要理解新迈腾导航系统的结构和工作原理,然后掌握导航软件的更新流程,最后学习如何安全有效地进行升级操作。 新迈腾导航系统是大众汽车在新款迈腾车型中搭载的一款先进导航设备,集成了...

    Android开发工程师学习路线图

    使用"移动开发大纲升级 V8.0.xmind"思维导图,可以系统地梳理学习路径,确保全面覆盖各个知识点。 通过以上步骤,你可以逐步成为一名优秀的Android开发工程师,不断提升自己的专业能力,适应不断变化的移动开发环境...

    《创新模式十二宫:后互联网时代企业创新升级路线图》读书笔记模板.pptx

    《创新模式十二宫:后互联网时代企业创新升级路线图》这本书提供了一套全面的方法论,旨在帮助企业理解在互联网浪潮过后的新环境下如何进行创新与转型。它以商业画布为载体,构建了一个十二宫格的创新模型,涵盖了...

    linux学习路线.pdf

    Arch Linux则面向追求最新技术和快速更新的开发者,其滚动升级特性保持系统始终领先,但可能不够稳定。Gentoo和Slackware更进一步,需要用户深度参与系统的构建和配置,适合高级用户。CentOS是基于Red Hat的社区版本...

    嵌入式学习清单和升级线路图.pdf

    以下是对标题“嵌入式学习清单和升级线路图.pdf”所提及的知识点的详细说明: 一、Linux 平台搭建与环境熟悉 这部分是嵌入式学习的基础,需要了解Linux系统的概览,包括其历史、主要特点、组成和不同版本,特别是...

    学习记录python语言 网新小白升级之路.rar

    为了帮助想从事python工作的小白,所以我把python学习的大致路线图以及每个阶段需要学习的具体内容都整理出来,希望能帮助零基础的小白少走一些弯路。 当编程小白问怎么自学的时候,他其实是缺一套课程入门。 当...

    机器人产业军民融合发展路线研究.pdf

    从给定的文件内容来看,研究集中于机器人产业军民融合的发展路线,解决该产业发展的核心问题,并提出相应的技术路线和方法,以支持机器人的自主控制和转型升级。文中提到了目前机器人研究的重点主要集中在性能提升、...

    人工智能产业路线图

    - **1级:数字化** ——企业的核心业务流程实现了标准化和数字化。 - **2级:商业智能** ——通过数据挖掘和数据分析实现对业务的描述性分析。 - **3级:算法模型** ——企业开始运用机器学习算法建立预测模型和...

    机器学习 —— 机器学习概述.pptx

    例如,在物流领域,机器学习可以用于优化路线规划、预测配送时间、识别异常订单等,极大地提升了物流行业的效率和准确性。 常见的机器学习框架有Python的scikit-learn库和Apache Spark的MLlib。scikit-learn是一个...

    cocos creator塔防游戏路线资源

    1. **塔防游戏的基本架构** - **地图设计**:塔防游戏的关键在于设计出有趣且具有挑战性的路线,玩家可以在上面布置防御塔。在Cocos Creator中,可以利用精灵(Sprite)和节点(Node)来构建复杂的地形和路径。 - ...

    《AI 技术人才成长路线图》.docx

    2018年1月16日,在刚刚召开的“AI生态赋能2018论坛”上,CSDN副总裁孟岩重磅发布了AI技术职业升级指南——《AI 技术人才成长路线图V1.0》。该路线图基于10多位专家的切身经验,提炼出入门AI的两大方式与进阶AI的10大...

    参加“工业融合互联网创新推动‘四川制造’转型升级专题培训班”学习情况汇报.doc

    培训内容涵盖了一系列重要知识点,包括税收优惠政策、经济转型升级、中国制造2025战略、智能装备与智能工厂的实践、农业装备的技术路线图,以及互联网、大数据和物联网的应用。 1. **税收优惠政策**: - **企业...

    基于机器人产业发展阶段的政策—技术路线图构建.pdf

    【标签】:机器人、机器学习、深度学习、参考文献、专业指导 【正文】: 随着全球机器人产业的快速发展,各国都在积极布局机器人技术路线图,以求在未来竞争中占据优势。然而,现有技术路线图往往忽视了政策在产业...

    CAD内核升级介绍

    ##### 1. 性能提升 - **运算速度**:升级后的CAD内核通常能够提高计算效率,加快设计过程,减少等待时间。 - **内存优化**:新的内核往往能够在保持相同或更高性能的同时减少内存占用,这对于拥有大量数据的设计...

    指向深度学习的课堂教学中教师角色的转变.pdf

    在机器学习的发展历程中,深度学习经历了不同的技术路线,如控制论、关联主义以及对机器学习升级的深度学习观念和技术路径。 深度学习在教学中的应用需要教师具备深层次的课程理解能力。教师不仅需要关注知识的传授...

    Oracle最新云基础架构路线图发布.pdf

    在这一路线图中,Oracle宣布了NVIDIA A100 GPU的全面上市,这是一个关键的硬件升级,对于需要大量图形处理和并行计算能力的工作负载来说,这是一个巨大的提升。NVIDIA A100 GPU以其先进的Tensor Cores和多实例GPU ...

    藏经阁-从码农到CTO再到CEO过程中的认知升级.pdf

    1. **从码农到TL(Team Leader)**: 在这一阶段,一个码农需要提升自己的技术水平,同时培养情商,成为团队的技术专家和领导者。作为TL,不仅要关注技术细节,还要学会管理和协调团队,培养团队的自组织能力,理解...

    World Wind学习总结

    1. **基本操作**:首先,了解World Wind的基本界面和操作是至关重要的。这包括如何启动程序、缩放、平移、旋转地球视角,以及如何调整光照和视图角度,以便更好地观察地表特征。 2. **数据获取**:World Wind能够...

Global site tag (gtag.js) - Google Analytics