Skip to content

Latest commit

 

History

History
1197 lines (754 loc) · 48 KB

面试常见问题分类汇总.md

File metadata and controls

1197 lines (754 loc) · 48 KB

一 Java基础

一致性hash算法

https://blog.csdn.net/qq_40551994/article/details/100991581

sleep和wait

https://blog.csdn.net/qq_20009015/article/details/89980966 https://blog.csdn.net/lengyue309/article/details/79639245

强软弱虚引用

https://blog.csdn.net/junjunba2689/article/details/80601729

Arrays.sort原理

https://www.cnblogs.com/baichunyu/p/11935995.html

创建对象的方式

https://blog.csdn.net/w410589502/article/details/56489294

若hashcode方法永远返回1会产生什么结果

https://blog.csdn.net/cnq2328/article/details/50436175

解决hash冲突的三种方法

https://blog.csdn.net/qq_32595453/article/details/80660676

为什么要重写hashCode()方法和equals()方法以及如何进行重写

https://blog.csdn.net/xlgen157387/article/details/63683882

动态代理

https://segmentfault.com/a/1190000011291179

sleep和wait的区别

https://blog.csdn.net/u012050154/article/details/50903326

java 地址和值传递的例子

https://www.cnblogs.com/zhangyu317/p/11226105.html

Java序列化

https://juejin.im/post/5ce3cdc8e51d45777b1a3cdf

java NIO,java 多线程、线程池,java 网络编程解决并发量

Java Nio使用:https://blog.csdn.net/forezp/article/details/88414741 Java Nio原理:https://www.cnblogs.com/crazymakercircle/p/10225159.html 线程池:http://cmsblogs.com/?p=2448 为什么nio快:https://blog.csdn.net/yaogao000/article/details/47972143

JDBC 连接的过程 ,手写 jdbc 连接过程

https://blog.csdn.net/qq_44971038/article/details/103204217

说出三个遇到过的程序报异常的情况

https://www.cnblogs.com/winnie-man/p/10471338.html

socket 是靠什么协议支持的

TCP/IP,协议。socket用于 通信,在实际应用中有im等,因此需要可靠的网络协议,UDP则是不可靠的协议,且服务端与客户端不链接,UDP用于广播,视频流等

java io 用到什么设计模式

装饰模式和适配器模式

serviable 的序列化,其中 uuid 的作用

相当于快递的打包和拆包,里面的东西要保持一致,不能人为的去改变他,不然就交易不成功。序列化与反序列化也是一样,而版本号的存在就是要是里面内容要是不一致,不然就报错。像一个防伪码一样。

什么情景下会用到反射

注解、Spring 配置文件、动态代理、jdbc

浅克隆与深克隆有什么区别,如何实现深克隆

浅拷贝:仅仅克隆基本类型变量,而不克隆引用类型的变量 深克隆:既克隆基本类型变量,也克隆引用类型变量

1.浅克隆:只复制基本类型的数据,引用类型的数据只复制了引用的地址,引用的对象并没有复制,在新的对象中修改引用类型的数据会影响原对象中的引用。直接使用clone方法,再嵌套的还是浅克隆,因为有些引用类型不能直接克隆。 2.深克隆:是在引用类型的类中也实现了clone,是clone的嵌套,并且在clone方法中又对没有clone方法的引用类型又做差异化复制,克隆后的对象与原对象之间完全不会影响,但是内容完全相同。

反射能够使用私有的方法属性吗和底层原理?

https://blog.51cto.com/4247649/2109128

处理器指令优化有些什么考虑?

禁止重排序

object 对象的常用方法

Stack 和 ArrayList 的区别

statement 和 prestatement 的区别

1、Statement用于执行静态SQL语句,在执行时,必须指定一个事先准备好的SQL语句。 2、PrepareStatement是预编译的SQL语句对象,sql语句被预编译并保存在对象中。被封装的sql语句代表某一类操作,语句中可以包含动态参数“?”,在执行时可以为“?”动态设置参数值。 3、使用PrepareStatement对象执行sql时,sql被数据库进行解析和编译,然后被放到命令缓冲区,每当执行同一个PrepareStatement对象时,它就会被解析一次,但不会被再次编译。在缓冲区可以发现预编译的命令,并且可以重用。 4、PrepareStatement可以减少编译次数提高数据库性能。

