58同城Java社招面经分享

1、项目背景还有项目流程
2、从抓包开始到最终显示的时间是多少?
3、有没有调研?每天某个时段的数据流量?
4、如果我在这边频繁刷流量,大约多长时间可以发现异常??
5、redis作为高速缓存和数据库的数据一致性的问题,如果数据更新的话是先更新数据库还是先更新缓存?若果先更新数据库再更新缓存会涉及什么问题
6、hashMap底层?为什么jdk1.8要用红黑树实现?什么时候会出现线程不安全?怎么解决线程不安全?默认初始容量是16,如果我改成7,容量会变成7么?为什么?
7、数组和链表的区别是什么?如果一个数组大小超过堆中剩下的内存大小,还会为这个数组分配内存么?
8、常见的线程池有哪些?线程池中一个线程死了,就没有线程了么?如果在线程池中new了一个线程,这个线程是存在还是不存在?线程池中的一些参数有哪些?newCachedPool最大可开启的线程数是多少?
(1)创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
(2)创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。FixedThreadPool是一个典型且优秀的线程池,它具有线程池提高程序效率和节省创建线程时所耗的开销的优点。但是,在线程池空闲时,即线程池中没有可运行任务时,它不会释放工作线程,还会占用一定的系统资源。
(3)创建一个单线程化的Executor,即只创建唯一的工作者线程来执行任务,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。如果这个线程异常结束,会有另一个取代它,保证顺序执行。单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的。
(4)创建一个定长的线程池,而且支持定时的以及周期性的任务执行,支持定时及周期性任务执行。

9、如何实现其他线程和主线程的同步?
10、volatile关键字的特性有哪些?
11、10个线程,如何实现和主线程的同步?场景是:10个人在山下聚齐之后才可以一起爬山,怎么实现?不用synchronized关键字、volatile等同步的关键字。
12、平时建mysql表的时候会考虑一些什么?
13、写sql语句的时候where会考虑什么?


#58集团##Java工程师##社招##面经#
全部评论
你哪天面试的?
点赞
送花
回复
分享
发布于 2020-05-24 23:12

相关推荐

二面很寄,来写个面经攒人品加许愿一面项目12306:讲一下你这个系统就是怎么处理高并发布隆过滤器怎么实现平滑上线(历史数据迁移)并发抢票库存如何设计的令牌容器存储的什么数据结构?value直接自减吗?如果减完了用户又取消订单怎么办?减完了数据库宕机了怎么办?八股:线程池的参数为啥先放阻塞队列再建非核心线程?volatile关键字原理synchronized 和 reentrantLock 区别ReentrantLock 公平与非公平如何实现ConcurrentHashMap 原理put流程假如开发了一个项目让你设计索引要怎么入手联合索引a,b,c,查询where b = 1, c > 2, a = 3,哪些走索引了(我记得c不会走的,但面试官说会)数据库事务原理手撕:删除链表的倒数第N个节点二面自我介绍+为啥转行二叉树遍历的时间复杂度(上来就给我问住了。。非科班选手只会背八股,不大会这种基础哭了)网络层和数据链路层的差异(又不太会。。就接下来问项目了)项目穿插八股:数据库缓存一致性怎么处理的?canal 监听 BinLog 和在代码里直接写出删除缓存有什么区别?BinLog 和 redolog 的区别为什么要分库分表?数据库能承受多少链接?ShardingSphere分表机制?项目里怎么分的?为什么用username?ShardingSphere的部署模式,具体的适用性?雪花算法在项目里是怎么改造的?为什么会重复生成?项目中队列的幂等是怎么做的?场景题:快手关注与粉丝的场景,怎么设计数据库表?要实现查找我的关注与我的粉丝两种查找(支支吾吾半天说中间表。面试完之后问了下才发现其实不难,中间表双写即可)手撕:字符串相加、设计一个线程安全的字符串计数器(第二题磨磨蹭蹭半个小时,在反复提示下才想出来用原子类。。) #java#
点赞 评论 收藏
转发
1 17 评论
分享
牛客网
牛客企业服务