
面试专栏
丁禾
什么都不做,才来不及。
展开
-
Java开发,一年工作经验是如何准备面试,获得offer的
个人背景:普通二本,一年工作经验,没有大厂背景,没有好的开源项目。一、离职动机我为什么离职:上家公司疫情原因没有涨工资(今年好像很多都是这样),而且我之前的工资比较低。我觉得在上家公司对自己的发展有限制(主要是技术方面)。其实上家的办公环境,跟工作氛围都挺好的,也不怎么加班。薪资跟个人发展是我离职的主因。一般离职原因有薪资低、个人发展受限、团队氛围不好、干的不爽等等,需要自己考虑是否要离职。是否要裸辞我这次的离职差不多就是裸辞,我准备了两个多月的面试之后在没有offer的情况下就提了离职原创 2020-08-31 15:02:27 · 4150 阅读 · 2 评论 -
JAVA社招面试问题总结(一年工作经验)
以下面试问题很多是我在最近面试过程中遇到的:一年工作经验小白,请大佬指点1、Java常考知识点java的基本数据类型与包装类;final修饰变量类方法;String为什么是不可变的,以及new String(“abc”)创建了几个对象;String、StringBuffer、以及StringBuilder的区别;static修饰变量,方法,代码块;重写跟重载的区别;接口跟抽象类;反射、继承、枚举、异常等知识点;为什么要重写hashcode和equals方法,以及hashcode相同e原创 2020-08-23 12:56:58 · 17316 阅读 · 28 评论 -
面试总结之 《算法》
1.链表逆序2.Z型打印二叉树3.如何在很大数量级的数据中(比如1个亿)筛选出前10万个最大值原创 2020-08-16 09:17:53 · 623 阅读 · 0 评论 -
面试总结之 《分布式事务》
文章目录一、分布式事务1. 本地事务和分布式事务二、分布式事务的基础1. CAP2. BASE3. 柔性事务4. 可见性(对外可查询)5. 幂等操作三、分布式解决方案1. 2PC2. 3PC3. 补偿事务(TCC)4. 本地消息表(异步确保)5. 事务消息6. 尽最大努力通知参考文章一、分布式事务1. 本地事务和分布式事务本地事务是解决单个数据源上的数据操作的一致性问题的话,那么分布式事务则是为了解决跨越多个数据源上数据操作的一致性问题。强一致性、弱一致性、最终一致性从客户端角度,多进程并发访问时原创 2020-08-15 18:57:14 · 1889 阅读 · 0 评论 -
面试总结之 《JVM》
1.为什么需要了解GC跟内存分配机制当需要排查各种内存溢出,内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。2.垃圾收集的区域垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。3.判断对象是否需要回收3.1引用计数法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减原创 2020-08-14 18:35:23 · 766 阅读 · 0 评论 -
面试总结之 《ZooKeeper》
文章目录1. ZooKeeper 是什么?2. ZooKeeper 提供了什么?3. Zookeeper 文件系统4. Zookeeper 怎么保证主从节点的状态同步?5. 四种类型的数据节点 Znode6. Zookeeper Watcher 机制 – 数据变更通知7. 客户端注册 Watcher 实现8. 服务端处理 Watcher 实现9. 客户端回调 Watcher10. ACL 权限控制机制11. Chroot 特性12. 会话管理13. 服务器角色14. Zookeeper 下 Server 工转载 2020-08-14 11:45:55 · 942 阅读 · 0 评论 -
面试总结之 《消息队列》
文章目录一、什么是RabbitMQ、以及为什么要使用。1. 什么是队列2. 什么是消息队列3. 什么是RabbitMQ4. 为什么要使用二、RabbitMQ中的组件1. 组件2. rabbitmq 的消息是怎么发送的四、RabbitMQ的工作模式1. simple模式(即最简单的收发模式)2. work工作模式(资源的竞争)3. publish/subscribe发布订阅(共享资源)4. routing路由模式5. topic 主题模式(路由模式的一种)五、如何保证消息99.99%被发送成功1. 事务机制2原创 2020-08-14 11:17:51 · 647 阅读 · 0 评论 -
面试总结之 《Spring Cloud》
文章目录一、Spring Cloud 和dubbo区别?二、Eureka1. 什么是Eureka2. Eureka怎么实现高可用3. 什么是Eureka的自我保护模式4. Eureka和ZooKeeper都可以提供服务注册与发现的功能,请说说两个的区别三、Zuul1. 什么是网关?2. 网关的作用是什么3. 什么是Spring Cloud Zuul(服务网关)4. Ribbon是什么?四、 Hystrix1. 什么是断路器2. 什么是Hystrix五、Feign六、Config参考文章一、Spring C原创 2020-08-10 18:13:27 · 754 阅读 · 0 评论 -
面试总结之 《Dubbo》
文章目录一、什么是RPC二、服务注册与发现三、Dubbo 服务暴露的过程四、Dubbo集群提供了哪些负载均衡策略五、Dubbo的集群容错方案有哪些?一、什么是RPCRPC(Remote Procedure Call),远程过程调用,就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。RPC在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)。通常的调用过程,把函数序列化,远端收到后,再把函数反序列化,完成函数调用。R原创 2020-08-10 14:02:06 · 500 阅读 · 0 评论 -
面试总结之 《SpringBoot》
文章目录一、Springboot启动原理解析1. SpringBootApplication1. @Configuration2. @ComponentScan3. EnableAutoConfiguration3.Springboot的启动流程4. SpringBoot自动配置模块5. SpringBoot Starters参考文章一、Springboot启动原理解析1. SpringBootApplication@SpringBootApplication注解是Spring Boot的核心注解,它原创 2020-08-10 09:06:25 · 750 阅读 · 0 评论 -
面试总结之 《计算机网络》
文章目录一、七层协议二、三次握手三、四次挥手四、从浏览器输入网址到返回网页发生了什么一、七层协议1. 应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文。2. 表示层信息的语法语义以及他原创 2020-08-08 19:31:47 · 566 阅读 · 0 评论 -
面试总结之 《Spring》
什么是 Spring IOC 容器?原创 2020-08-08 16:00:15 · 719 阅读 · 0 评论 -
面试总结之 《集合》
文章目录一、Collection接口1. List1.1 ArrayList1.2 LinkedList1.3 Vector(已经放弃使用)1.4 线程安全List2. Set2.1 TreeSet2.2 HashSet2.3 LinkedHashSet3. Queue4.Map4.1 HashMap4.2 LinkedHashMap4.3 ConcurrentHashMap4.4 TreeMap4.5 HashTable我们常见的集合可以分为两大类Map接口和Collection接口接下来将对这两个接口原创 2020-08-05 15:13:35 · 1355 阅读 · 0 评论 -
面试总结之 《Redis》
文章目录Redis一、Redis为什么这么快二、Redis数据结构以及底层实现1. String类型2. Hash类型3. List类型4. Set类型5. zset类型6. 其它数据类型1)BloomFilter(布隆过滤器)2)pub/sub(订阅发布机制)三、Redis持久化机制1. 什么是持久化机制2. Redis的持久化机制是什么,各自的优缺点?1) RDB:是Redis DataBase缩写快照2) AOF:持久化3) AOF重写4) 如何选择合适的持久化方式5) Redis持久化数据和缓存怎么原创 2020-08-04 11:17:42 · 1585 阅读 · 0 评论 -
面试总结之 《线程与锁》
文章目录锁一、Synchronized升级过程实现二、AQS三、Lock实现四、共享锁和独占锁五、生产者消费者锁一、Synchronized升级过程实现Synchronized的升级顺序是 无锁–>偏向锁–>轻量级锁–>重量级锁,顺内不可逆。偏向锁Hotspot的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,于是引入了偏向锁。偏向锁会偏向于第一个访问锁的线程,如果在接下来的运行过程中,该锁没有被其他的线程访问,则持有偏向锁的线程将永远不需原创 2020-08-03 17:42:18 · 1311 阅读 · 0 评论 -
面试总结之 《Mysql》
Mysql一、innoDB跟myisam的区别1.从索引来说:两者底层实现都是B+树。MyISAM的索引和行记录时分开的,叫做非聚集索引。其主键索引与普通索引没有本质区别。有连续聚集的区域单独存储行记录。主键索引的叶子节点,存储主键,与对应行记录的指针。普通索引的叶子结点,存储索引列,与对应行记录的指针。查询过程:主键索引与普通索引是两棵独立的索引B+树,通过索引列查找时,先定位到B+树的叶子节点,再通过指针定位到行记录。InnoDB的索引: 与行记录存放在一起,所以叫做聚集索引。没有原创 2020-08-03 17:37:53 · 1390 阅读 · 0 评论