手写模拟实现一个阻塞队列

https://www.cnblogs.com/keeya/p/9713686.html

util 包下有哪几种接口

很常见的 Nullpointerexception ,你是怎么排查的,怎么解决的;

静态内部类和非静态内部类的区别是什么?

怎么创建静态内部类和非静态内部类?

https://blog.csdn.net/qq_38366777/article/details/78088386

Xml 解析方式,原理优缺点

https://segmentfault.com/a/1190000013504078?utm_source=tag-newest

静态变量和全局变量的区别

二 Java集合

hashmap的jdk1.7和jdk1.8区别

https://juejin.im/post/5aa5d8d26fb9a028d2079264

https://blog.csdn.net/qq_36520235/article/details/82417949

concurrenthashmap的jdk1.7和jdk1.8区别

https://juejin.im/post/5df8d7346fb9a015ff64eaf9

HashMap 实现原理,扩容因子过大过小的缺点,扩容过程 采用什么方法能保证每个 bucket 中的数据更均匀 解决冲突的方式,还有没有其他方式(全域哈希)

扩容:https://www.jianshu.com/p/5730bff593ed

https://www.cnblogs.com/peizhe123/p/5790252.html

Collection 集合类中只能在 Iterator 中删除元素的原因

在Iterator的内部有个expectedModCount 变量, 该变量每次初始化Iterator的时候等于ArrayList的modCount,modCount记录了对ArrayList的结构修改次数, 在通过Iterator对ArrayList进行结构的修改的时候都会将expectedModCount 与modCount同步,但是如果在通过Iterator访问的时候同时又通过索引的方式去修改ArrayList的结构的话,由于通过索引的方式只会修改modCount不会同步修改expectedModCount 就会导致modCount和expectedModCount 不相等就会抛ConcurrentModificationException, 这也就是Iterator的fail-fast,快速失效的。所以只要采取一种方式操作ArrayList就不会出问题, 当然ArrayList不是线程安全的,此处不讨论对线程问题。

更加详细的解释 https://blog.csdn.net/yanshuanche3765/article/details/78917507

ArrayList、LinkedList、Vector

https://blog.csdn.net/zhangqiluGrubby/article/details/72870493

还了解除 util 其他包下的 List 吗?
CopyOnWriteArrayList

(1)CopyOnWriteArrayList使用ReentrantLock重入锁加锁,保证线程安全; (2)CopyOnWriteArrayList的写操作都要先拷贝一份新数组,在新数组中做修改,修改完了再用新数组替换老数组,所以空间复杂度是O(n),性能比较低下; (3)CopyOnWriteArrayList的读操作支持随机访问,时间复杂度为O(1); (4)CopyOnWriteArrayList采用读写分离的思想,读操作不加锁,写操作加锁,且写操作占用较大内存空间,所以适用于读多写少的场合; (5)CopyOnWriteArrayList只保证最终一致性,不保证实时一致性;

ConcurrentHashMap 和 LinkedHashMap 差异和适用情形

哈希表的原理:https://blog.csdn.net/yyyljw/article/details/80903391

可以以下方面进行回答 (1)使用的数据结构? (2)添加元素、删除元素的基本逻辑? (3)是否是fail-fast的? (4)是否需要扩容?扩容规则? (5)是否有序?是按插入顺序还是自然顺序还是访问顺序? (6)是否线程安全? (7)使用的锁? (8)优点?缺点? (9)适用的场景? (10)时间复杂度? (11)空间复杂度?

ConcurrentHashMap分段锁是如何实现,ConcurrentHashmap jdk1.8 访问的时候是怎么加锁的,插入的时候是怎么加锁的 访问不加 锁插入的时候对头结点加锁

jdk1.8;https://blog.csdn.net/weixin_42130471/article/details/89813248

ArrayDeque 的使用场景

1、用数组实现的双端队列 2、线程不是安全的 3、可以用来实现栈

ArrayBlockingQueue 源码

http://cmsblogs.com/?p=4755

