Skip to content

[TOC]

谈谈你理想中的开发流程(2021/4/22)

这个问题相对开放,根据项目类型、大小、业务团队,大家选择的开发模型也不相同,这里列出常见的开发模型:https://www.cnblogs.com/Neeo/articles/11795967.html

svn update时发生冲突的可能原因?(2021/4/22)

当我们和别人同时修改了文件,别人通过commit提交,我们再去update时,会出现版本冲突

在git协同开发过程中,如何解决代码冲突?

可以在本地新建一个分支,将代码拉到分支中,在本地进行合并,然后合并后在上传。

哪个操作能在git管理的仓库中将内容取到最新?(2021/4/22)

如何在Windows操作系统中查看正在运行的任务?(2021/4/22)

任务管理器或者终端执行tasklist命令。

异步框架除了celery还有什么

sh256是怎么加密的,举个例子

为什么签证用sh256算法加密,不用别的算法加密

websocket心跳包,有没有发送失败的时候,怎么处理

RTMP协议的原理是怎样的

多条件登录问题(2021/4/20)

在项目中,扩展了认证类使其支持多条件登录,那么后台admin登录受其影响么?

答案是受其影响,也支持多条件登录。

设计玩家分数排行榜系统(2021/4/22)

需求

使用Django建立一个玩家分数排行榜服务,服务端向客户端提供两个接口:

  1. 客户端上传客户端号和分数(注意:客户端无法上传排名),且支持同一个客户端可以重复上传分数,取最新的分数信息。

  2. 客户端查询排行榜。

例子说明

  • 10个客户端分别调用一次接口1,分数范围是1~10000000
  • 其中第5个客户端调用一次接口2,输出为下面表格所示
  • 接口2相关说明:
    • 可以查询任何名次段,例如可以查询排名20~30的表格
    • 每次查询的最后,都要附加上调用接口的客户端的排名,如例子所示为客户端11的排名被附加到了最后
排名客户端分数
1客户端19999999
2客户端29500112
3客户端39233333
4客户端45445444
5客户端53453452
6客户端62342342
7客户端71666614
8客户端81666613
9客户端91666611
10客户端101666610
95333客户端1195231

设计问卷系统后台(2021/4/9)

假定,一个电影垂直交流社区网站已经运营了一段时间,为提高成员质量,现决定增加"知识考核"功能,现请你设计一个问卷系统后台,需求如下:

  • 从电影数据库中,随机抽取数据,生成题目,再由题目组成问卷,已经生成过的题目可重复使用。
  • 题型只有一种连线题,即将左边五条同类数据(例如电影名)与右边五条另一类数据(例如导演名)两两连线。
  • 问卷可以自动评分。
  • 每道题的答案可以统计正确率。

题目示例:

示例1:
-------------------------
请连接以下导演与电影作品:
大卫·芬奇		《霸王别姬》
诺兰			 《香魂女》
陈凯歌			 《教父》
科波拉			 《七宗罪》
谢飞			  《盗梦空间》

示例2:
-------------------------
请连接以下合作过的导演与演员:
章子怡				徐峥
徐峥				 田壮壮
王宝强				娄烨
张震				宁浩
巩俐				张艺谋

而网站现有数据库表结构如下:

user						用户表
user_id 					自增id
username varchar(100)		用户名
user_password char(40)		密码
user_create_at	timestamp	创建时间
user_status tinyint			用户状态

movie									电影数据表
movie_id								自增id
movie_name	varchar(100)				电影原名							
movie_chinese_name varchar(100)			电影中文名称
movie_show_time datetime				上映年月
movie_director_ids varchar(100)			导演ID列表,以逗号分隔
movie_screenplayer_ids varcahr(100)		编剧ID列表,以逗号分隔
movie_chief_actor_ids varchar(100)		男主角ID列表,以逗号分隔
movie_chief_actress_ids varchar(100)	女主角ID列表,以逗号分隔
movie_imdb_score int 					整数化的IMDB评分,原始IMDB评分最高分10分,带一位数,这里乘以10变为整数,最高100

director								导演表
director_id								自增id
director_name varchar(100)				导演名
director_country_id int 				导演国别ID
director_gender bool					导演性别
director_chinese_name varchar(100)		导演中文名
director_birthday datetime 				出生年月日
director_deathday datetime				逝世年月日

screenplayer							编剧表
screenplayer_id							自增id
screenplayer_country_id int 			编剧国别ID
screenplayer_gender bool				编剧性别
screenplayer_name varchar(100)			编剧名
screenplayer_chinese_name varchar(100)	编剧中文名
screenplayer_birthday datetime 			出生年月日
screenplayer_deathday datetime			逝世年月日

