前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何快速融入新公司

如何快速融入新公司

作者头像
赵云龙龙
发布2019-09-30 15:22:34
5090
发布2019-09-30 15:22:34
举报
文章被收录于专栏:python爱好部落python爱好部落

一个人的职业生涯中,换几家公司,跳几次槽是很正常的事情。进入新公司后,几乎都有一个适应期。而且很多公司根本不会给太多的适应期,几乎就是要立即挑重担的。

在面对新的环境,新的岗位,新的挑战,大家难免都会有焦虑和不适应, 怎么快速度过这个适应期,迅速调整自己的心态和状态来适应新的挑战。这里从软实力和硬实力两方面来探讨。

软实力:多跟大家交流。

有人的地方就有江湖,很多程序员不善于交际,但是人在江湖,身不由己。良好的人际关系是做好任何事情的前提。 入职第一天,和同事打过招呼后,要用心记住他们的名字,下次见面,主动打招呼的时候,先叫名字,对方会感受到你对他的尊重和关注,会对你的印象深刻,好感度也直线上升。 多参加一些团体活动,尽量和大家一起吃饭,可以很快的建立起同事间的情感。你可以想办法多和老员工聊聊天,去了解一下公司的人事结构、业务情况等。这也许可以从侧面了解一些人。可以不搞办公室政治,但是也避免别拉下水。 不管是否工作交集有多少,都要学会微笑示人,微笑是化解人和人之间的距离感的最佳武器。

保持一个谦虚学习的心态 到了新环境中,你不知道的信息太多,判断失误大有可能。 不要自我感觉过于良好,觉得自己超厉害,觉得周围的人都能力平平。聪明的人都懂得韬光养晦,能看清自己的位置,摆正自己的心态。 如果所以自视过高,缺少敬畏之心。当这种潜意识存在的时候,你一定会在各种事情的细节中体现出来,总有一天会栽大跟头。职场中最忌讳就是贬低别人来抬高自己。

少一些抱怨,多一些行动 没有公司是完美的。小公司,大公司,都有一堆恶心的代码,过时的文档,不尽人意的流程。进入到一个新团队后,不要跟大家抱怨。就算你说得十二分的正确,别人只能把你的善意提醒,当成是负面能量,没有人会主动去改变什么,特别不是份内的事情的时候。如果你能在完成自己本分的事情之余,能将一些事情弄完美,也许会有人看见。

认真完成每一个任务,不要贪多求快 如其把三件事情做到70分,不如把一件事情做到90分,甚至100分。你个人的自信和别人对你的信任,是建立在一个又一个高分任务的基础上的。每个分配到手的任务,你都能做到超出预期,那每个任务都能增加你leader, 周围同事对你的信任,增强你的口碑。反之,每件事情,都只做到及格线,就给大家留下不靠谱的印象了。

硬实力:专业能力

专业是职场的通行证,任何时候,专业能力强,是让你能融入一个团队的必备要素。入职新工作,你能快速掌握岗位的基本要求,能快速了解公司的产品种类,一切工作都能快速上手。当你发现自己不熟悉公司的技术栈时,得自己想办法补起来。如果发现自己的不足,努力追赶。

快速熟悉产品

为了快速的融入产品研发,需要自己从宏观和微观去把控产品或项目。产品的基本功能,有什么功能,达到什么目的,现在好坏,没事的时候,自己多体验一下产品,多看看原型图,设计稿。疑惑的地方,可以先记下来,说不定后面就迎刃而解。

快速熟悉流程和架构

可以通过文档或者同事交流,逐渐了解一些组织架构,跟你工作交接的人,他们的角色,脾气和秉性。 产品开发流程,测试流程以及上线流程,是否是敏捷开发模式,迭代周期,是否A/B testing等。 例如: a.开发工具 b.开发环境、调试环境、测试环境(公司的开发服务器、调试服务器); c.编程规范以及产品开发要求 d.相关文档; e.源码管理工具等;

了解软件系统框架。

系统是集中式系统,还是分布式系统? 是否用了微服务? 用的是何种数据库系统? 接口服务用的是何种组件? 缓存系统用的是redis还是memchache? 消息队列实现方式 如何实现性能和日志监控? 如何实现服务器的调度和管理?

了解业务

