干Java这一行,应该怎样提升自己?
前段时间,字节跳动在阿里巴巴的大本营杭州悄悄的建立一个研发中心,最近在疯狂招人。
相信最近一段时间,杭州的很多的互联网公司的开发人员都接到过猎头的电话。据了解,字节跳动杭州研发中心主要负责字节跳动新增业务板块的研发,以及研发成果和产品的就地产业转化。
近期我有一个朋友接受了邀请过去面试了,回来后他有些话想要和Java开发说的。
1、要看源码
很多大厂都喜欢招看过源码的程序员,很多面试过程中都会深入的问一些源码级别的问题,比如Spring、Dubbo等等这些。
其实,并不是说看过源码就代表一个人有多强,只是通过一个人对源码的了解程度,可以看出一个人的技术热情以及钻研能力。正是因为源码比较难看,也比较难坚持,所以看过很多源码的人自然能够脱颖而出。
至于看什么,其实并没有特别固定的,很多东西都可以,比如JDK、Junit、开源项目、Spring全家桶、Dubbo、Redis还有就是Mysql、Hotspot等,无论是什么,只要潜下心来看进去就行。
2、要有实战经验
很多大厂都喜欢问一下实战经验,比如有没有什么性能调优的经验、有没有解决过什么疑难问题的经验等等。
之所以问这些,是希望招到一个不仅仅会写CRUD,而且能够进行优化和解决问题的人。这两点其实很重要的,因为CRUD很多人都会写,但是真正遇到性能问题、一致性问题、死锁问题等等的时候,如果开发人员束手无策,那后果还是很严重的。
还有的就是比较看重分布式经验、高并发场景的开发经验等。这一点是因为很多大厂有很丰富的分布式、高并发场景,一个有相关背景的人可以快速上手,避免太长时间的过度,也避免遇到类似问题的时候惊慌失措。
3、要懂原理
大厂面试官最喜欢问的几个问题:实在使用的XXX你了解原理吗?有没有竞品?你用的这个和竞品之间对比有什么优势? 各自的优缺点是什么?
其实,任何的技术选型没有最完美的,只有最合适的的。面试官之所以问这些问题,是希望考察一个人是不是有思辨思维,是不是可以主导一些技术选型,而不是被动的接受。
而且很多时候,了解一些开源的框架、中间件的原理的情况下,才能更好的使用,才能把这些工具的能力发挥到最大,也才能遇到问题的时候有计可施。
如果你想要系统性的学习,可以参考以下思维导图:
以上,就是给Java程序员的一些建议,希望对大家有帮助。
干Java这一行,应该怎样提升自己?的更多相关文章
- java表达式类型的自动提升
当一个java算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升.Java定义如下的自动提升规则:1. 所有byte型.short型和char型将被提升到int型. 2. 整个 ...
- 关于Java运算中类型自动提升的问题
1.表达式中的自动类型提升: 表达式求值时,Java自动的隐含的将每个byte.short或char操作数提升为int类型,这些类型的包装类型也是可以的. 例如:short s1 = 1; s1 = ...
- Java中关于类型自动提升的两个注意点。
问题一:在进行赋值运算时,进行类型提升: 例如:short s1 = 1;s1 = s1 + 1; (错的编译通不过) short s2 = 1;s2 += 1;(正确,编译和运行都能通过) 为什么呢 ...
- 如何学好Java大数据并快速提升
Java作为一种最流行的,最热门的编程语言,可以说它无处不在,目前全球有着数十亿的设备正在运行着Java,很多服务器程序都是用Java编写,用以处理每天超过数以千万的数据.无论是手机软件.手机Java ...
- Java输入一行数据并转存到数组中
直接看下面的代码吧!主要是split和foreach的使用 import java.io.*; import java.util.*; public class Main{ public static ...
- java整数溢出问题及提升为long型
整数溢出问题 Java 中的 int 用 32 位表示,正数最大值的情况,首位是 0,其他位都可以是 1(就是 2^31-1).但是如果正数过大了,例如 2^31,计算机不得不把首位变成 1,并且计算 ...
- Java代码一行一行读取txt的内容
public static void main(String[] args) { // 文件夹路径 String path = "E:\\eclipse work\\ImageUtil\\s ...
- java学习二 数据类型自动提升 0x开头的数据是 16进制且是int型
变量只能定义一次,不能定义两次, 变量的作用域:当前的大括号与子括号才有效 变量的作用:存储值,取值 整型:向上自动升级,向下强制降级 char,byte,shot参与运算时候自动提升为int型 因为 ...
- Java -- 表达式类型的自动提升
1. 提升规则: a. 所有byte型,short型和char型将被提升到int型. b. 整个算数表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型. 例1: short val = 5; ...
随机推荐
- 基于Python的AT命令测试脚本
对于各种有线&无线调制解调器(modem)产品来说,AT命令是事实上的标准接口之一,在工业界被广泛使用. 我开发了一套基于Python的AT命令测试脚本,源代码可在github上获取: htt ...
- .NET Core 微服务—API网关(Ocelot) 教程 [三]
前言: 前一篇文章<.NET Core 微服务—API网关(Ocelot) 教程 [二]>已经让Ocelot和目录api(Api.Catalog).订单api(Api.Ordering)通 ...
- JVM初探(五):类的实例化
一.概述 我们知道,一个对象在可以被使用之前必须要被正确地实例化.而实例化实际指的就是以一个java类为模板创建对象/实例的过程.比如说常见的 Person = new Person()代码就是一个将 ...
- 2020-06-14:Redis怎么实现分布式锁?
福哥答案2020-06-14: 1.SETNX+EXPIRE.非原子性.2.SET key value [EX seconds] [PX milliseconds] [NX|XX]EX second ...
- C#LeetCode刷题之#485-最大连续1的个数(Max Consecutive Ones)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3714 访问. 给定一个二进制数组, 计算其中最大连续1的个数. ...
- Vue管理系统前端系列二相关工具引入及封装
目录 sass-loader/vuex 等的引入说明 引入 element 引入 axios 1.基本使用 2.封装使用 2.1 开发环境配置请求地址 2.2 配置代理 2.3 添加接口相关文件 sa ...
- 浅谈AutoML
Auto ML的概念很广很深,本篇文章旨在概念上的一些理解. 我们之前谈过一个模型从幕后走向台前是有很多的工作要做的,AutoML的最初目标正如其名字是想自动化这个过程.实际上有很多人讨论到Aut ...
- CSS动画实例:圆的涟漪扩散
设页面中有<div class="circle "></div>,定义.circle的样式规则绘制一个半径为75px,边框厚度为4px的圆,再定义关键帧,使 ...
- 手写Promise简易版
话不多说,直接上代码 通过ES5的模块化封装,向外暴露一个属性 (function(window){ const PENDING = 'pending'; const RESOLVED = 'fulf ...
- Java--- 关于null的处理若干方法
Java--- 关于null的处理若干方法 相信空指针是平时最常见的错误了,下面认识 null ,有助于解决 NPE 问题. nulll大小写敏感 关于这个问题,其实是对面试时候手写算法题时候需要注意 ...