(1)ArrayBlockingQueue不需要扩容,因为是初始化时指定容量,并循环利用数组; (2)ArrayBlockingQueue利用takeIndex和putIndex循环利用数组; (3)入队和出队各定义了四组方法为满足不同的用途; (4)利用重入锁和两个条件保证并发安全:lock、notEmpty、notFull

hashmap 和 treemap 的区别

http://cmsblogs.com/?p=4743

hashmap

(1)HashMap是一种散列表,采用(数组 + 链表 + 红黑树)的存储结构; (2)HashMap的默认初始容量为16(1<<4),默认装载因子为0.75f,容量总是2的n次方; (3)HashMap扩容时每次容量变为原来的两倍; (4)当桶的数量小于64时不会进行树化,只会扩容; (5)当桶的数量大于64且单个桶中元素的数量大于8时,进行树化; (6)当单个桶中元素数量小于6时,进行反树化; (7)HashMap是非线程安全的容器; (8)HashMap查找添加元素的时间复杂度都为O(1);

treemap

(1)TreeMap的存储结构只有一颗红黑树; (2)TreeMap中的元素是有序的,按key的顺序排列; (3)TreeMap比HashMap要慢一些,因为HashMap前面还做了一层桶,寻找元素要快很多; (4)TreeMap没有扩容的概念; (5)TreeMap的遍历不是采用传统的递归式遍历; (6)TreeMap可以按范围查找元素,查找最近的元素;

rehash 过程

https://www.jianshu.com/p/dde9b12343c1

HashMap 的负载因子,为什么容量为2^n

HashMap为了存取高效,要尽量较少碰撞,就是要尽量把数据分配均匀,每个链表长度大致相同,这个实现就在把数据存到哪个链表中的算法; 这个算法实际就是取模,hash%length,计算机中直接求余效率不如位移运算,源码中做了优化hash&(length-1), hash%length==hash&(length-1)的前提是length是2的n次方; 为什么这样能均匀分布减少碰撞呢?2的n次方实际就是1后面n个0,2的n次方-1 实际就是n个1; 例如长度为9时候,3&(9-1)=0 2&(9-1)=0 ,都在0上,碰撞了; 例如长度为8时候,3&(8-1)=3 2&(8-1)=2 ,不同位置上,不碰撞; 其实就是按位“与”的时候,每一位都能 &1 ,也就是和1111……1111111进行与运算

list,map,set 之间的区别

https://blog.csdn.net/u012102104/article/details/79235938

什么时候会用到 HashMap

常见的线程安全的集合类

三 JVM

反射在jvm层面的实现

https://www.jianshu.com/p/b6cb4c694951

jvm的方法区存什么?

https://www.jianshu.com/p/10584345b10a

JDK1.8 JVM方法区变成了什么,为什么这样做

https://blog.csdn.net/u011665991/article/details/107141348/

oom出现的原因

https://blog.csdn.net/iteye_9584/article/details/82583093

Class.forName和ClassLoader的区别

https://blog.csdn.net/qq_27093465/article/details/52262340

java对象信息分配

https://blog.csdn.net/u014520047/article/details/81940447

java虚拟机ZGC详解

https://vimsky.com/article/4162.html

java虚拟机CMS详解

https://juejin.im/post/5c7262a15188252f30484351

java虚拟机G1详解

https://zhuanlan.zhihu.com/p/59861022

JVM tomcat 容器启动,jvm 加载情况描述

tomcat请求流程:http://objcoding.com/2017/06/12/Tomcat-structure-and-processing-request-process/

其实就是jvm的类加载情况,非常相似 https://blog.csdn.net/lduzhenlin/article/details/83013143 https://blog.csdn.net/xlgen157387/article/details/53521928

四 多线程并发

volitale使用场景

https://blog.csdn.net/vking_wang/article/details/9982709

可重入锁,实现原理

ReetrantLock:https://www.jianshu.com/p/f8f6ac49830e

Java 无锁原理

https://blog.csdn.net/qq_39291929/article/details/81501829

讲讲多线程,多线程的同步方法

synchronized原理

https://www.jianshu.com/p/d53bf830fa09

reetrantlock

java 线程安全都体现在哪些方面

