共计 2819 个字符,预计需要花费 8 分钟才能阅读完成。
作者:_MarkerHub_
链接:https://zhuanlan.zhihu.com/p/…
月薪 10K、15K、20K 的 Java 程序员分别需要掌握哪些技术?
大家好,我是吕一明,我们又见面了。今天我们聊聊一个大家普遍关心的问题,java 程序员的工资,以及对应的技术水平。
一般来说,做技术都是工作经验越丰富越吃香,当然了也有很多人说 35 岁以后的程序员就很难找工作了!
所以在自己刚入行工作的前 3 年,一定要不断提升自己的技术能力。自己也要准备一份面试题大全,业余时间把面试的题目都去认真了解、研究一遍。做到随时都可以辞职面试的状态,有备无患!
ok,回到我们之前的话题,月薪 10k,15k,20k 分析需要掌握什么样的技术,相信这才是你最关心的。
月薪 10K 左右:
属于小白 - 1 年经验,java 入门级别。普遍学会 java 基础,常用框架中 Springboot、mybatis 能够灵活使用,懂得一下原理性的东西,然后自己做几个项目,简历再包装一下 2 年经验,好好准备一下面试,这样通过面试的概率就很高了。当然了,1 年经验的同学如果技术还可以,包装一下 3 年经验也可以哈,工资的话 13K、15k 可以尝试一下。
所以,你应该准备这样一份面试题:
10K 面试题:
1. 抽象类和接口的关系和区别,以及你在时间开发过程中是怎么使用到的?
2. 你知道反射机制和动态代理吗?
3. 一个线程连续两次调用 start 方法会发生什么?简单谈谈线程的几种状态?
4.springmvc 实现原理?
5.mybatis 中 #$ 的区别?
6. 你知道设计模式吗?在实际运用中你会怎样去运用他?比如我这里有个策划打折活动,
比如 VIP,普通用户,顾客分别打不一样的折扣,你会用什么设计模式?
7. 你知道索引失效嘛?举例看看?
8. 多态在实际项目的使用?
9. 你知道 Spring IOC 吗?Spring 是怎么创建对象的?
10. 你知道缓存机制不?
11. 你的项目中有用到数据库分库分片吗? 数据库分库分片规则?
12. 在实际中你会怎样对 sql 语句进行优化?
13. 常见的数据结构有哪些?在 JAVA 中是怎么使用到他们的?
14.JVM 原理你知道嘛?有没自己调优过?
15. 看你的项目里用到了 springboot,谈谈你对 springboot 的理解?
16. 你项目里用到了 rocket MQ, 那你知道 rabbit MQ、rocket MQ 和 kafka 他们之间的区别嘛?
能简单说说不?
17.redis 常运用场景有哪些?你的项目中主要使用到 redis 是用到干嘛的?
18. 有自己部署过 redis 嘛?redis 是如何实现高可用的?
19. 了解 mysql 的读写分离嘛?是如何实现高可用的?
20.Exception 和 Error 的关系和区别?
21. 基本数据类型转换为 String 时你有几种方法,分别是什么?
22. 如何利用 JDK 不依赖外部工具,实现一个简单的缓存机制?请简述用到的技术和思路。
23. 你项目中是怎样用到事务的?分布式锁呢?
24.Zookeeper 有哪些运用场景?
月薪 15K 左右:
恭喜你,终于算个小高手啦,能独立搭建和负责完成一个完整项目。还记得我以前在外包公司,拿着 15K 工资,领导给了我一个项目,负责开发一个政府的资产管理管理系统,功能不会很复杂,会设计到资产的收纳、录入、报废等过程,其中还会涉及到条形码设计,和硬件标枪的扫码自动录入和识别等。是复杂也不算特别复杂,只要把各种表关系、字段等提前设计好,灵活运用代码生成工具,就会少写很多代码。
15K 的能力,我们应该对 springboot、springcloud、分布式锁、事务、多线程并发问题、JVM 底层、网络层等知识要能理解并灵活运用!你应该准备这样一份面试题:
15K 面试题
http://1.IO/NIO 的区别,为什么要用 NIO,使用 IO 中的 Buffered.. 也能实现 NIO 的面向缓冲,什么情况下用 NIO?
2. 熟悉的排序算法有哪些,快速排序算法的实现原理?
3.HashMap 与 ConcurrentHashMap 有什么区别?HashMap 的存储结构?
4.vector、ArrayList、LinkedList 区别及存储性能。
5. 线程实现的几种方式,有什么区别,一般用哪个,为什么?
6. 多线程中线程池怎样使用及其实现原理?
7.volatile 关键字的作用是什么?
8.synchronized 关键字的作用,使用该关键字后保证同步了,同步代码块与同步方法有什么区别?
9. 一个线程可以多次 start 吗,会报错吗?
10.spring AOP IOC 实现原理?
11.spring 中的事务的传播方式怎样实现的?
12.spring 中事务实现的原理?
13. 为什么要使用数据库索引,数据库索引有哪些,索引的底层原理是什么?
14.sql 查询缓慢怎么处理,sql 优化方案有哪些,explain 用过吗?
15. 数据库中的锁有几种?
比如行锁、表锁等会深问
16. 数据库为什么要使用事务,事务的原理?
17. 数据库分库分表的方法,垂直分还是水平分,根据哪些来分?
18count(1) count(5) count(*) 有什么区别,100 万条数据的效率如何?
19.solr 搜索实现原理、使用的排序算法是什么,怎样实现快速查询?
20.3 次握手的原理是什么?
21. 动态代理实现原理是什么和动态代理使用的方法、类有哪些?
22.redis 的数据结构有哪些?
23. 虚拟机了解多少?
24.spring 默认是单利还是多例的?
25. 常用的队列有哪些?什么情况下使用?
26. 你知道的线程安全的类有哪些,方法有哪些?
27. 数据库的乐观锁和悲观锁的原理及使用?(version)
28. 对 GC 了解多少?
29. 堆和栈的区别,堆中存放什么,栈中存放什么?
30. 用过的中间件有哪些?
月薪 20K 以上:
你已经是个大神级别的人物了,技术牛逼,是公司里的高级工程师、项目经理,或者架构师,能独挡一面,下面会有几个小弟,主要负责公司的整体项目把控。服务宕机了,老板骂你;下属写了个 Bug 导致损失,老板骂你;半夜老板打电话给你,说临时有个想法;大早上甲方打电话给你,说需求再改改。我只能说,压力山大。
大神级的面试题:
20K 面试题
1. 您认为的“大规模高并发访问的 Web”有哪些呢. 请举例 2 个知名的网站
2. 您开发过的核心功能,哪些呢
3. 如果让你对外开发一个接口,你会考虑哪些因素?
4. 设计数据库的时候会考虑哪些因素,怎样去建表?
5. 说说负载均衡,缓存,文件数据库技术的心得和要点。
6. 性能评估机制, 指哪方面呢。您有这方面的经验和体会吗?
7. 精通 UML、以及熟练使用一种或多种建模工具。
8. 您常去的技术网站是什么。工作做用过什么辅助软件呢?
结束语
非常羡慕拿这么高工资的人呀,我还特别羡慕那些年终奖有 4,5 个月工资甚至半年以上的,牛逼轰轰的。
好了,今天就先聊到这吧,朝着自己学习的方向奋斗,总有一天你也会拿着别人羡慕的工资,而每天再多努力一点,你就会让这一天提前一点到来。相信自己,我能行!