干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; ...
随机推荐
- @Repository注解和@Mapper注解区别
@Reponsitory注解 @Reponsitory使用后,在启动类上需要添加@MapperScan("xxx.xxx.xxx.mapper")注解 @Mapper注解 @Map ...
- C#LeetCode刷题-链表
链表篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 19 删除链表的倒数第N个节点 29.4% 中等 21 合并两个有序链表 C#LeetCode刷题之#21-合并两个有序链 ...
- Android Studio Gradle build 报错:Received status code 400 from server: Bad Request
错误提示如下 Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/ ...
- List 集合的操作
如果当前id存在集合里 去除当前id 如果不在集合里 去除集合最后一个结果Long videoId = 0l; // 当前 IDList<VideoZoneReturnBean> ...
- ubuntu开发机所需工具,做个记录,不断补充
文件搜索 FSearch 用了下可以, 类似windows下的Everything 或者mac的cmd+空格 地址 安装: sudo add-apt-repository ppa:christian- ...
- Git的使用方法及IDEA与Git的集成
一.Git的环境配置 1.Git软件下载 (下载地址:https://git-scm.com/)由于国外的网站下载的超慢可以使用国内的阿里的开源镜像下载(下载地址:https://npm.taobao ...
- Android EditText判断输入的字符串是否为数字(包含小数点)
有时候项目需要获取EditText所输入的字符串为纯数字(含小数),一般情况下在xml中设置EditText的的属性(我是直接设置digits为数字和小数点,即digits="0123456 ...
- JavaScript对象、函数、变量、字符串的处理、运算符
一.对象 使用一种抽象的概念去描述,人{属性,方法} var car={type:"BYD",model:500,color:white,do:function(){"可 ...
- Centos7第一安装后无法联网
- chromium 源码下载地址
下载链接:https://gsdview.appspot.com/chromium-browser-official/