在做设计研发,不了解业务,很多时候是没法开展工作的。如果业务复杂,也没有文档,而且没有人给你讲解,怎么办?只能自己摸索了。

了解业务的的好的方法,是了解接口和数据库,不管何种业务,大部分是要调用接口,存储数据的。下面就从sqlserver以及mysql来尝试去了解业务了。

先看sql server

也许我们知道某个模块或者某个业务,常听人讨论某个业务的名字,我们可以简单去数据库里查询业务对应的表。 模糊查询表的名字

代码语言:javascript
复制
SELECT * FROM sys.objects WHERE name LIKE '%Members%' AND type = 'U'
select name from sys.objects where type='U' and name like '%session%'

然后我们去看看库, 查询表在哪个库中

代码语言:javascript
复制
declare @tableName nvarchar(255),@sql nvarchar(1000)
set @tableName=N'MemberSession'
set @sql=N'use ? if exists(select 1 from sysobjects where id=object_id('''+@tableName+''')) print ''?'''
exec sp_msforeachdb @sql

查询库的信息

代码语言:javascript
复制
查询有哪些库
SELECT Name FROM Master..SysDatabases ORDER BY Name
查询某个库中有哪些表:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'

SELECT * FROM INFORMATION_SCHEMA.TABLES

某个库中的表信息
SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('Members')

SELECT * FROM INFORMATION_SCHEMA.TABLES

SELECT * FROM INFORMATION_SCHEMA.VIEWS

SELECT * FROM INFORMATION_SCHEMA.COLUMNS

如果知道一个字段,但是不记得在哪个表中, 可以用以下查询字段在哪些表中

代码语言:javascript
复制
SELECT b.name as TableName,a.name as columnname
From syscolumns a
INNER JOIN sysobjects b ON a.id=b.id
where b.type='U'
AND a.name='memberid'

查询表有哪些字段:

代码语言:javascript
复制

最简单:
Select Name FROM SysColumns Where id=Object_Id('Main.dbo.Members')
简单:
USE ET_Main
SELECT syscolumns.name,systypes.name,syscolumns.isnullable, syscolumns.length  
FROM syscolumns, systypes  
WHERE syscolumns.xusertype = systypes.xusertype  AND syscolumns.id = object_id('Members')

复杂:
USE ET_Main
DECLARE @tableName NVARCHAR(MAX);
SET @tableName = N'Members'; --表的名字!!!

SELECT CASE
           WHEN col.colorder = 1 THEN
               obj.name
           ELSE
               ''
       END AS 表名,
       col.colorder AS 序号,
       col.name AS 列名,
       ISNULL(ep.[value], '') AS 列说明,
       t.name AS 数据类型,
       col.length AS 长度,
       ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数,
       CASE
           WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN
               '√'
           ELSE
               ''
       END AS 标识,
       CASE
           WHEN EXISTS
                (
                    SELECT 1
                    FROM dbo.sysindexes si
                        INNER JOIN dbo.sysindexkeys sik
                            ON si.id = sik.id
                               AND si.indid = sik.indid
                        INNER JOIN dbo.syscolumns sc
                            ON sc.id = sik.id
                               AND sc.colid = sik.colid
                        INNER JOIN dbo.sysobjects so
                            ON so.name = si.name
                               AND so.xtype = 'PK'
                    WHERE sc.id = col.id
                          AND sc.colid = col.colid
                ) THEN
               '√'
           ELSE
               ''
       END AS 主键,
       CASE
           WHEN col.isnullable = 1 THEN
               '√'
           ELSE
               ''
       END AS 允许空,
       ISNULL(comm.text, '') AS 默认值
FROM dbo.syscolumns col
    LEFT JOIN dbo.systypes t
        ON col.xtype = t.xusertype
    INNER JOIN dbo.sysobjects obj
        ON col.id = obj.id
           AND obj.xtype = 'U'
           AND obj.status >= 0
    LEFT JOIN dbo.syscomments comm
        ON col.cdefault = comm.id
    LEFT JOIN sys.extended_properties ep
        ON col.id = ep.major_id
           AND col.colid = ep.minor_id
           AND ep.name = 'MS_Description'
    LEFT JOIN sys.extended_properties epTwo
        ON obj.id = epTwo.major_id
           AND epTwo.minor_id = 0
           AND epTwo.name = 'MS_Description'
