前言
疫情如雾霾笼罩着大多数今年应届求职者的心,找不到好工作成为一大难题,许多小伙伴面试不上自己心仪的工作都靠兼职度日。没有成熟的项目经验,如何在人群中脱颖而出,将大厂offer揽入怀中?除了过硬且夯实的知识储备,还有经历过面试这道大关的大佬们的面试经和面试真题当然不可放过,搜刮过来学习是必要的。
简历优化
在讲面试真题前我们先来唠唠简历,一份好的简历是属于你给面试官的第一印象,相当于你的一张脸,颜值高整洁,重点突出且结构条理清晰的“脸”更能打动心仪公司面试官的心。
开头的基本信息小伙伴们需要做到真实详尽,具体内容包括名字、姓名、性别、年龄和教育背景等等,这里要强调的就是一个真实性,不要抱有侥幸心理,做背调的时候可是会查出来哦。
而后就是求职意向,如果你的求职意向是Java岗,那么你需要提前去了解这个岗位的岗位需求以及薪资待遇,那么面试官问你这个问题的时候从容不迫就不显尴尬。
最重要的一点哦,需要突出你的个人技能和经验,技能特长等你就按照你的专业来拟定,至于个人经验,是基础就说基础的,说你说所了解的。有做过好的项目就大胆的跟面试官进行讲解,但词汇也不要过于花哨了,总之做到真实且有度就好啦。那么话不多说,大厂面试真题双手奉上:
一、阿里
1.List 和 Set 的区别双链表找相交结点
2.10 亿数,找最大 100 个数
3.synchronize 静态方法和普通方法
4.ANR 是什么,怎么解决
5.Activity 生命周期,如何摧毁一个 Activity(finsh()) 6.startserver 和 bindserver
6.String 有哪些方法,常用哪些, ==与 equals 的区别?
7.JAVA 中用过哪些容器类,HashMap 底层数据结构,如何处理 hash 冲突? Activity 的四种启动模式,区别?
8.Activity A 跳转 B B 跳转 C,A 不能直接跳转到 C,A 如何传递消息给 C? AndroidManifest 文件中用过哪些相关权限?
9.Intent 显示跳转与隐式跳转,如何使用?
10.双链表找相交结点
11.HashSet 是如何保证不重复的
12.HashMap是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?
13.HashMap的扩容过程
14.将一个类注入到Spring容器中的时候就打印相关日志,怎么做(我说的改扫描器源码,但其实Spring本身支持一些后置事件)
15.高并发编程在实际项目中的应用
16.线程有哪几种状态,以及状态之间的转换
......
二、字节跳动
1 、ArrayList 和 Vector 的区别。
2、说说 ArrayList,Vector, LinkedList 的存储性能和特性。
3、快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么
4、ashmap 的数据结构。
5、HashMap 的工作原理是什么?
6、Hashmap 什么时候进行扩容呢?
7、List、Map、Set 三个接口,存取元素时,各有什么特点?
8、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是
equals()? 它们有何区别?
9、 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
10、heap 和 stack 有什么区别。
11、 Java 集合类框架的基本接口有哪些?
12、HashSet 和 TreeSet 有什么区别?
13、HashSet 的底层实现是什么?
14、 LinkedHashMap 的实现原理?
15、为什么集合类没有实现 Cloneable 和 Serializable 接口?
16、Iterator 和 ListIterator 的区别是什么?
17、数组 (Array) 和列表 (ArrayList) 有什么区别?什么时候应该使用 Array 而不是
ArrayList?
18、Java 集合类框架的最佳实践有哪些?
19、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是
equals()?它们有何区别?
20、Comparable 和 Comparator 接口是干什么的?列出它们的区别。
......
三、京东
1、哪些情况下的对象会被垃圾回收机制处理掉?
1.1 哪些对象可以被看做是 GC Roots 呢?
1.2 对象不可达,一定会被垃圾收集器回收么?
2、讲一下常见编码方式?
3、utf-8 编码中的中文占几个字节;int 型几个字节?
4、静态代理和动态代理的区别,什么场景使用?
5、Java 的异常体系
6、谈谈你对解析与分派的认识。
7、Java 中实现多态的机制是什么?
8、如何将一个 Java 对象序列化到文件里?
9、说说你对 Java 反射的理解
10、说说你对 Java 注解的理解
11、说一下泛型原理,并举例说明
12、Java 中 String 的了解
13、String 为什么要设计成不可变的?
......
四、拼多多
1、并发编程三要素?
2、实现可见性的方法有哪些?
3、多线程的价值?
4、创建线程的有哪些方式?
5、创建线程的三种方式的对比?
6、线程的状态流转图
7、Java 线程具有五中基本状态
8、什么是线程池?有哪几种创建方式?
9、四种线程池的创建:
10、线程池的优点?
11、常用的并发工具类有哪些?
12、CyclicBarrier 和 CountDownLatch 的区别
13、synchronized 的作用?
14、volatile 关键字的作用
15、什么是 CAS
16、CAS 的问题
17、什么是 Future?
18、什么是 AQS
19、AQS 支持两种同步方式:
20、ReadWriteLock 是什么
21、FutureTask 是什么
22、synchronized 和 ReentrantLock 的区
23、什么是乐观锁和悲观锁
24、线程 B 怎么知道线程 A 修改了变量
25、synchronized、volatile、CAS 比较
26、sleep 方法和 wait 方法有什么区别?
27、ThreadLocal 是什么?有什么用?
28、为什么 wait()方法和 notify()/notifyAll()方法要在同步块中被调用?
29、多线程同步有哪几种方法?
30、线程的调度策略
......
五、腾讯
1、谈谈数据结构,⽐如⼆叉树、红⿊树?
2、说说B-tree、B+tree的区别和使⽤场景?
3、⼀段代码要执⾏多个redis命令,不加锁的情况下如何保证原⼦性?
4、mysql哪个版本哪个存储引擎的索引使⽤的B+tree,为什么不使⽤红⿊树?
5、说说⼏种常⻅的消息中间件的区别?
6、rabbitmq如何保证消息的可靠性?
7、springcloud服务发现原理?
8、介绍下springcloud各个组件?springcloud的注册中⼼除了eureka还可以⽤什么?
9、微服务有⼏种限流⽅式?
10、限流的情况下,服务隔离还有没有必要?
11、dubbo有⼏种负载均衡?负载均衡是在服务端还是客户端
12、如何实现redis分布式锁?需要注意什么问题?
13、如何实现aop?项⽬中哪些地⽅⽤到了aop?
14、后置处理器的作⽤?
15、spring bean作⽤域,什么时候使⽤request作⽤域。
16、activeMQ RocketMQ与RabbitMQ的区别;activeMQ、RabbitMQ如何实现高可用
17、redis的数据类型、reids的hashmap的数据结构是怎么实现的
18、让你设计一个缓存商品的方案,什么时候保存商品到缓存,什么时候删除缓存的商品
19、如何设计一个消息队列
20、线程池用的多吗?让你设计一个线程池如何设计
21、ThreadLocal如何使用,ThreadLocal会产生内存泄露的原因
22、了解mysql的间隙锁
......
总结
师傅领进门,修行看个人。面试题和简历只是面试打基地的部分,是你的加分项,但能够助力不代表百分百成功。自身在面试时的状态也十分重要,不要过于紧张,敢于表达且得体的状态会更迎合面试官对你印象的打分。
其实困难并不能阻碍你,能登上顶峰的人靠的都是自己。
以上文章中出现的资料,均可以免费分享给大家来学习,嘘,更有技术大佬们编写的学习笔记和学习视频哦。100%获取免费资料就在下方:
——点这里可以看到全部内容,免费进行下载。