0
点赞
收藏
分享

微信扫一扫

最近找工作时,一些杂七杂八的问题


有点乱七八糟,放一起,不再备份了。

各式各样的问题,头疼,搞的老子跟菜鸟似的。

这辈子再也不找工作了~

 

1.设计模式

创建型、结构型、行为型

责任链:拦截器

代理:静态代理、动态代理

建造者:Builder模式、工厂

观察者:事件响应,MQ

策略模式:退款(时常,全款)

模版方法:定时任务,抽象类

装饰模式:io

责任链:过滤器、拦截器

单例 (需要多准备几种,优劣好坏)

 

2、日常问题-挑战-成就感

  自己准备了几个,说的不够清晰,做过的项目不够高大上,感觉也没啥好说的。

性能

1个get查询,超过1秒。

fullgc, mysql、服务器(cpu、磁盘、网络)

 

上线,RPC序列化,调整了字段顺序

重复插入,数据库唯一索引,分布式锁,insert ignore,replace into

价格,限时折扣(全员),定向促销(几个人,缓存)

 

分页bigint

vue用了key限制,2个id相同的只会展示1个。

  后端bigint的long,在js由于精读丢失,2个id一样,10条数据,只展示了7条。

  <tr v-for="(item,index) in page.list" :key="item.id">

                        <td>{{item.id}}</td>

    </tr>

 

差1分钱

用户投标回款的钱,项目还款的钱,差1分钱。

rid 659,repay_amount和return_amount差1分钱?精确度?

loan_repay需要还的金额,100元,以100总数计算。

投标(50,35,15)分3个值分别计算利息,3次利息之和 不等于100一次性的利息之和。

定时任务执行

数据库锁

配置ip

多台执行,乐观锁

分布式任务调度+RPC

 

Spring初始化卡住了,javax.inject.Inject' annotation found and supported for autowiring

 

3.mq

最常见的问题

 

4.自我介绍

大致如下,现场灵活发挥。履历不够牛逼,说这些人家根本没兴趣。(面试真没意思)

工作6年多,一直从事java研发。以前比较年轻,4家创业公司经历,其中1次自主创业经历,能独自搞定小型项目web/mobile/服务端3端系统开发。总结分享,工作中遇到过好几百个问题,在我的博客都有记录。最近2年多,在京东修炼,中等规模的互联网系统开发有了一定的积累,分布式soa之类的,技术使用场景期望加入,继续做好研发,在3到5年里,进一步提升自己,在千万级亿级。在技术的底层原理,业务的优雅实现方面,有所欠缺。

金融,p2p网贷,票据理财,股权众筹店铺。比较匹配的。

5.最近的工作相关技术

17年底接手的项目。

18年

为什么要SOA化:代码复用、开发维护-分工协作、对外提供接口、抽象(不要知道细节)

商品模块(类目、商品-列表-详情、首页楼层广告)的优化(缓存)、SOA化改造、

对外接口(web、mobile、客户端、内部部门RPC)

性能优化(多表联合查询、redis-es缓存)、稳定性、Bug修复、业务下线(产品、运营)、代码重构(代码减半、单一职责、可读性(命名、流程)、重写-新需求)

618和双11备战:

19年,专注做业务

 

