实习心得-链家网

2024-08-23 02:08
文章标签 链家网 心得 实习

本文主要是介绍实习心得-链家网,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

六月中下旬,以Java研发实习生身份,入职链家网,截止已有一月有余,就目前从事的工作及学习心得进行记录与分享。

1、工作性质:
侧重应用服务开发,以编写增删改查的接口为主,但却不只是基础的增删改查,看似简单,却要在编写接口之前,充分考虑代码的可扩展性,细节的处理,以及及时的单元测试
  1.1 细节
   try-catch异常的捕获处理,不能因为一个普通的空指针异常就让整个程序停止运行。
   Null值判断,每一次的查询,或者每一次从request获取值,在使用前都需要进行非空判断和处理。
   重视设计,接口的设计第一要求是快速响应,因此,需要尽可能的减少与数据库的连接次数(打开连接-查询-关闭连接),打开一次连接之后,应尽可能多的将后期业务逻辑所需要的数据一次性查询出来,在内存中用list或者map等几个常见的集合接口进行存储,而不是反复的连接数据库去查询。
   在保证响应速度的前提下,尽可能少的减少代码的重复率,即代码重构,定期review自己写的代码。
   这里补充一句,大多数人进入公司时,可能并不是接到一个从0开始起步的系统,更多的是接手已经有一定基础,且经过几次迭代但尚未稳定的系统,这时候,review code的时候,很多时候就有了参照依据,多去对比,多反思前辈写的代码,为何留有各种伏笔,举个简单的例子。
   当前需求,明明只需要查询指定的一条记录,却仍将记录用list进行存储,并将整个list传入下一个所需要的方法中。即前文考虑的从代码可扩展性考虑,需求变动时,力求代码改动最少。
   1.2 增、删处理
   增,即向表中插入一条记录,一句话,看似很简单,但在实际的场景中,需要考虑的问题很多。
   比如,当前系统A与系统B有通信需求,且消息从B—->A,利用Kafka消息队列做通信媒介,这里A就是典型的客户端消费者。
   系统A Pull到记录并准备写入数据库时,如何做防重处理?
   1、对表指定联合主键(底层表设计),则写入数据表时,交由底层数据库自动做防重处理(出现重复记录,最多反馈一个插入失败的异常,完全可由业务逻辑进行处理)
   2、无法对单表中的记录指定联合主键,可能需要配合其他表才能唯一确定一条记录。则需要一张中间表,unique表进行记录,每次写入时,先遍历该表,是否已存在记录。
   3、逻辑外键维护,若在数据库设计阶段就指定大量的外键关系,则底层数据库将需要花费极大的代价去维护这些外键关系,因此,更多的策略是,在实际设计表时,不指定其外键关系,而交由业务系统进行处理。
   优点:底层数据库省去维护外键的时间和代价
   隐患:对设计者代码把控能力要求更高,因为全部交由业务逻辑实现,因此需要在业务逻辑中进行维护,不能出现遗漏。
   事务的控制,由于某表新增了一条记录,导致其它表也需要新增关联记录,此时应将这一系列操作视为原子操作,需要添加事务控制,出现异常时,进行回滚操作。
   删,处理逻辑跟增总体一致,注意事务控制。
2、工作节奏
公司整体节奏较快,但仍可以找到一个自己舒适的工作节奏,按部就班进行工作,最好指定周计划和目标,估算好工时。每周末定期review既定任务完成情况,出现delay,则需要思考哪些方面安排上出现失误。
3、工作中的学习习惯
刚入职,自己所接受的知识量是非常大的,尤其是在面对以往不熟悉的领域,需要尽快消化,抓住别人讲解的时候,尽可能多的思考,提问,保持注意力高度集中,别人给安排的任务,不知道如何入手时,开口问,因为自己尚未形成合理高效的工作习惯,尽可能多的请教是唯一的解决方式。不要等着别人主动过来给你讲,这不可能。
4、其他实际问题处理
AMQ切换Kafka,上周任务,之前对消息队列完全没有概念,只有一周时间将AMQ进行切换。

1、排期
1d
理解消息队列,收集学习相关AMQ、Kafka基础知识
1d
疑问,为何需要将AMQ切换成Kafka,Kafka较AMQ而言,有什么优势,有什么劣势,进一步理解Kafka使用方式及特点(依赖Zookeeper,为何要依赖Zookeeper?broker的无状态机制,新版本Kafka已和Zookeeper解耦)
2d
熟悉原有AMQ如何实现消息通信,并作为消费者,如何处理AMQ中传过来的消息,理解其AMQ配置文件中的各个bean含义。
上网查阅如何集成Kafka+spring。开始着手改造
集成时,需要注意以下几个问题:
1、添加Maven依赖时,注意版本是否完美兼容,最好的方式,查阅官方文档,
2、添加完jar包之后,需要进行排包,新的jar包容易引入之前重复的包,比如最典型的就是log4j,slf4j这几个日志包,需要进行排包。
3、理解Kafka配置文件中,几个bean及其bean中属性的具体含义

