下载APP

微信扫码
下载看准App

北京出点汗网络科技有限公司

北京 | 互联网 | 天使轮 | 20-99人

马甲线(出点汗)

马甲线(出点汗)面试经验

CEO非常有人格魅力,平易近人,没有架子

面试职位:马甲线(出点汗)-产品经理-北京

CEO特别尊重求职者,不会为刁难的问题,主要是自我介绍以前的工作经历、自己负责的模块是哪些,然后看了看已上线的App。临走时还亲自送到电梯口。

面试结果: 确定通过

面试难度: 很容易

整体感受: 很好

运营面试一般,共1轮面试

面试职位:大连华信-运营-大连

●stop()和suspend()方法为何不推荐使用
答:反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被”挂起”的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),
●同步有几种实现方法,并且这些实现方法具体内容都是什么?  
答:wait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一个处于等待状态的线程Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
● 启动一个线程是用run()还是start()?
答:启动一个线程是调用start()方法
● 请说明一下sleep() 和 wait() 有什么区别?
答:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,把执行机会给其他线程,       
但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。     
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,      
进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)
后本线程才进入对象锁定池准备获得对象锁进入运行状态。
● 请详细描述一下线程从创建到死亡的几种状态都有哪些?
答:
1. 新建( new ):新创建了一个线程对象。
2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。
3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码。
4. 阻塞( block ):阻塞状态是指线程因为某种原因放弃了 cpu 使用权
(一). 等待阻塞:运行( running )的线程执行 o . wait ()方法, JVM 会把该线程放 入等待队列( waitting queue )中。
(二). 同步阻塞:运行( running )的线程在获取对象的同步锁时,若该同步锁 被别的线程占用,则 JVM 会把该线程放入锁池( lock pool )中。
(三). 其他阻塞: 运行( running )的线程执行 Thread . sleep ( long ms )或 t . join ()方法,或者发出了 I / O 请求时,JVM 会把该线程置为阻塞状态。 当 sleep ()状态超时、 join ()等待线程终止或者超时、或者 I / O 处理完毕时,线程重新转入可运行( runnable )状态。
5. 死亡( dead ):线程 run ()、 main () 方法执行结束,或者因异常退出了 run ()方法,则该线程结束生命周期。死亡的线程不可再次复生。
● 请你简述一下synchronized与.Lock的相同之处和不同之处
答:
主要相同点:Lock能完成synchronized所实现的所有功能  
主要不同点:Lock有比synchronized更好的性能。synchronized会自动释放锁,     
而Lock一定要求程序员手工释放,并且必须在finally从句中释放。

面试结果: 感觉靠谱

面试难度: 有难度

整体感受: 一般

运营面试很好,共3轮面试

面试职位:得而达水龙头(中国)有限公司-运营-广州

1. JVM的内存模型
2. 谈谈GC,CMS的流程,新生代老生代分别用什么算法
3. 谈谈类加载器,类加载器有哪些,双亲委派最终是由父还是子加载
4. 操作系统的悲观锁、乐观锁
5. 数据库层面的悲观锁、乐观锁
6. 数据库事务讲一下
7. Redis的持久化机制
8. Redis如何实现高可用
9. 索引的类型,索引的底层实现原理
10. 谈谈消息队列
11. HashMap底层实现,哈希冲突怎么解决的
12. 各种排序算法讲一下
二面:
1. Spring IoC、AOP,底层代码看过吗,scope作用域为什么要有prototype
2. 谈谈JVM,方法区可以实现GC吗
3. 谈谈你知道的设计模式,知道什么是回调模式吗
4. 谈谈GRPC,为什么用protoBuf作为序列化机制,跟其他二进制比有什么优势(好像有坑,阿里用的是hessian)
4. 高并发系统,海量数据分库分表的策略
5. 数据库前面的Redis缓存,如何实现查询的负载均衡(这里扯出了布隆过滤器及其哈希函数冗余)
6. 为什么选择阿里巴巴?你对待工作的做事原则有哪些?
7. 英文介绍你在项目中遇到的困难

面试结果: 未通过

面试难度: 有难度

整体感受: 很好

更多面经

马甲线(出点汗)工资

客服

马甲线(出点汗)

3000

平均工资

来自1员工爆料

¥3000 ¥3000

营业员

国美电器

2559

平均工资

来自217员工爆料

¥1347 ¥4424

运营专员

百度

6000

平均工资

来自169员工爆料

¥2342 ¥20000

更多工资

马甲线(出点汗)热招职位

马甲线健身

信阳 | 3-5年 | 学历不限

10-15K

信阳市羊山新区马...

信阳 | 其他专业服务 | 0-20人

瑜伽教练

德阳 | 3-5年 | 学历不限

4-8K

绵阳市安州区黄土...

德阳 | 培训/辅导机构 | 0-20人

11-20K·14薪

潮流网络

深圳 | 通信/网络设备 | 500-999人

更多热招