Java开发入门教程!初来乍到

  • BD:Business Development, BD指事业部,包含BU

  • BU:Business Unit,BU指业务线,产品线,它们之间的关系,BG > BD > BU

  • Codereview:代码评审,你在gitlab提交代码以后,并不是你写好代码觉得没问题就行,会有相应的负责人对你的code进行review(审评)

  • TL:Team Leader,团队领导

  • PM:Product Manager,项目经理

  • PD:可以译作Product Director(产品主管)或Project Director(项目主管)的意思,一般比Project Manager(项目经理)级别要高。

  • PRD:Product Requirement Document,产品需求说明书,一般是PD来写的

  • MRD:Market Requirement Document,市场需求文档

  • Kick Off:kick off 源自于足球,就是开球,发球的意思。在IT项目中,表示项目启动会议

  • Deadline:最后期限,完成任务的最终时间

  • 技术owner:小组内的技术leader

  • QA:Quality Assurance,测试

  • PE:Production Engineer,运维工程师

  • DBA:Database Administrator,删库跑路的事件大家基本上都听过吧,数据库作为公司的重要数据资产,肯定不能随便让人接触,所以数据库一般都是有专门的DBA来进行管理,使用时需要向DBA同事申请权限

  • ERP:Enterprise Resource Planning Administration的缩写,意为企业资源计划。ERP系统可以看作将企业的各个业务整合到一个信息系统上面。比如很多银行之前的业务都是外包给各个软件公司做的,各个业务模块之间的数据并不互通,就需要进行集成,打造一个ERP系统。

  • CRM:Customer Relationship Management,客户关系管理,CRM系统主要用来管理客户信息,在此基础上才能对客户数据进行分析,然后提供个性化的服务。

  • 各种O:CEO,CTO,COO,CIO,CFO。说实话我也不是很熟悉这些职位之间的区别,至需要记住的是缩写中的C是chief,首席的意思,反正就是你的各种老大就是了,放尊重点就对了。

工作黑话


  • UV: Unique Visitor,访问你的网站的某个客户端为一个访客。0:00-24:00内相同的客户端只被计算一次

  • PV: Page View,具体是指网站的页面流量或者点击量,页面被刷新一次就计算一次。如果网站被刷新或者被点击了了1000次,那么流量统计工具显示的PV就是1000

  • GMV:Gross Merchandise Volum,成交总额,在电商中经常听到这个词,指拍下的订单金额,包含已付款和未付款的部分

  • DAU:Daily Active User,每日活跃的用户,即日活,这是互联网领域通常听到的一个词,互联网公司关注的不仅仅是收入,利润,通常都还会刻意强调日活

  • DO:Data Object,Java对象,通常与数据库表字段一一对应

  • VO:View Object,通常是指返回给页面进行展示的对象

  • BO:Business Object,业务对象。一般用在Service层

  • POJO:Plain Ordinary Java Object,传统意义上的 java 对象,只有属性和一些getter/setter方法。

  • DAO:Data Access Object,数据访问对象,就是一般所说的DAO层,连接数据库与程序之间的桥梁。访问数据库时,将数据库表中的一行数据映射到一个对象上,返回给程序使用,插入数据时,将程序中的一个对象解析为数据库中的一行记录插入到数据库中。类似于使用MyBatis中的mapper,通常在DAO/Mapper层实现对数据库的CRUD。

  • DTO:Data Transfer Object,数据传输对象,在不同的层级之间传递某个对象时,可能某个层级只需要该对象的部分属性,如果将该对象整个都进行传递,有点浪费,因此可以抽取该对象的部分属性组装成一个临时的Object,这就是DTO。

  • Domain:实体,通常也是一个Java类,类中的属性与数据表中的字段通常一一对应

各种类型的Object太多了,可以看看我总结的这张图,不一定非常准确,但大致应该是这样。现在大部分的Web 或者 App 项目都采用了MVC三层架构,大致可以分为如下三层,其中Repository 层负责数据访问,Service 层负责业务逻辑,Controller 层负责暴露接口

在这里插入图片描述

  • DDD:Domain Driver Design,领域驱动设计,一种设计思想,在微服务领域很火

  • ORM:Object Relational Mapping,对象关系映射,通常都是指一些ORM框架,比如Hibernate,Mybatis等自动或者半自动的ORM框架

  • DB:database,数据库

  • AOP:Aspect Oriented Programming,面向切面编程

  • MVC:Model-View-Controller,一种架构设计,现在的Web开发基本上都是MVC三层架构

  • RPC:Remote Procedure Call,远程过程调用协议,工作中通常会接触很多RPC框架,包括gRPC ,Thrift,Dobbo等等

  • VPN:Virtual Private Network,一提到VPN很多boy就兴奋了,此VPN非彼VPN,虽然功能都差不多。绝大部分公司都有自己的VPN来访问公司的内网,公司的数据都是珍贵的资源,不能放在互联网上,都会放在自己的专有网络中

  • CRUD:CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。CRUD boy 或者 CV boy,你属于哪一种呢?

  • MQ:Message Queue,消息队列,常用的消息队列,Active MQ,Rabbit MQ,Rocket MQ,Kafka

  • RESTful(REST):你的接口设计得够不够 RESTful?REST是一种软件架构设计风格,英文名全称太长,就不用关心了,需要知道的是REST是一种面向资源的设计的风格。比如,几乎每个系统都有登录和注销功能,如果你理解成登录对应于 login()、注销对应于 logout() 这样两个独立服务,这是“符合人类思维”的。如果你理解成登录是 PUT Session,注销是 DELETE Session,这样你只需要设计一种 “Session 资源” 即可满足需求,甚至以后对 Session 的其他需求,如查询登录用户的信息,就是 GET Session 而已,其他操作如修改用户信息等等,都可以被这同一套设计囊括在内

感受:

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。

特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

也祝愿各位同学,都能找到自己心动的offer。

分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档,需要的朋友可以【点赞+关注】戳这里即可免费获取

己心动的offer。**

分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档,需要的朋友可以【点赞+关注】戳这里即可免费获取

拿到字节跳动offer后,简历被阿里捞了起来,二面迎来了P9"盘问"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值