高并发(图片合并、js压缩、缩略图、压缩CDN

负载均衡、无状态-多台机器、多级缓存-浏览器客户端-Nginx、Redis/Es缓存、数据库1主7从,静态页,索引,

分库分表/业务拆分,异步,多线程,队列,分流熔断

高性能(CDN、缓存、索引)

高可用(负载均衡和虚拟IP、Nginx、1主多从、存活检测和失效转移.无状态,有状态-passport,cookie+redis,多机器)

 

 keepalived的作用是检测后端TCP服务的状态,如果有一台提供TCP服务的后端节点死机,或者工作出现故障,keepalived会及时检测到,并将有故障的节点从系统中剔除,当提供TCP服务的节点恢复并且正常提供服务后keepalived会自动将TCP服务的节点加入到集群中。这些工作都是keepalived自动完成,不需要人工干涉,需要人工做的只是修复发生故障的服务器

 

 

黄金流程:

发布商品ISV/Man端审核:商品缓存、MQ(更新Redis、Es)

类目:Redis缓存

商品列表:ES

详情:商品SOA(基本信息、SKU列表、评价列表、订单记录、商品主图)

结算页:订单信息-redis中转

下单:订单信息、扣库存(按数量卖的)、生成订单

支付:跳转支付url,京东金融(收银台)

状态确认:支付确认。如果没有怎么办?定时任务-反查。(客户投诉)

退款:ISV发起(填写金额)、man审核、推送(

退款发1个MQ。推送3笔-扣ISV、给商家、还ISV佣金,只要1次失败,就返回false。。调用结算接口之前,想判断A、B、C有没有推送成功,只推送失败的)

 

订单编号生成:序列号-1个表,每次取5个(Step),累加。

并发取,谁乐观锁修改成功,谁就成功。

 

订单生成和扣库存,本地事务

 

 

 

数据库1主7从(binlog日志,master到slave)

Redis,业务隔离, 商品、订单、ISV。1主2从

(slave向master发布sync同步指令,全量rdb备份,增量日志)

 

为啥 redis 单线程模型也能效率这么高?

  • 纯内存操作
  • 核心是基于非阻塞的 IO 多路复用机制
  • 单线程反而避免了多线程的频繁上下文切换问题

 

Redis应用场景:分布式Session、排行榜、字符串缓存、自增序列

 

京东MQ特点:主题订阅、可重复消费、可用性(非常高)、持久化(JFS、HBase、MySQL)、业务ID顺序消费、延迟低(1秒内)、消息丢失极低

适用场景

  1. 系统解耦
  2. 非实时系统通信
  3. 异步流程处理

 

MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。

 

数据库优化:单表、索引、多表联合查询、垂直拆分、水平拆分-分库分表、优化sql(查询需要的字段)

explain sql,慢日志,读写分离, 缓存

 

6. 2018年简历的一点小想法

(针对用人单位的要求写,但是个个要求都那么高,都他妈的复制粘贴,无耻之极)

任职要求:

 

      1、有扎实的Java基础JVM、Java多线程、并发以及网络通信有深厚的经验; 

      2、熟悉HTML5、JavaScript、Ajax、CSS、JQuery、node.js等Web前端技术; 

      3、熟悉主流开源应用框架,如Spring、struts、MyBatis、velocity、XML、JSON、Maven等开发技术; 

      4、熟悉webservice、Dubbo、ZooKeeper等; 

      5、熟悉关系型数据库MySQL Oracle等,以及相应数据库调优、SQL优化; 

      6、熟悉Memcached、MongoDB、Redis、HBase等; 

      7、熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息、负载均衡等机制和实现; 

      8、热爱技术,对技术有不懈的追求,喜欢研究开源代码; 

      9、良好的学习能力、团队协作能力和沟通能力;善于思考,能独立分析和解决问题;

 

招采难点

x万供应商,y万合同

初始化

合同匹配,多对多

JDK1.6 JDK1.7 CSV

 

P2P网贷

投标,分布式锁,Redis、Zookeeper

模块化:账户中心、登录,分布式事务

 

7、最近读了什么书

没咋准备,哎,败笔。

简历内容那么多,被人找出bug太容易了。

 

8、spring小问题

spring ioc默认的都是原生对象  只有通过aop增强的对象才是代理对象.

Spring中怎样区分採用JDK动态代理和CGlib动态代理:
假设目标对象的实现类实现了接口。Spring AOP 将会採用 JDK 动态代理来生成 AOP 代理类;
假设目标对象的实现类没有实现接口,Spring AOP 将会採用 CGLIB 来生成 AOP 代理类

 

9、技术要点准备

高并发
50台机器
主从,类目 单独从库,j-one配置,Spring多数据源

RPC分组,不同业务隔离
MQ异步,订单通知、结算
Redis缓存,主动缓存+被动缓存

数据库索引,单表(联表),ES缓存
商品,统一完整数据,每个业务需求 根据统一数据 裁剪需要的字段

重构要点
清理代码、工具类整合、简化依赖关系、多做静态方法、调整包结构

setnx get getset

价格,价格,现实折扣,定向促销(首页)。 列表页(千人千面,也可以看到。
但如果业务要求 以 价格排序呢?) 单独1个页面可以排序,但是 2个页面之间的价格 不行?

 

10、最近项目准备

x市场
类目,商品列表-搜索-详情(service,charge,charge_amount,charge_cycle)
订单/订单明细(没有购物车),订购-履约
发票
支付-订单确认
退款
结算
评价/回复/评分

活动(限时折扣,定向促销),activity,virtual_service,virtual_sku
图片广告/服务推荐

下线:奖励贝、促销活动、排行榜
运营支持:各种疑难杂症
主导:首页改版
参与优化:订单、商品、支付

caigou项目
供应商管理(资料维护,公司资质,生命周期报表,联系人,审核拉黑冻结,合同),绩效考核,前台门户,专家库,选择策略,招投标/询比价,企务通H5,分单
流程:采购公告、前台报名(仅仅是报名),发起流程-邀请供应商-(询比价,比价格/招投标-专家打分,综合比较)-中标名单-中标公告/消息通知
     移动端OA审批-对接消息-JMQ-修改状态
专家库-打分。

智能健身房
刷卡、扫码、人工、人脸
 

举报

相关推荐

0 条评论