actor								演员表
actor_id							自增id
actor_country_id int 				演员国别ID
actor_gender bool					演员性别
actor_name varchar(100)				演员名
actor_chinese_name varchar(100)		演员中文名
actor_birthday datetime 			出生年月日
actor_deathday datetime				逝世年月日

country								国家表
country_id							自增id
country_name						国家名
country_chinese_name				中文国名

回答问题:

  • 请设计问卷系统所需要的数据库表结构。
  • 假定以上数据的model代码(提供基础CURD功能)由其他同事负责开发,写出你需要调用的接口(请写明参数和返回值)
  • 怎样保证题目不太过于偏门?简要说明思路和难点。(提示,注意IMDB评分字段)
  • 请用代码或者伪代码,在你设计的数据库基础上,实现试卷生成功能(题目全新),其中,数据model部分可只写接口(请写明参数和返回值),试卷生成部分需要将算法表述清楚。
  • 假定你的代码已经运行了一定时间,积累了一定量的题目和答案,现在要统计题目"难度",得出一个1-20之间的浮点数权值分,请说明思路。
  • 使用你自己提供的接口,或补充新接口,用代码或者伪代码实现拥有更准确评测能力的"试卷生成2.0版":依然由10道题组成,5道新题,每题10分,5道旧题,则使用刚才算出的权值分作为参数来得出难度分数,并保证这五题总分依然是50分,请简要说明思路。
  • 简要说明该系统可能的系统瓶颈,并简述优化方案。

简述浏览器通过 WSGI 请求动态资源的过程?

1.发送 http 请求动态资源给 web 服务器

2.web 服务器收到请求后通过 WSGI 调用一个属性给应用程序框架

3.应用程序框架通过引用 WSGI 调用 web 服务器的方法,设置返回的状态和头信息。

4.调用后返回,此时 web 服务器保存了刚刚设置的信息

5.应用程序框架查询数据库,生成动态页面的 body 的信息

6.把生成的 body 信息返回给 web 服务器

7.web 服务器吧数据返回给浏览器

公司线上和开发环境使用的什么系统?

你的项目基于什么平台开发的?(2020/11/29-2)

你的项目中有哪些功能模块?(2020/11/19-2)

后台开发人员有几个?怎么分的工?(2020/11/19)

保利威这个服务是部署在公网还是内网?(2020/11/19)

jwt相关

这个问题也经常被问到:

  • jwt的优缺点?
  • 为什么要用jwt?
  • jwt由哪些部分组成?各部分的作用是什么?

为什么要用Celery?(2021/4/6)

Celery的原理(2021/4/6)

你的项目中,Celery有几个worker(2021/4/3)

Celery 分布式任务队列?

Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子:

  1. 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果, 在任务执行ing进行时,你可以继续做其它的事情。

  2. 你想做一个定时任务,比如每天检测一下你们所有客户的资料,如果发现今天 是客户的生日,就给他发个短信祝福

Celery 在执行任务时需要通过一个消息中间件来接收和发送任务消息,以及存储任务结果, 一般使用rabbitMQ or Redis

这里你要说说你在项目中用到了celery,为啥使用?解决了那些问题?有没有配合消息队列,如果有,怎么配合的,选择的什么消息队列?

购物车用的什么数据结构?(2020/11/29)

购物车怎么实现的?如何解决的并发(2021/3/9)

购物车从点击添加到结算之间的具体实现流程(2021/4/6)

支付宝支付过程中出现异常怎么处理(2021/4/6)

数据库相关逻辑加事务,异常进行回滚。

前端怎么发送数据到后端,后端怎么给前端回数据(2021/4/6)

项目中用到的并发(2021/4/3-2)

GET和POST方法哪个更快(2021/4/3)

有一个8MB的图片,每天都有很多人访问,怎么写HTTP能减少服务器压力,如果一个星期要改一次图片,怎么写HTTP(2021/4/3)

简述cookie和session的区别(2021/3/29)

你的项目部署在了哪里?(2020/11/29)

用linux解决bug,项目出现问题在linux怎么解决的(部署)(2020/11/29)

vue的生命周期(2020/11/29)

wsgi和uwsgi(2021/3/9)

列举下你常用的http请求库,分别写个最简单的例子(2021/3/4)

针对虚拟机的操作,原生接口中有一个开机的REST接口,该接口是异步的,请自己封装一个开机接口,请求原生异步的rest接口,你会怎么处理?