WHERE obj.name = @tableName --表名
ORDER BY col.colorder

查询某个库中,表的主键和外键被谁引用:

代码语言:javascript
复制
USE Oboe
SELECT 主表名=object_name(b.rkeyid)
    
,主键列ID=b.rkey
    
,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid)
    
,外键表ID=b.fkeyid
    
,外键表名称=object_name(b.fkeyid)
    
,外键列ID=b.fkey
    
,外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid)
    
,级联更新=ObjectProperty(a.id,'CnstIsUpdateCascade')
    
,级联删除=ObjectProperty(a.id,'CnstIsDeleteCascade')

FROM sysobjects a
    
join sysforeignkeys b on a.id=b.constid
    
join sysobjects c on a.parent_obj=c.id

然后尝试各种表的查询,结合接口和产品,就可以慢慢熟悉一些业务了。

如果是在mysql中: 一、简单描述表结构,字段类型

代码语言:javascript
复制
desc tabl_name;

显示表结构,字段类型,主键,是否为空等属性,但不显示外键。 二、查询表中列的注释信息

代码语言:javascript
复制
select * from information_schema.columns
where table_schema = 'db' #表所在数据库
and table_name = 'tablename' ; #你要查的表

三、查询列名和注释

代码语言:javascript
复制
select column_name, column_comment from information_schema.columns where table_schema ='db' and table_name = 'tablename' ;

四、查看表的注释

代码语言:javascript
复制
select table_name,table_comment from information_schema.tables where table_schema = 'db' and table_name ='tablename'

五、查看表生成的DDL

代码语言:javascript
复制
show create table table_name;

六、查询库下所有的表名

代码语言:javascript
复制
SELECT table_name FROM information_schema.tables WHERE table_schema='库名'

七、模糊表名查询

代码语言:javascript
复制
SELECT table_name FROM information_schema.tables WHERE table_schema='库名' AND table_name LIKE '表名前缀%' 
代码语言:javascript
复制
查看当前使用的数据库 select database();
查看数据库使用端口: show variables like 'port';
查看数据库编码: show variables like 'character%';
查看数据库的所有用户信息: select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;
查看某个具体用户的权限: show grants for 'root'@'localhost';
查看数据库的最大连接数: show variables like '%max_connections%';
查看当前打开的连接的数量: show status like 'threads_connected';
查看数据库当前连接并发数: show status like 'Threads%';
查看数据文件存放路径: show variables like '%datadir%';
复制表结构:create table table1 like table;
复制数据:insert into table1 select * from table

机器授权:

代码语言:javascript
复制
grant select on . to 'reader'@'%' identified by '123456' WITH GRANT OPTION
flush privileges

修改表结构

代码语言:javascript
复制
alter table competitor_goods add sku_id bigint(20) unsigned DEFAULT NULL COMMENT '商品销售码';
代码语言:javascript
复制
SHOW DATABASES                                //列出 MySQL Server 数据库。
SHOW TABLES [FROM db_name]                    //列出数据库数据表。
SHOW TABLE STATUS [FROM db_name]              //列出数据表及表状态信息。
SHOW COLUMNS FROM tbl_name [FROM db_name]     //列出资料表字段
SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]。
SHOW FULL COLUMNS FROM tbl_name [FROM db_name]//列出字段及详情
SHOW FULL FIELDS FROM tbl_name [FROM db_name] //列出字段完整属性
SHOW INDEX FROM tbl_name [FROM db_name]       //列出表索引。
SHOW STATUS                                  //列出 DB Server 状态。
SHOW VARIABLES                               //列出 MySQL 系统环境变量。
SHOW PROCESSLIST                             //列出执行命令。
SHOW GRANTS FOR user                         //列出某用户权限

业务如果复杂,不是一朝一夕的就能掌握的,如果工作中常常有意识的去思考一下,结合自己的实践,多看看接口,多查查数据库。跟同事多交流,慢慢的,也会对业务有所了解了。

融入一个新的团队中时,肯定会遇到很多困难,如果有人交流,那是最好不过的了。如果没有,唯有自己不断的学习和实践,才能不断提高。

来源微信公众号:python爱好部落

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python爱好部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软实力:多跟大家交流。
  • 硬实力:专业能力
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档