如果维护线程安全 如果想实现一个线程安全的队列,可以怎么实现?

JUC 包里的 ArrayBlockingQueue 还有 LinkedBlockingQueue 啥的又结合源码说了一通。

Java多线程通信方式

https://blog.csdn.net/u011514810/article/details/77131296 https://blog.csdn.net/xiaokang123456kao/article/details/77331878

CountDownLatch、CyclicBarrier、Semaphore 用法总结

https://segmentfault.com/a/1190000012234469

juc下的内容

https://blog.csdn.net/sixabs/article/details/98471709

AOS等并发相关面试题

https://cloud.tencent.com/developer/article/1471770 https://zhuanlan.zhihu.com/p/96544118 https://zhuanlan.zhihu.com/p/48295486

threadlocal

https://juejin.im/post/5ac2eb52518825555e5e06ee

java 线程池达到提交上限的具体情况 ,线程池用法,Java 多线程,线程池有哪几类,每一类的差别

https://blog.csdn.net/github_37130188/article/details/89504500

要你设计的话,如何实现一个线程池

http://www.vcchar.com/thread-29098-1-1.html

线程池的类型,固定大小的线程池内部是如何实现的,等待队列是用了哪一个队列实现 线程池种类和工作流程

重点讲 newcached 线程池 线程池工作原理 比如 corePoolSize 和maxPoolSize 这两个参数该怎么调

http://cmsblogs.com/?p=2448

线程池使用了什么设计模式

线程池使用时一般要考虑哪些问题

https://juejin.im/post/5d1882b1f265da1ba84aa676#heading-14

线程池的配置

Excutor 以及 Connector 的配置

https://www.cnblogs.com/kismetv/p/7806063.html

五 Java框架(ssm)

hibernate

Hibernate 的生成策略

主要说了 native 、uuid

https://blog.csdn.net/itmyhome1990/article/details/54863822

Hibernate 与 Mybatis 区别

https://blog.csdn.net/wangpeng047/article/details/17038659

Mybatis原理

https://www.javazhiyin.com/34438.html

mybatis执行select的过程

https://www.jianshu.com/p/ae2bda8f9d84 https://blog.csdn.net/qwesxd/article/details/90049863

mybatis有哪些executors

https://blog.csdn.net/weixin_42495773/article/details/106799280 https://blog.csdn.net/weixin_34025051/article/details/92405286

mybatis插件原理

https://www.cnblogs.com/qdhxhz/p/11390778.html

mybatis二级缓存

https://blog.csdn.net/csdnliuxin123524/article/details/78874261

spring&springmvc

面试题: https://mp.weixin.qq.com/s/2Y5X11TycreHgO0R3agK2A https://mp.weixin.qq.com/s/IdjCxumDleLqdU8MgQnrLQ

spring中的设计模式

https://juejin.im/post/5ce69379e51d455d877e0ca0

spring中bean的作用域

https://blog.csdn.net/weidaoyouwen/article/details/80503575

BeanFactory和FactoryBean区别

https://blog.csdn.net/weixin_38361347/article/details/92852611

aspect的种类

https://blog.csdn.net/StubbornAccepted/article/details/70767014

spring aop的实际应用

https://blog.csdn.net/zzh_spring/article/details/107207025

spring实现多线程安全

https://www.cnblogs.com/tiancai/p/9627109.html

spring的bean的高并发安全问题

https://blog.csdn.net/songzehao/article/details/103365494/

ioc aop总结(概述性)

https://juejin.im/post/5b040cf66fb9a07ab7748c8b https://juejin.im/post/5b06bf2df265da0de2574ee1

Spring 的加载流程,Spring 的源码中 Bean 的构造的流程

spring ioc系列文章:http://cmsblogs.com/?p=2806 加载流程(概述):https://www.jianshu.com/p/5fd1922ccab1 循环依赖问题:https://blog.csdn.net/u010853261/article/details/77940767 https://blog.csdn.net/a15119273009/article/details/108007864

Spring 事务源码,IOC 源码,AOP 源码

https://juejin.im/post/5c525968e51d453f5e6b744b

