java开发应用程序过程,工作感悟
Posted 2021Java面试题
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java开发应用程序过程,工作感悟相关的知识,希望对你有一定的参考价值。
一面问题:mysql+Redis+Kafka+线程+算法
- mysql知道哪些存储引擎,它们的区别
- mysql索引在什么情况下会失效
- mysql在项目中的优化场景,慢查询解决等
- mysql有什么索引,索引模型是什么
- B-树与B+树的区别?为什么不用红黑树
- mysql主从同步怎么做
- 乐观锁与悲观锁的区别?
- binlog日志
- redis 持久化有哪几种方式,怎么选?
- redis 主从同步是怎样的过程?
- redis 的 zset 怎么实现的?
- redis key 的过期策略
- hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
- 如何实现线程安全的hashmap?
- select 和 epoll的区别
- http与https的区别,加密怎么加的?
- raft算法详细讲解
- Kafka 选主怎么做的?
- kafka如何保证生产与消费都是同步的?
- kafka 怎么保证不丢消息的
- redis如何保证高可用
- 算法:剪绳子(贪心或递归解决)
- 算法:给前序和中序遍历,重建二叉树
二面(volatile+线程+并发+算法+设计模式)
- 自我介绍
- 讲讲项目(项目没啥亮点,直接问基础)
- volatile作用?底层实现?禁止重排序的场景?单例模式中volatile的作用?
- 如何构造线程池,它的参数,饱和策略?
- 公平锁和非公平锁区别?为什么公平锁效率低?
- 线程都有哪些状态?
- 线程、进程、协程的区别?
- 同步队列器AQS思想,以及基于AQS实现的lock,。
- 并发工具类CountDownLatch、CyclicBarrier、Semaphore介绍
- Execuors类实现的几种线程池类型,最后如何返回?
- 手写单例模式
- 手写消费者生产者模式
- 算法:反转单链表
- 算法:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。
三面
这一面,没问啥东西,主要聊人生,和未来3年的规划。。。。。。
第二个是字节跳动
一面:算法+数据库+事务+网络
- 自我介绍
- 项目介绍(没亮点,还是问基础)
- 堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。
- Object类都有哪些方法?
- DNS解析的过程/浏览器输入一个url,敲下回车后网络的全过程
- HTTP和HTTPS的区别
- UDP怎么实现可靠传输
- 介绍下https,是如何加密的,加密算法
- 数据库索引的优缺点,以及什么时候数据库索引失效
- 事务的隔离级别?
- 数据库的脏读,不可重复读,幻读
- 算法:接雨水:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
- 算法:N皇后
二面:Kafka+redis+算法
- Kafka的特性?
- Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
- 消费者重平衡(高可用性、伸缩性)
- 哪些情景下会造成消息漏消费?
- 如何保证消息不被重复消费(幂等性)
- KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
- Kafka生产者客户端中使用了几个线程来处理?分别是什么?
- 消费者与生产者的工作流程:
- topic的分区数可不可以增加?
- 算法:二叉树中的最大路径和
- 算法:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
三面:Redis+Spring+Dubbo+算法
- redis的Zset怎么实现的?
- sentinel和cluster区别和各自适用场景
- redis cluster集群同步过程
- redis单线程为什么快?
- mybatis一级缓存和二级缓存
- spring如何解决循环依赖?
- spring AOP的原理。
- spring的生命周期。
- Dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码
- 项目中遇到了哪些问题。(抱歉,我的工作就是增删改查,没接触过相关问题)
- 算法:二叉树的镜像
- 算法:从上到下打印二叉树
最后瞄一眼腾讯
腾讯这三面下来问的也不少,自求多福吧。
一面
- 如何设计一个秒杀系统?
- 一天爬一千万条文章,怎么做设计?怎么并行协调?100 台服务器怎么尽可能负载均衡?
- 有用过短域名服务吗,能说一下吗?
- 微服务的特点,如何实现服务发现和负载均衡
- 如何排查线上问题?(背过,没排过)
- 贝叶斯的概率学原理
- 负载均衡的加权轮询算法怎么实现
- 如果用户量大幅度上涨,如何优化?
- paxos算法(这个算法太难,学的时候就没太理解)
- 平时都看什么博客,最近看什么书了
二面
- 自我介绍
- 项目介绍
- redis的5种类型,及其实现原理
- 如何使用redis的Zset实现延时队列?
- redis如何实现高可用?
- redis缓存穿透、缓存击穿、缓存雪崩
- 布隆过滤器的实现
- 如何保证mysql与redis的双写一致性?
- 负载均衡算法有哪些?
- 服务发现是怎么实现的?
- 熔断是怎么实现的?
- 算法:连续子数组的最大和
- 讲讲分布式CAP和BASE?
- 什么是强一致性?
- 分布式事务的解决方案?
- TCC(两阶段型、补偿型)
- id生成器如何实现?
- 如何判断一个图是否有环?
- 一致性Hash算法,及其应用
- 背包问题
三面
- 自我介绍
- 项目介绍
- redis的zSet如何实现?
- redis持久化机制。
- redis的Hash类型讲解,渐进式rehash。
- HashMap原理,一个put操作,都有什么流程?
- nginx有自己配置过吗(这个是我唯一手动操作过的,这个不是背的)
- nginx的使用场景。
- 什么是分布式,什么是集群,区别是什么?
- 在基于dubbo的分布式环境中,一般将超时timeout设置在provider还是consumer?
- dubbo中负载均衡的策略有哪些?
- 接口的异步调用?如何设置?运行效果?
- 谈谈基于dubbo的系统中consumer集群的解决方案?
- mysql是集群还是单节点?最大连接数,最大的表中数据量大约是多少?
- mysql主从复制主要有哪几种模式?
- mysql索引,B+树,为什么不用红黑树?
- 数据库垂直与水平拆分怎么做。
- 分布式session设置
- IO、BIO、NIO,阻塞与非阻塞的区别?
- 分布式接口的幂等性设计(不能重复扣付款)
- 算法:二叉搜索数与双向链表(这个懵了)
- 算法:最长不含重复字符的子字符串
- 算法:手写快速排序、插入排序、冒泡排序,并分析时间复杂度和空间复杂度,它们的稳定性
最后
小编在这里分享些我自己平时的学习资料,由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以关注+点赞,点击这里免费获取
程序员代码面试指南 IT名企算法与数据结构题目最优解
这是” 本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一-痛点, 本书选取将近200道真实出现过的经典代码面试题,帮助广“大程序员的面试准备做到万无一失。 “刷”完本书后,你就是“题王”!
《TCP-IP协议组(第4版)》
本书是介绍TCP/IP协议族的经典图书的最新版本。本书自第1版出版以来,就广受读者欢迎。
本书最新版进行」护元,以体境计算机网络技不的最新发展,全书古有七大部分共30草和7个附录:第一部分介绍一些基本概念和基础底层技术:第二部分介绍网络层协议:第三部分介绍运输层协议;第四部分介绍应用层协议:第五部分介绍下一代协议,即IPv6协议:第六部分介绍网络安全问题:第七部分给出了7个附录。
Java开发手册(嵩山版)
这个不用多说了,阿里的开发手册,每次更新我都会看,这是8月初最新更新的**(嵩山版)**
MySQL 8从入门到精通
本书主要内容包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL 函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与还原、MySQL 日志、性能优化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、php操作MySQL数据库和PDO数据库抽象类库等。最后通过3个综合案例的数据库设计,进步讲述 MySQL在实际工作中的应用。
Spring5高级编程(第5版)
本书涵盖Spring 5的所有内容,如果想要充分利用这一领先的企业级 Java应用程序开发框架的强大功能,本书是最全面的Spring参考和实用指南。
本书第5版涵盖核心的Spring及其与其他领先的Java技术(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本书的重点是介绍如何使用Java配置类、lambda 表达式、Spring Boot以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。
JAVA核心知识点+1000道 互联网Java工程师面试题
企业IT架构转型之道 阿里巴巴中台战略思想与架构实战
本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。
25933058662)]
JAVA核心知识点+1000道 互联网Java工程师面试题
[外链图片转存中…(img-3oOPT5L8-1625933058663)]
[外链图片转存中…(img-DcyrjG0v-1625933058664)]
企业IT架构转型之道 阿里巴巴中台战略思想与架构实战
本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。
以上是关于java开发应用程序过程,工作感悟的主要内容,如果未能解决你的问题,请参考以下文章