阿里一面 简单说说在学校做过最有成就感的事情(和技术相关的) 你的项目用到了数据库,谈谈对事务的理解 假设你要做一个银行app,有可能碰到多个人同时向一个账户打钱的情况,有可能碰到什么问题,如何解决...(锁) 说说乐观锁和悲观锁 最近在看什么书 Java基础(就问了一句==和equals) 说说现在能写出来哪些排序算法 在学校有没有参加社团之类的 给定一个文件名,如何在d盘找出来这个文件,说说思路。...,这个元素会放在哪 并发容器,Hashtable和concurrenthashmap区别 Java对象头了解么 知道哪些排序算法 快排怎么实现 堆排序怎么实现 一道算法题:两个有序数组,有相同的元素,找出来...(我特喵的以为是考算法,想半天没有O(n)以下的方案,结果他居然说多线程) 多线程用的多么 一个线程忙碌,多个线程闲置怎么解决 TCP和UDP Java的几大框架了解么(我说我之前没怎么用过Java,学...Python比较多一点,于是话题转向Python) 聊了下Python几个框架的对比(flask和Django) ORM怎么实现 ORM怎么对SQL进行优化 对比Python和Java的区别 多重继承机制会带来哪些问题
第一站:(深圳) 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁? JAVA的AQS是否了解,它是⼲嘛的?...有没有办法控制不触发回滚? 如果想在某个Bean⽣成并装配完毕后执⾏⾃⼰的逻辑,可以什么⽅式实 现? SpringBoot没有放到web容器⾥为什么能跑HTTP服务?...你们数据库是否⽀持emoji表情,如果不⽀持,如何操作? 你们的数据库单表数据量是多少?⼀般多⼤的时候开始出现查询性能急 剧下降? 查询死掉了,想要找出执⾏的查询进程⽤什么命令?...找出来之后⼀般你 会⼲嘛? 读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有 什么关系? 14. 分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正 确的?...线程⽇志⼀般你会看其中的什么 部分? StackOverFlow异常有没有遇到过?⼀般你猜测会在什么情况下被触 发?如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少? 多线程 1) 什么是线程?
多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁? 2. JAVA的AQS是否了解,它是⼲嘛的? 3....你有没有⽤过Spring的AOP? 是⽤来⼲嘛的? ⼤概会怎么使⽤? 2. 如果⼀个接⼝有2个不同的实现, 那么怎么来Autowire⼀个指定的实现? 3....有没有办法控制不触发回滚? 4. 如果想在某个Bean⽣成并装配完毕后执⾏⾃⼰的逻辑,可以什么⽅式实 现? 5. SpringBoot没有放到web容器⾥为什么能跑HTTP服务? 6....你们数据库是否⽀持emoji表情,如果不⽀持,如何操作? 11. 你们的数据库单表数据量是多少?⼀般多⼤的时候开始出现查询性能急 剧下降? 12. 查询死掉了,想要找出执⾏的查询进程⽤什么命令?...线程⽇志⼀般你会看其中的什么 部分? 10. StackOverFlow异常有没有遇到过?⼀般你猜测会在什么情况下被触 发?如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少? 多线程 1) 什么是线程?
JAVA8的ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。 有没有有顺序的Map实现类,如果有,他们是怎么保证有序的。...在自己的代码中,如果创建一个java.lang.String类,这个类是否可以被类加载器加载?为什么。 说一说你对java.lang.Object对象中hashCode和equals方法的理解。...线程池的关闭方式有几种,各自的区别是什么。 假如有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同 时调用它,如何做到。...导致线程死锁的原因?怎么解除线程死锁。 非常多个线程(可能是不同机器),相互之间需要等待协调,才能完成某种工作,问怎么设计这种协调方案。 用过读写锁吗,原理是什么,一般在什么场景下用。...开启多个线程,如果保证顺序执行,有哪几种实现方式,或者如何保证多个线程都执行完 再拿到结果。 延迟队列的实现方式,delayQueue和时间轮算法的异同。 点击这里有一套答案版的多线程试题。
JAVA8的ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何 设计。 有没有有顺序的Map实现类,如果有,他们是怎么保证有序的。...在自己的代码中,如果创建一个java.lang.String类,这个类是否可以被类加载器加 载?为什么。 说一说你对java.lang.Object对象中hashCode和equals方法的理解。...线程池的关闭方式有几种,各自的区别是什么。 假如有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同 时调用它,如何做到。...导致线程死锁的原因?怎么解除线程死锁。 非常多个线程(可能是不同机器),相互之间需要等待协调,才能完成某种工作,问怎么设计这种协调方案。 用过读写锁吗,原理是什么,一般在什么场景下用。...开启多个线程,如果保证顺序执行,有哪几种实现方式,或者如何保证多个线程都执行完 再拿到结果。 延迟队列的实现方式,delayQueue和时间轮算法的异同。 点击这里有一套答案版的多线程试题。
Java 多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁? JAVA的AQS是否了了解,它是干嘛的?...有没有办法控制不触发回滚? 如果想在某个Bean生成并装配完毕后执行自己的逻辑,可以什么方式实现? SpringBoot没有放到web容器里为什么能跑HTTP服务?...你们数据库是否支持emoji表情,如果不支持,如何操作? 你们的数据库单表数据量是多少?一般多大的时候开始出现查询性能急剧下降? 查询死掉了,想要找出执行的查询进程用什么命令?...找出来之后一般你会干嘛? 读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有什么关系? 分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正确的?...线程日志一般你会看其中的什么部分? StackOverFlow异常有没有遇到过?一般你猜测会在什么情况下被触发?如何指定一个线程的堆栈大小?一般你们写多少?
java 1.多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁? 2.JAVA的AQS是否了了解,它是干嘛的?...有没有办法控制不触发回滚? 4.如果想在某个Bean生成并装配完毕后执行自己的逻辑,可以什么方式实现? 5.SpringBoot没有放到web容器里为什么能跑HTTP服务?...9.你们数据库是否支持emoji表情,如果不支持,如何操作? 10.你们的数据库单表数据量是多少?一般多大的时候开始出现查询性能急剧下降? 11查询死掉了,想要找出执行的查询进程用什么命令?...找出来之后一般你会干嘛? 12.读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有什么关系? 13.分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正确的?...线程日志一般你会看其中的什么部分? 9.StackOverFlow异常有没有遇到过?一般你猜测会在什么情况下被触发?如何指定一个线程的堆栈大小?一般你们写多少?
尽管Python完全支持多线程编程, 但是解释器的C语言实现部分在完全并行执行时并不是线程安全的。 实际上,解释器被一个全局解释器锁保护着,它确保任何时候都只有一个Python线程执行。...我们有没有更好的办法替换使用sleep() 这种不靠谱的同步方式呢?答案是使用锁,使用了锁,我们就可以在两个线程都退出之后马上退出。 为什么我们不在创建锁的循环里创建线程呢?...这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。 is_alive(): 返回线程是否活动的。 name(): 设置/返回线程名。...使 用子类化创建线程(第 29-30 行)使代码看上去更清晰明了。 除了各种同步对象和线程对象外,threading 模块还 供了一些函数。...任何一个线程被唤起时都能成功获得到GIL(因为只有释放了GIL才会引发线程调度)。 但当CPU有多个核心的时候,问题就来了。
,意味着,任何时候只可能有一个线程在执行代码,其它线程要想获得 CPU 执行代码指令,就必须先获得这把锁,如果锁被其它线程占用了,那么该线程就只能等待,直到占有该锁的线程释放锁才有执行代码指令的可能。...因此,这也就是为什么两个线程一起执行反而更加慢的原因,因为同一时刻,只有一个线程在运行,其它线程只能等待,即使是多核CPU,也没办法让多个线程「并行」地同时执行代码,只能是交替执行,因为多线程涉及到上线文切换...,所以,Python之父就搞了个全局的线程锁,不管你数据有没有同步问题,反正一刀切,上个全局锁,保证数据安全。...因此,这也就是为什么两个线程一起执行反而更加慢的原因,因为同一时刻,只有一个线程在运行,其它线程只能等待,即使是多核CPU,也没办法让多个线程「并行」地同时执行代码,只能是交替执行,因为多线程涉及到上线文切换...,所以,Python之父就搞了个全局的线程锁,不管你数据有没有同步问题,反正一刀切,上个全局锁,保证数据安全。
那些被培训机构口中的三高(薪资高、发展广、职位空缺多)忽悠转行加入的小白,现在是不是一脸懵逼?深刻上一课,没办法只能继续加油,继续折腾;怎么样?来道试题菜提升提升?...考察面向对象相关: 7、有用过类的一些魔法方法吗?用过哪些?都有什么用? 8、类的实例化方法第一个参数是什么?必须是这个单词吗?意义是什么?有没有可能第一个参数是其他的或者没有?...1).不能,因为python内置了全局解释器锁(GIL),同一时刻只能有一个线程在运行 10、Python多线程更适合什么场景? ...主线程结束,子线程随即强制结束。thread不支持守护线程。 11.1join()的作用是: 1).在子线程完成运行之前,这个子线程的父线程将一直被阻塞,主线程会在所有非守护线程退出后退出。...12、Python多线程需要锁吗?有GIL在,则某一时刻只能有一条线程运行,不会有多条线程同时修改数据的情况产生,那为什么还要加锁? 1).需要锁。因为很多操作不是原子操作。
import time time.sleep(1) #python中的延时一秒 队列延迟 用上面睡眠的办法可以解决问题。但是有个小问题,那就是睡眠会导致消息的延迟增大。...如果有多个消费者,这个延迟会有所下降,因为每个消费者的睡觉时间是岔开来的。 有没有什么办法能显著降低延迟呢?你当然可以很快想到:那就把睡觉的时间缩短点。这种方式当然可以,不过有没有更好的解决方案呢?...它本质上是对当前请求的放弃,由用户决定是否重新发起新的请求。 sleep sleep 会阻塞当前的消息处理线程,会导致队列的后续消息处理出现延迟。...因为有多个线程,所以需要考虑并发争抢任务,确保任务不能被多次执行。...,它的返回值决定了当前实例有没有抢到任务,因为 loop 方法可能会被多个线程、多个进程调用,同一个任务可能会被多个进程线程抢到,通过 zrem来决定唯一的属主。
---- 多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁? JAVA的AQS是否了解,它是干嘛的?...除了synchronized关键字之外,你是怎么来保障线程安全的? Tomcat本身的参数你一般会怎么调整? 你有没有用过Spring的AOP? 是用来干嘛的? 大概会怎么使用?...查询死掉了,想要找出执行的查询进程用什么命令?找出来之后一般你会干嘛? 读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有什么关系? 分库分表有没有做过?线上的迁移过程是怎么样的?...哪些是线程安全的?是怎么保证线程安全的? Redis中的Lua有没有使用过? 可以用来做什么? 为什么可以这么用? 线程池内部工作原理可以说一下么? 死锁是什么意思,形成条件是什么?...方法区里什么样的对象有可能被回收。 线上cpu飙升100%你怎么处理。 频繁FullGC怎么处理。 线程池创建有几种,为什么创建定长的线程池个数最好是5,10,15这样的数字。
对于最简单的多线程事件驱动服务器的概念模型, 其内部有一个请求缓存队列,客户端请求被一个或者多个监听线程获取后放到队列里,然后一个或者多个工作线程从队列里面取出请求并处理。...此时,是否把连接请求分配到多个线程,或者让所有线程依次作为监听线程来服务每个连接请求,反而不重要了。...即使在将来,也不可能有办法知道在服务器中同一时刻会有多少激活线程.毕竟,每时每刻都可能有请求从任意连接发送过来,一些进行特殊任务的“后台”线程也会在任意时刻被唤醒。...几乎我们每个系统中锁的设计都始于一个"锁住一切的超级大锁",并寄希望于它不会影响性能,当希望落空时(几乎是必然), 大锁被分成多个小锁,然后我们继续祷告(性能不会受影响),接着,是重复上面的整个过程(许多小锁被分成更小的锁...向这些大小边界进行对起是否有用?系统调用和上下文切换花的代价是多少? 你是否知道锁原语的饥饿现象?你的事件机制有没有"惊群"问题?
一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制 简单说说你了解的类加载器。...的吗 abstract 的 method是否可同时是 static,是否可同时是 native,是否可同时是synchronized Java支持哪种参数传递类型 一个对象被当作参数传递到一个方法,是值传递还是引用传递...如何判断一个对象是否存活 System.gc() Runtime.gc()会做什么事情? 能保证 GC 执行吗 垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?...如何确保 N 个线程可以访问 N 个资源同时又不导致死锁 死锁与活锁的区别,死锁与饥饿的区别 怎么检测一个线程是否拥有锁 如何实现分布式锁 有哪些无锁数据结构,他们实现的原理是什么 读写锁可以用于什么应用场景...你使用过的应用服务器优化技术有哪些 大型网站在架构上应当考虑哪些问题 有没有处理过线上问题?
一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制 简单说说你了解的类加载器。...的吗 abstract 的 method是否可同时是 static,是否可同时是 native,是否可同时是synchronized Java支持哪种参数传递类型 一个对象被当作参数传递到一个方法,是值传递还是引用传递...如何判断一个对象是否存活 System.gc() Runtime.gc()会做什么事情? 能保证 GC 执行吗 垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?...如何确保 N 个线程可以访问 N 个资源同时又不导致死锁 死锁与活锁的区别,死锁与饥饿的区别 怎么检测一个线程是否拥有锁 如何实现分布式锁 有哪些无锁数据结构,他们实现的原理是什么 读写锁可以用于什么应用场景...你使用过的应用服务器优化技术有哪些 大型网站在架构上应当考虑哪些问题 有没有处理过线上问题?
(其他语言会出现) Python语言不会出现同一个进程下的多线程同时出现在多个CPU上,全局解释器锁GRL....thr.start() for thr in threads: """ isAlive()方法可以返回True或False,用来判断是否还有没有运行结束...因此上例中最后再遍历一遍threads列表的目的就是查看还是否有没有退出的子线程,只要还有子线程是活的,没有退出。通过join()方法强制程序流程不可以走到主线程退出的那个步骤。...,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了。...,直到锁被释放后,获得该锁以后才能改。