ioc、aop系列源码: https://segmentfault.com/a/1190000015319623 http://www.tianxiaobo.com/2018/05/30/Spring-IOC-%E5%AE%B9%E5%99%A8%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E7%B3%BB%E5%88%97%E6%96%87%E7%AB%A0%E5%AF%BC%E8%AF%BB/

spring 的作用及理解 事务怎么配置

https://www.jianshu.com/p/e7d59ebf41a3

spring事务失效情况

https://blog.csdn.net/luo4105/article/details/79733338

Spring 的 annotation 如何实现

https://segmentfault.com/a/1190000013258647

SpringMVC 工作原理

https://blog.csdn.net/cswhale/article/details/16941281

了解 SpringMVC 与 Struct2 区别

https://blog.csdn.net/chenleixing/article/details/44570681

springMVC 和 spring 是什么关系

项目中 Spring 的 IOC 和 AOP 具体怎么使用的

https://www.cnblogs.com/xdp-gacl/p/4249939.html https://juejin.im/post/5b06bf2df265da0de2574ee1

spring mvc 底层实现原理

https://blog.csdn.net/weixin_42323802/article/details/84038765

动态代理的原理

https://juejin.im/post/5a3284a75188252970793195

如果使用 spring mvc,那 post 请求跟 put 请求有什么区别啊; 然后开始问 springmvc:描述从 tomcat 开始到 springmvc 返回到前端显示的整个流程,接着问 springmvc 中的 handlerMapping 的内部实现,然后又问 spring 中从载入 xml 文件到 getbean 整个流程,描述一遍

六 微服务(springboot等)

springboot

springboot面试题 springboot面试题2

springcloud

springcloud面试题

七 数据结构

二叉树相关

https://www.jianshu.com/p/655d83f9ba7b https://www.jianshu.com/p/ff4b93b088eb

红黑树

https://www.jianshu.com/p/e136ec79235c https://zhuanlan.zhihu.com/p/31805309

八 数据库

MySQL

数据库死锁问题

https://blog.csdn.net/cbjcry/article/details/84920174

hash索引和B+树索引的区别

https://www.cnblogs.com/heiming/p/5865101.html

可重复的原理MVCC

https://www.cnblogs.com/wade-luffy/p/8686883.html https://blog.csdn.net/weixin_42041027/article/details/100587435 https://www.jianshu.com/p/8845ddca3b23

count(1)、count(*)、count(列名)

https://blog.csdn.net/iFuMI/article/details/77920767

mysql的undo、redo、binlog的区别

https://mp.weixin.qq.com/s/0z6GmUp0Lb1hDUo0EyYiUg

explain解释

https://segmentfault.com/a/1190000010293791

mysql分页查询优化

https://blog.csdn.net/hanchao5272/article/details/102790490

sql注入

https://blog.csdn.net/github_36032947/article/details/78442189

为什么用B+树

https://blog.csdn.net/xlgen157387/article/details/79450295

sql执行流程

https://juejin.im/post/5b7036de6fb9a009c40997eb

聚集索引与非聚集索引

https://juejin.im/post/5cdd701ee51d453a36384939

覆盖索引

https://www.jianshu.com/p/77eaad62f974

sql总结

https://juejin.im/post/5d3f9cc1f265da03a31d1192

有人建议给每张表都建一个自增主键,这样做有什么优点跟缺点

https://blog.csdn.net/yixuandong9010/article/details/72286029

对 MySQL 的了解,和 oracle 的区别

https://juejin.im/post/5cbdbb455188250ab224802d

500万数字排序,内存只能容纳5万个,如何排序,如何优化?

参考文章:https://juejin.im/entry/5a27cb796fb9a045104a5e8c

平时怎么写数据库的模糊查询(由字典树扯到模糊查询,前缀查询,例如“abc%”,还是索引策略的问题)

数据库里有 10000000 条用户信息,需要给每位用户发送信息(必须发送成功),要求节省内存

项目中如何实现事务

数据库设计一般设计成第几范式

https://blog.csdn.net/hsd2012/article/details/51018631

mysql 用的什么版本 5.7 跟 5.6 有啥区别

提升 MySQL 安全性

https://blog.csdn.net/listen_for/article/details/53907270

