最新美团点评Java团队面试题,感悟分享
1.笔试常见的问题?面试常见的问题上面给的面试题链接基本都有。我只提几点:1.写SQL:写SQL很常考察groupby、内连接和外连接。2.手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其他的排序代码。试想:如果一般面试者都写的冒泡排序,而你写的是快速排序/堆排序,肯定能给面试官留下不错的印象。
Promise入门
ES6为什么推出PromisePromise是ES6新增的引用类型,让我们的异步逻辑代码更加优雅。异步就相当于你会了影分身,本来你只能同一时间做一个事情,但是当你有了分身之后,你可以和他同一时间做不同的事情。所以,异步增加了我们事情完成的效率,这也就是我们常说的避免进程等待一个长时间的线程操作,同时执行,减少耗时,增加性能。异步是JavaScript的基
Wesley13 Wesley13
3年前
java技术遇到瓶颈?不慌,这份java全体系脑图与面试题集合可助你冲上云巅
所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生,编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的.但是当我们对并发编程有了更深刻的认识和更多的实践后.实现并发编程就有了
爱写码 爱写码
3年前
聊聊t-io和netty的差异
引言tio和netty的差异,这是个被大量问及的问题,在此,作为tio作者,列一些差异化的东西tio的最大优势API设计易懂,尽量避免引入自创概念——最大限度降低学习成本接管了大量业务资源的绑定与自动解绑,开发人员只需要无脑地调用API即可完成绑定与解绑功能,这个处理如果丢给业务开发人员是极其复杂易错的:多线程环境下的集合管理都是要同步安全的,同步的设计既
Wesley13 Wesley13
3年前
Mysql 乐观锁 和悲观锁
平时看博客或技术文章的时候,经常被各种锁搞得晕晕乎乎,包括在自旋锁、可重入锁、公平锁等等、乐观锁、悲观锁、行锁、表锁、意向锁、排它锁等。前段时间终于把Java多线程相关的锁有机会学习了一遍。现在开始整理mysql相关的锁概念。先从乐观锁和悲观锁开始聊聊。首先要知道,乐观锁和悲观锁不是真实存在的锁,只是两种抽象概念性的东西,就相当于Java中的接口,只
Wesley13 Wesley13
3年前
JDBC和hibernate
JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当用到很多复杂的多表联查和复杂的数据库操作时,JDBC有优势。相同点:◆两者都是JAVA的数据库操作中间件。◆两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。◆两者都可以对数据库的更新操作进行显式的事务处理
Wesley13 Wesley13
3年前
MySQL中的事务
MySQL中的事务为什么需要事务现在的软件基本上都是多用户、多程序、多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。一个事务一般包含多个操作,这些操作必须当成一个整体来执行,要么都成功,要么都失败,不允许部分成功和部分失败。假如要从A的账户给B的账户转账1000元,那么A的账
Stella981 Stella981
3年前
Spring Cloud构建微服务架构
在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资
Wesley13 Wesley13
3年前
Java并发概述之安全
Java并发的学习内容主要来自《Java并发编程实战》一书,本文为一概述。并发最简单的解释应该是不同任务的执行时间区间存在交集。由于时间上的交集共享变量,并发会带来安全问题。从任务的角度而言,任务的执行需要得到正确的效果;从对象的角度而言,对象需要被正确的访问。所谓正确,或常说的线程安全,包括了一个对象操作,或者一个任务执行的三个方面:前置条件
Wesley13 Wesley13
3年前
PGET,一个简单、易用的并行调用框架
使用场景当我们的服务收到一个请求后,需要大量调用下游服务获取业务数据,然后对数据进行转换、计算后,响应给请求方。如果我们采用串行获取下游数据,势必会增加响应时长,降低接口的qps。如果是并行获取下游数据,则是不错的。最直接想到的并行获取方法,无非是将一个个获取数据的方法封装成一个个task,然后放到线程池里执行。但这种没经过设计的使用方