人人车 Java实习面经,第一次面试

虽然我很菜,最后还是通过了


发面经 攒人品


项目相关:

1.项目为什么做分布式扩展 有什么好处

2.怎么优化session的?redis。在springboot中怎么做的,具体怎么实现的?

3.消息队列原理

4.怎么削峰的?(令牌桶)

5. 还有别的削峰方法吗(MQ)

6.怎么解决超卖问题的


基础相关:

1. 说下int和Integer的区别

2. Integer a=1,int b=1,Integer c=new Integer(1)这三个相等吗?

3. 说说有哪些Map和Set

4.哪些是线程不安全的?哪些是线程安全的?线程安全的Set有哪些?

5.map和set中有哪些有序的?

6.HashMap为什么线程不安全?

7.ConcurrentHashMap为什么是线程安全的?

8.hashMap时间复杂度(说了链表o(n)红黑树O(logn),说不是,)

9. 线程的生命周期

10. 线程start后就会立刻执行吗

11.interrupt了解吗?线程怎么中断的,执行interrupted,线程怎么中断的

12.为什么要使用线程池?

13.创建线程池的方式?(说是Exector类啥的)

14.线程池中怎么创建线程的?

15.线程中的线程如果执行完毕会一直存在吗?什么时候会被回收?

16.超过核心线程池的大小并且超过keepalivetime的线程一定会被回收吗

17.synchronized和Lock的区别

18.Lock怎么响应中断的

19.索引了解吗?Mysql有哪些索引

20.主键索引和唯一索引的区别?

21. 事务的特点

22.事务隔离级别

23.网络协议有哪些

24.状态码有哪几种

25.http使用的是哪种协议?为什么要使用这个协议

26. JVM内存有哪几块说说

27.对有几块内存

28.堆分为哪几块

28.垃圾回收器有哪几种?

29.stw的垃圾回收期有哪几种(stop the world)

29.说下G1垃圾回收器怎么工作的

30.MQ了解吗 说说 有什么作用

31.springboot原理

32.springboot怎么启动的

33. springboot有很多starter,为什么引入了starter就可以做相关的操作,原理是什么

34. spring IOC和AOP的原理

35. 反射了解吗 动态***了解吗

36. 设计模式了解哪些?

37.单例哪几种?

38.饿汉式和懒汉式的区别

39.最近在学习哪些技术?

40.容器了解吗 docker了解吗

41.nginx了解吗

#人人车##实习##Java工程师##面经#
全部评论
超过核心线程池的大小并且超过keepalivetime的线程一定会被回收吗? 想请教楼主如何回答的?
点赞 回复
分享
发布于 2019-12-17 21:34
残忍!
点赞 回复
分享
发布于 2019-12-17 21:57
联想
校招火热招聘中
官网直投
 // 获取线程池中的有效线程数量  int wc = workerCountOf(c);  // 如果开发者主动开启allowCoreThreadTimeOut并且获取当前工作线程大于corePoolSize,那么该线程是可以被超时回收的  // allowCoreThreadTimeOut默认为false,即默认不允许核心线程超时回收  // 这里也说明了在核心线程以外的线程都为“临时”线程,随时会被线程池回收  boolean timed = allowCoreThreadTimeOut || wc > corePoolSize;//当前线程数大于核心线程数    // 这里说明了两点销毁线程的条件:  // 1.原则上线程池数量不可能大于maximumPoolSize,但可能会出现并发时操作了setMaximumPoolSize方法,如果此时将最大线程数量调少了,很可能会出现当前工作线程大于最大线程的情况,这时就需要线程超时回收,以维持线程池最大线程小于maximumPoolSize,  // 2.timed && timedOut 如果为true,表示当前操作需要进行超时控制,这里的timedOut为true,说明该线程已经从workQueue.poll()方法超时了,   // 以上两点满足其一,都可以触发线程超时回收  if ((wc > maximumPoolSize || (timed && timedOut))      && (wc > 1 || workQueue.isEmpty())) {    // 尝试用AQS将线程池线程数量减一    if (compareAndDecrementWorkerCount(c))      // 减一成功后返回null,线程被回收      return null;    // 否则循环重试    continue;  }  try {    // 如果timed为true,阻塞超时获取任务,否则阻塞获取任务    Runnable r = timed ?      workQueue.poll(keepAliveTime, TimeUnit.NANOSECONDS) :    workQueue.take();    if (r != null)      return r;    // 如果poll超时获取任务超时了, 将timeOut设置为true    // 继续循环执行,如果碰巧开发者开启了allowCoreThreadTimeOut,那么该线程就满足超时回收了    timedOut = true;  } catch (InterruptedException retry) {    timedOut = false;  } 难道面试官的意思是,超过了规定的时间还要进行等待一段时间在进行回收,而不是马上?
点赞 回复
分享
发布于 2019-12-17 22:14
项目上秒杀叭。。这么多问题我的天。。
点赞 回复
分享
发布于 2019-12-18 00:29
楼主收到了拒绝的消息了?
点赞 回复
分享
发布于 2019-12-18 01:41
请问项目是自己做的还是跟着教程做的呢 
点赞 回复
分享
发布于 2019-12-18 09:26
现在实习面试都这么难吗
点赞 回复
分享
发布于 2019-12-18 11:01
挺广的,但是深度还好吧
点赞 回复
分享
发布于 2019-12-18 12:43
我跟楼主一样,第一次实习面试就遇到这些问题,怀疑人生哈哈哈😂
点赞 回复
分享
发布于 2019-12-18 13:17
广度应该是够了
点赞 回复
分享
发布于 2019-12-18 18:32
加油!
点赞 回复
分享
发布于 2019-12-18 18:46
恭喜! 楼主准备去了么?
点赞 回复
分享
发布于 2019-12-19 16:54
分布式中间件这些有书吗,或者非java语言的有项目案例吗
点赞 回复
分享
发布于 2020-01-11 11:26
问题挺常见的,但是看面试官有没有深入挖掘
点赞 回复
分享
发布于 2020-01-11 11:32
你也是秒杀项目吗
点赞 回复
分享
发布于 2020-03-19 19:06
你好牛逼,这么多问题都能记得,我面完大脑一片空白哈哈哈
点赞 回复
分享
发布于 2020-04-14 17:49
楼主人人车几天之后收到offer的?
点赞 回复
分享
发布于 2020-04-20 17:36
这也太多了!明天面人人车 许愿offer 大家共勉!
点赞 回复
分享
发布于 2020-09-21 21:44

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
4 91 评论
分享
牛客网
牛客企业服务