问了一个这样的表(三个字段:姓名,id,分数)要求查出平均分大于 80 的 id 然后分数降序排序,然后经过提示用聚合函数 avg。

select id from table group by id having avg(score) > 80 order by avg(score) desc。

为什么 mysql 事务能保证失败回滚

主键索引底层的实现原理

B+树

经典的01索引问题?

如何在长文本中快捷的筛选出你的名字?

全文索引

多列索引及最左前缀原则和其他使用场景

事务隔离级别

索引的最左前缀原则

数据库悲观锁怎么实现的

https://www.jianshu.com/p/f5ff017db62a

建表的原则

索引的内涵和用法

给了两条 SQL 语句,让根据这两条语句建索引(个人想法:主要考虑复合索引只能匹配前缀列的特点)

那么我们来聊一下数据库。A 和 B 两个表做等值连接(Inner join) 怎么优化

https://blog.csdn.net/hguisu/article/details/5731880

哈希

数据库连接池的理解和优化

Sql语句分组排序

SQL语句的5个连接概念

数据库优化和架构(主要是主从分离和分库分表相关)

分库分表

跨库join实现

探讨主从分离和分库分表相关

数据库中间件

读写分离在中间件的实现

限流 and 熔断

行锁适用场景

https://cloud.tencent.com/developer/article/1104098

Redis

redis为什么快?

https://zhuanlan.zhihu.com/p/57089960

Redis 数据结构原理

https://blog.csdn.net/jackFXX/article/details/82318080

Redis 持久化机制

Redis 的一致性哈希算法

redis了解多少

redis五种数据类型,当散列类型的 value 值非常大的时候怎么进行压缩

用redis怎么实现摇一摇与附近的人功能

https://blog.csdn.net/smartwu_sir/article/details/80254733

redis 主从复制过程

Redis 如何解决 key 冲突

redis 是怎么存储数据的

redis 使用场景

九 计算机网络

cookie 禁用怎么办

https://segmentfault.com/q/1010000007715137

Netty new 实例化过程

socket 实现过程,具体用的方法;怎么实现异步 socket.

https://blog.csdn.net/charjay_lin/article/details/81810922

浏览器的缓存机制

说明计算机网络的知识还没有记住

https://www.cnblogs.com/yangyangxxb/p/10218871.html

http相关问题

https://mp.weixin.qq.com/s/xSGD3rWdboeeQvaS8jEchw

TCP三次握手第三次握手时ACK丢失怎么办

https://www.cnblogs.com/wuyepeng/p/9801470.html

dns属于udp还是tcp,原因

https://www.zhihu.com/question/310145373

http的幂等性

https://www.cnblogs.com/weidagang2046/archive/2011/06/04/idempotence.html

建立连接的过程客户端跟服务端会交换什么信息(参考 TCP 报文结构)

丢包如何解决重传的消耗

https://cloud.tencent.com/developer/article/1195037

traceroute 实现原理

https://zhuanlan.zhihu.com/p/36811672

IO多路复用

https://sanyuesha.com/python-server-tutorial/book/ch05.html

select 和 poll 区别?

好文:https://www.jianshu.com/p/dfd940e7fca2

在不使用 WebSocket 情况下怎么实现服务器推送的一种方法

服务器推送:https://juejin.im/post/5c20e5766fb9a049b13e387b

可以使用客户端定时刷新请求或者和 TCP 保持心跳连接实现。

查看磁盘读写吞吐量?

https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html

PING 位于哪一层

ping命令本身相当于一个应用程序,位于应用层,虽然它使用的是ICMP协议,就好像HTTP位于应用层,但是也是使用的TCP协议

网络重定向,说下流程

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections

controller 怎么处理的请求:路由

IP 地址分为几类,每类都代表什么,私网是哪些

https://zhuanlan.zhihu.com/p/54593244

十 操作系统

Java I/O 底层细节,注意是底层细节,而不是怎么用

可以从Java IO底层、JavaIO模型(阻塞、异步等) https://www.cnblogs.com/crazymakercircle/p/10225159.html

Java IO 模型(BIO,NIO 等) ,Tomcat 用的哪一种模型

tomcat支持:https://blog.csdn.net/fd2025/article/details/80007435

