Skip to content

Latest commit

 

History

History
150 lines (90 loc) · 4.26 KB

各大公司面经.md

File metadata and controls

150 lines (90 loc) · 4.26 KB

阿里

笔试两道算法题

钉钉一面

1、final、finnaly 2、重写重载 3、jvm的fullGC排查问题 4、多线程ArrayBlockingQueue、LinkedBlockingQueue的源码分析,如果用100w数据进行插入,哪个更快(Array) 5、linux:如果查找一个文件中的一个指定的字符串出现的数量、如何查找被占用的端口、如何查看cpu的load(使用率) 6、数据库的一个表有name、id、gender、age字段,设置一个联合索引id、name、gender,查询100w的数据用name做where查询,会不会全表查询 7、git:git如何合并分支、git add、git commit、git push的区别。 8、maven:如何查找重复的jar包问题 9、单点登录如何做的,如果保证安全性

腾讯

pcg一面

1、接口设计原则 2、mvc设计原则,如何设计 3、微服务rpc调用接口如何设计 4、微服务接口调用出现问题,如何设计接口,使得更好定位bug 5、springboot、spring、springcloud的区别 6、数据库如何设计 7、数据量大的时候,数据库表应该怎么设计,怎么插入、怎么查询,提高效率,单表的数据量能支持多大

单表数据量1000W

8、spring AOP 9、spring的动态代理,区别,静态代理,动态代理,cglib 10、dubbo设计架构 11、解耦合的设计模式有哪些?应用场景,却别是什么? 观察者模式等

12、JVM垃圾回收的过程 13、多线程如何实现,区别,怎么设计多线程 14、多线程与多进程的应用场景,多进程的应用场景 15、list和set的区别,集合其他相关,时间复杂度等等 16、tcp如何保证可靠性传输,滑动窗口

17、linux的alias命令 18、linux的递归查询文件 19、回文字符串,最长回文字符串 20、reverse方法时间复杂度

pcg二面

1、tcp可靠性 2、项目 3、不包含重复的最长连续子串

pcg三面

1、项目 2、长连接短连接,应用场景 3、不用循环查找最大值

百度

滴滴

头条

拼多多

美团

一面

1、多线程相关(如何实现线程、线程池的相关参数) 2、hashmap和hashtable的区别,hashmap的getSize方法需要加锁吗 3、concurrenthashmap的put的过程 4、jvm内存模型、垃圾回收器 5、哪些可以作为GCRoot 6、new一个对象的过程

https://www.cnblogs.com/JackPn/p/9386182.html

7、fullGC的原因,如何排查 8、cpu内存使用过高如何排查 9、spring的AOP 10、spring的IOC 11、redis的删除策略 12、redis如何实现数据一致性 13、dubbo的原理 14、dubbo如何实现远程调用 15、项目介绍 16、单点登录 17、数据库如何调优 18、联合索引abc,哪些情况会出现索引失效 19、分布式项目请求操作经历的过程

二面

1、场景题:4亿用户,访问10个商品,保证等概率,且每个用户每次显示同样的3个商品,不能用数据库,不能用文件保存,不能用redis等框架

思路:用concurrentHashMap,分段锁,然后用多台机器,再限流,保证数据一致性

2、项目介绍

小米

网易

华为

快手

Tip:本来有很多我准备的资料的,但是都是外链,或者不合适的分享方式,所以大家去公众号回复【资料】好了。

现在免费送给大家,在我的公众号 好好学java 回复 资料 即可获取。

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

1、老铁们,关注我的原创微信公众号「好好学java」,专注于Java、数据结构和算法、微服务、中间件等技术分享,保证你看完有所收获。

2、给俺一个 star 呗,可以让更多的人看到这篇文章,顺便激励下我继续写作,嘻嘻。