结合原先AMQ配置文件,思考切换时,代码改动代价最小的情况下,将AMQ切换为Kafka(其实本质上就是修改配置文件和属性文件,无奈前期踩了许多坑,加上时间紧张,磕磕绊绊,难免焦虑)
处理焦虑的最好方式,就是。。。啥都不想,上个厕所安静安静。

这篇关于实习心得-链家网的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098049

相关文章

实习项目|苍穹外卖|day7

缓存菜品 1.根据原型进行需求分析与设计(接口文档) 2.根据接口设计DTO(redis数据类型选取) 3.编码controller-》service-》mapper @GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<DishVO>> list(Long categoryId) {//判断缓存

【Unity面经】实习篇:面试官常问的一百个面试题

👨‍💻个人主页:@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧🟥Unity100个实战基础✨🎁🟦 Unity100个精华一记✨🎁🟩 Unity50个demo案例教程✨🎁🟨 Unity100个精华细节BUG✨🎁🟨 Unity100个面试题✨🎁 文章

我的第一次份实习工作-iOS实习生-第三个月

第三个月 这个月有一个考核项目,是一个电子书阅读器,组长说很重要,是我的实习考核项目。 我的项目XTReader,这是我参考网上的一些代码,和模仿咪咕阅读做的,功能还不完善,数据的部分是用聚合数据做的。要收费的。   还有阅读页面,基本功能实现了一下。使用了autolayout,自适应布局,也是第一次用网络,第一次用数据库,第一次用自动布局。还有很多不足。 做了一周多,有个问题一直没

我的第一次份实习工作-iOS实习生-公司使用过的软件

bittorrentsync 素材,文件同步软件 cornerstone svn 软件开发合作 mark man 测量坐标的软件 SQLLite Manager 数据库操作软件

我的第一次份实习工作-iOS实习生-第二个月

第二个月 来公司过了一个月了。每天早上9点上班,到晚上6.30下班,上下班要指纹打卡,第一个月忘了打卡好多次(),然后还要去补打卡单。公司这边还安排了,工资卡办理,招商银行卡。开了一次新员工大会,认识了公司的一些过往,公司的要求等,还加了一下公司的企业QQ,还有其他的羽毛球群,篮球群。我加了下羽毛球群,也去打了一两次。第二个月的感受,感觉跟组里面的交流跟沟通都好少,基本上还有好多人不认识。想想也

我的第一次份实习工作-iOS实习生-第一个月

实习时间:2015-08-20 到 2015-12-25  实习公司;福建天棣互联有限公司 实习岗位:iOS开发实习生 第一个月: 第一天来公司,前台报道后,人资带我去我工作的地方。到了那,就由一个组长带我,当时还没有我的办公桌,组长在第三排给我找了一个位置,擦了下桌子,把旁边的准备的电脑帮我装了下,因为学的是iOS,实习生就只能用黑苹果了,这是我实习用的电脑。 帮我装了一下电脑后,开机

蔚来汽车-测开日常实习-部分手撕代码题

基本上来自牛客的帖子,自己总结了一些题及其做法,之后也会更新其他公司的测开实习真题。 1.    【入门】- 输入十进制整数,输出该整数中1的数量。 感觉比较简单,不知道具体的用例,可能是特别长的输入?这样用字符串处理就行。 如果应规定输入的是long之类的数据类型,就用to_string 转为string类型即可。 int num = 123;std::string str = st

面经学习(hbkj实习)

个人评价 这次面试算是对我基础知识空缺的排查,有很多小知识点是我没有去复习到的,也是一次比较愉快的面试。  1.在java中有哪些数据属于共享变量?(共享变量怎么创建) 共享变量的形式还是很多的,首先就是今天变量进行一个共享变量。当我们需要将某个变量变成一个共享变量的时候需要使用Voliate进行修饰,使其变成共享变量。  2.多线程进行操作数据时如果不上锁为什么共享变量中的数据会被该的乱

软件综合实习——基于NoSQL数据库的空间数据存储

前言:在“软件综合实习”这门实践课中选择了一个题目《基于NoSQL数据库的空间数据存储》,基于HBase的空间数据存储和查询。此博客是这次课程设计过程中的简单记录。 GitHub项目源代码 简介 RDBM在处理中小规模数据的时候没有压力,拥有严格的数学背景支撑,擅长处理事务。然而新千年之后进入互联网时代,此时数据量极速变大,RDBM在一些大数据场景开始力不从心,世界需要新的变革,等待新的

成功之路:如何获得机器学习和数据科学实习机会

一年内获得两份实习机会的数据科学家的建议和技巧        欢迎来到雲闪世界。在当今竞争激烈的就业市场中,获得数据科学实习机会可以成为您在科技领域取得成功的门票。 但申请者如此之多,你该如何脱颖而出呢? 无论您是学生、应届毕业生还是想要转行到数据科学领域的人士,本文 都将指导您采取可行的策略来获得实习机会。 作为一个在一年内成功完成两次实习的人,我很高兴与大家分享对我有用的技巧。