当获取第一个获取锁之后,条件不满足需要释放锁应当怎么做?

https://www.jianshu.com/p/eb112b25b848

手写一个线程安全的生产者与消费者。

https://blog.csdn.net/u010983881/article/details/78554671

进程和线程调度方法

https://www.jianshu.com/p/91c8600cb2ae

linux

linux查找命令

https://blog.51cto.com/whylinux/2043871

项目部署常见linux命令

https://blog.csdn.net/u010938610/article/details/79625988

进程文件里有哪些信息

sed 和 awk 的区别

awk用法:https://www.cnblogs.com/isykw/p/6258781.html

其实sed和awk都是每次读入一行来处理的,区别是:sed 适合简单的文本替换和搜索;而awk除了自动给你分列之外,里面丰富的函数大大增强了awk的功能。数据统计,正则表达式搜索,逻辑处理,前后置脚本等。因此基本上sed能做的,awk可以全部完成并且做的更好。

作者:哩掉掉 链接:https://www.zhihu.com/question/297858714/answer/572046422

linux查看进程并杀死的命令

https://blog.csdn.net/qingmu0803/article/details/38271077

有一个文件被锁住,如何查看锁住它的线程?

如何查看一个文件第100行到150行的内容

https://blog.csdn.net/zmx19951103/article/details/78575265

如何查看进程消耗的资源

https://www.cnblogs.com/freeweb/p/5407105.html

如何查看每个进程下的线程?

https://blog.csdn.net/inuyashaw/article/details/55095545

linux 如何查找文件

linux命令:https://juejin.im/post/5d3857eaf265da1bd04f2437

select epoll等问题

https://juejin.im/post/5b624f4d518825068302aee9#heading-13

十一 框架其他

Servlet 的 Filter 用的什么设计模式

https://www.jianshu.com/p/e4197a54828d

zookeeper 的常用功能,自己用它来做什么

redis 的操作是不是原子操作

https://juejin.im/entry/58f9e22044d9040069d40dca

秒杀业务场景设计

如何设计淘宝秒杀系统(重点关注架构,比如数据一致性,数据库集群一致性哈希,缓存, 分库分表等等)

对后台的优化有了解吗?比如负载均衡

我给面试官说了 Ngix+Tomcat 负载均 衡,异步处理(消息缓冲服务器),缓存(Redis, Memcache), NoSQL,数据库优化,存储索引优化

对 Restful 了解 Restful 的认识,优点,以及和 soap 的区别

https://www.ruanyifeng.com/blog/2011/09/restful.html

lrucache 的基本原理

十二 设计模式

Java常见设计模式

  • https://www.jianshu.com/p/61b67ca754a3
  • 单例模式(双检锁模式)、简单工厂、观察者模式、适配器模式、职责链模式等等
  • 享元模式模式 选两个画下 UML 图
  • 手写单例 写的是静态内部类的单例,然后他问我这个地方为什么用 private,这儿为啥用 static, 这就考察你的基本功啦
  • 静态类与单例模式的区别
  • 单例模式 double check 单例模式都有什么,都是否线程安全,怎么改进(从 synchronized 到 双重检验锁 到 枚举 Enum)
  • 基本的设计模式及其核心思想
  • 来,我们写一个单例模式的实现

十三 分布式

dubbo中的dubbo协议和http协议有什么区别?

https://blog.csdn.net/wjw_77/article/details/99696757

负载均衡

https://juejin.im/post/5b39eea0e51d4558c1010e36

分布式锁的实现方式及优缺点

https://zhuanlan.zhihu.com/p/62158041

CAP

https://www.jianshu.com/p/8025e3346734

如何实现分布式缓存

redis如何实现分布式缓存 https://stor.51cto.com/art/201912/607229.htm

十四 其他

Java 8 函数式编程 回调函数

函数式编程,面向对象之间区别

Java 8 中 stream 迭代的优势和区别?

同步等于可见性吗?

保证了可见性不等于正确同步,因为还有原子性没考虑。

git底层数据结构

https://blog.csdn.net/leo187/article/details/106233706

安全加密

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html https://yq.aliyun.com/articles/54155

web安全问题

https://juejin.im/post/5da44c5de51d45783a772a22