后端技术

小年糕后端开发秋招面试复盘

我的梦境 提交于 2019-12-03 05:05:52
10月18日笔试 一共三道算法题,都在剑指offer上有类似的题,一点小缺陷是约瑟夫问题递推公式当时没有想起来,只能用暴力解的。 1.一道排序 2.约瑟夫问题 3.动态规划上楼梯 10月29日现场面试 先花了半个小时针对简历上的东西进行提问,又用了半个小时做手撕4道算法题。 1.项目相关,django框架 2.机器学习模型有几层,怎么训练的 3.python排序的方法 4.python对dict的key排序 5.python多态 6.python多继承概念 7.sql join关键字 8.mysql知道几种引擎 9.java hashmap了解多少 10.知道哪些设计模式 11.抽象工厂 12.tcp和udp的区别 13.职业规划 14.问了平时课余时间做什么 接下来是手撕代码 1. 快排 2.一个先增后减的数组排序 3.找出数组里出现奇数次的数 4.leetcode鸡蛋掉落 总体感受 1. 公司规模不大,面试的时候能感觉面试官是做java开发的,感觉公司想找一招进去就马上干活的那种。虽然我简历上写了我技术上的其他长处,但一直问他们自己工作上用到的,也许因为公司小吧,分工不是很明确,主流技术就一套。 2.自身存在很大的问题吧,周二通知下周二面试,一共6天,期间三天都因为雅思出分无心学习浪费掉了,感觉很不应该,还是应该认真对待的。 3.发现自己需要强化python语法

为什么要前后端分离?各有什么优缺点?

匿名 (未验证) 提交于 2019-12-03 00:27:02
前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。 核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。 在互联网架构中,名词解释: Web服务器 :一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。 应用服务器 :一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。 一般都是只有web服务器才能被外网访问,应用服务器只能内网访问。 以前的JavaWeb项目大多数都是java程序员又当爹又当妈,又搞前端,又搞后端。 随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情。正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精。 大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,我建议是分开。 1、对于后端java工程师: 把精力放在java基础,设计模式,jvm原理,spring

最新后端架构师技术图谱

匿名 (未验证) 提交于 2019-12-03 00:21:02
最新后端架构师技术图谱 深呼吸,慢慢学 ,技术长路漫漫… 数据结构 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B-,B+,B*树 LSM 树 队列 集合 链表、数组 字典、关联数组 树 BitSet 常用算法 KPM 算法 选择排序 冒泡排序 插入排序 快速排序 归并排序 希尔排序 堆排序 计数排序 桶排序 基数排序 二分查找 Java 中的排序工具 排序、查找算法 布隆过滤器 字符串比较 深度优先、广度优先 贪心算法 回溯算法 剪枝算法 动态规划 朴素贝叶斯 推荐算法 最小生成树算法 最短路径算法 并发 Java中的锁和同步类 公平锁 & 非公平锁 悲观锁 & 乐观锁 & CAS ABA 问题 CopyOnWrite容器 RingBuffer 可重入锁 & 不可重入锁 互斥锁 & 共享锁 死锁 事务 ACID 特性 事务的隔离级别 多线程 线程安全 一致性、事务 锁 操作系统 计算机原理 进程 线程 协程 Linux 设计模式 康威定律 设计模式的六大原则 23种常见设计模式 应用场景 单例模式 责任链模式 MVC IOC AOP UML 微服务思想 运维 & 统计 & 技术支持 OpenStack Docker KVM Xen OpenVZ TDD 理论 单元测试 压力测试 全链路压测 A/B Test Ansible puppet chef Jenkins

转《浅谈架构之路:前后端分离模式》

匿名 (未验证) 提交于 2019-12-03 00:18:01
原文链接: https://www.cnblogs.com/shanrengo/p/6397734.html 前言:分离模式   对前后端分离研究了一段时间,恰逢公司有一个大项目决定尝试使用前后端分离模式进行,便参与其中。该项目从2016年初立项至今,平平稳稳得度过,但也涌现出越来越多的问题,绝对不是说前后端分离模式不好,而是很多公司在尝试前后端分离的时候没有做好充分得准备。   网上对前后端分离介绍的文章已经屡见不鲜,接下来本人用一点粗浅的言语也谈谈这块,献丑了。 为什么要分离?   如果只问“前后端分离的意义大么?”这是废话,因为从软件架构的角度 Web 的前后端从一开始不就一直是分离的么,而且 browser、server 可能将永远分离下去。   为了了解这个问题,我们有必要先了解一下 Web的研发模式演变,关于这个题材,下面这篇博文说得不错,这边就不做搬运工了。    https://github.com/lifesinger/blog/issues/184   我们不能“为了分离而分离”,而应该“为了真正理解web开发、为了更好完成需求而分离”。 前后端分离的误区?    1、前端人员配备是否充足?   由于所在公司以往项目采用传统开发风格,即以后端MVC为主的开发模式,前端人员仅仅提供静态html页面,其余工作皆由后端开发人员完成。 采用前后端分离模式可以减 后

web前端和后端有哪些区别?哪个更好就业

匿名 (未验证) 提交于 2019-12-03 00:15:02
web前端分为网页设计师、网页美工、web前端开发工程师。 首先网页设计师是对网页的架构、色彩以及网站的整体页面代码负责。 网页美工只针对UI这块儿的东西,比如网站是否做的漂亮。 web前端开发工程师是负责交互设计的,需要和程序猿进行交互设计的配合。 web前端需要掌握的有脚本技术javascript DIV+CSS现下最流行的页面搭建技术,ajax和jquery以及简单的后端程序等。 后端的话可供开发的语言有asp、php、jsp、.NET 这些后端开发语言的话搭建环境都不一样,具体如果你想学的话看是想从事前端部分还是后端程序部分。后端开发如果有一定的条件的话可以转为软件开发。不过要有一定的语言基础,类似java语言、C++等。关键是看你的兴趣爱好。 这个到后期不会区分这么细,做前端到后期也会懂一些后端的技术,反之,后端也是。 在实际的开发过程中,我们当前这样定位前端、后端开发人员。 1)前端开发人员:精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进行交互效果的开发。 2)后端开发人员:会写Java代码,会写SQL语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。 现在来看,对前后端的要求还是蛮低的,尤其是后端,新员工经过实习之后都是可以参与到后端开发的,没有太高的技术门槛,唯一需要做的就是先变成熟练工种,这个阶段没有涉及到设计模式

Django与Ajax

匿名 (未验证) 提交于 2019-12-03 00:11:01
choices参数 在choices里面罗列数字与中文对应关系,用数字来表示一些数据,这样做可以节省内存空间 建表的方式 : from django.db import models # Create your models here. class User(models.Model): username = models.CharField(max_length=32) age = models.IntegerField() choices = ( (1,'男'),(2,'女'),(3,'其他') ) gender = models.IntegerField(choices=choices) """ 1 存choice里面罗列的数字与中文对应关系 print(user_obj.get_gender_display()) 只要是choices字段 在获取数字对应的注释 固定语法 get_choices字段名_display() 2 存没有罗列迟来的数字 不会报错 还是展示数字 """ class Book(models.Model): title = models.CharField(max_length=32) 展示表中的数据时: import os # 测试代码 if __name__ == "__main__": os.environ.setdefault("DJANGO

前后端分离概念入门

匿名 (未验证) 提交于 2019-12-02 23:49:02
前后端分离已成为互联网项目开发的业界标准使用方式,通过Nginx+Tomcat的方式(也可以中间加一个NodeJS)有效地对前端和后端的开发进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(各种客户端,比如浏览器、车载终端、安卓、IOS等)打下坚实的基础。前后端分离的核心思想就是前端HTML页面通过AJAX调用后端的RESTFUL API接口,并通过JSON数据进行交互。 前端的开发与后端的开发分离 以前的JavaWeb项目,大多数都是Java程序员又搞前端,又搞后端。而随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分得越来越明确,即前端工程师只管前端的开发,后端工程师只管后端的开发。大中型公司需要专业的人才,小公司需要全才(省钱)。但是对于个人职业发展来说,还是分开比较好,因为当生涯发展到后期的时候,企业往往要的是在某一方面上的专家,而不是熟练工。如果一个人前端后端都会一点,那也可以说什么都不会。 前端追求的是页面的表现、速度的流畅、兼容性和用户的体验等。因此对于前端开发工程师来说,需要把精力放在HTML5、CSS3、JavaScript、jQuery、AngularJS、BootStrap、ReactJS、VueJS、Webpack、Less/Sass、Gulp、NodeJS、Google V8引擎、JS多线程、JS模块化

Gamma阶段项目展示

匿名 (未验证) 提交于 2019-12-02 23:43:01
姓名 Gamma职责 个人博客 张圆宁 PM,后端 个人博客 后端 个人博客 牛宇航 后端 个人博客 申化文 后端 个人博客 汪慕澜 测试,部署 个人博客 陈致远 前端 个人博客 李青阳 测试 个人博客 团队项目的目标,预期的典型用户,预期的功能描述,预期的用户数量在哪里? Gamma阶段团队项目的目标:优化用户体验,增加相应功能。 团队项目的总目标:实现一个以课程评价和查看为主要功能的网站。 预期典型用户: 北航本科生 。 Gamma预期功能描述: 优化用户体验 增加找回密码功能 增加管理员和信箱相关功能 实现HTTPS。 总功能描述: 注册登录 找回密码 修改个人信息 评价课程 查看课程 删除评价 推荐课程 管理评价 预期用户数量:200人。 团队的产品如何满足了用户的需求?要看到目标用户使用产品的过程和评价 。 我们在主页下留下了github issue链接,用户可以针对遇到的问题进行评价。 对于满足用户需求的情况,用户会正常使用网站并留下对课程的评论。 事先定义的软件下载量达到了么?为什么没有达到? 暂时没有达到。在项目开始时我们预计总使用量为200人。在alpha阶段结束后,用户数为55人,beta和gamma总用户数为36人。三阶段合计为91人,没有达到目标。 原因是多样的。首先由于有两个组做同样的课程评价网站,用户一定程度上被分流

服务端测试和客户端测试区别

拈花ヽ惹草 提交于 2019-12-02 23:16:01
1.客户端测试 用户可以看到的,使用界面的, web 端,pc端,app,一般是在用户的机器上去做 2.服务端测试 服务端测试有两种:一种是直接对WEB或者APP的服务端进行测试;另一种是对更后端的数据库、缓存系统、中间件、文件系统等进行测试。 (1)应用场景 这里以银行转账为例。 用户A通过手机银行往用户B账户转账。 那么客户端这边在输入金额这一块肯定是需要做限制的,比如正数,小数点保留两位等。 但是服务端可能并没有做限制。 所以用户可以绕开客户端界面,直接发送转账协议,把其中的金额改成负数,这就导致用户A的金额不减反增。 (2)直接对WEB或者APP的服务端进行测试 一般来说,这种服务端的开发人员就是WEB/APP产品团队的开发人员,当然,测试人员跟WEB/APP的前端测试人员也是一个团队的。这种服务端就是为WEB/APP端提供一些后台的接口,比如说,用户个人信息、交易记录的读取和存储等,一般都是用HTTP接口的方式提供。这种后台的测试从流程上来说是跟随着WEB/APP产品的发布节奏来的,在后端开发完成接口以后,测试人员就直接用TestNG+HttpClient写接口测试用例、或者用Postman等工具手工测试。如果项目紧张,一般会先用Postman等工具先手工测试,等版本发布完以后,再用TestNG+HttpClient把自动化用例补上去,或者用Python的Nose框架。

PHP开发高可用高安全App后端

匿名 (未验证) 提交于 2019-12-02 22:11:45
第1章 课程介绍 本章先讲解课程所含技术点,并演示相关的项目,让小伙伴对课程有个初步的认知,然后再带领小伙伴进行功能的分析,表的ER总关系图 第2章 课前准备工作 本章主要讲解课程的一些准备工作知识、包括工具、环境、模板等。 第3章 后台登录功能详解 本章主讲了后台登录相关的功能,包括验证码、登录、退出登录、权限控制等 第4章 娱乐新闻内容管理 娱乐新闻app哪能少得了文章呢!本章详细讲解了新闻内容的增删改查,在处理图片上传和分页的地方我们采用了多种解决方案:TP5内置的图片上传到本地服务器、图片上传到七牛云;分页模块中我们会介绍采用P5内置的分页模式及利用第三方开源的分页组件完美对接分页;让小伙伴们掌握不同的处理方案!... 第5章 restful api那些事 本章讲解了restful简介,让小伙伴对restful有了新的认知,并且教大家如何在tp5中完美使用restful,然后教大家如何去封装restful api接口数据,并且一步一步的带领大家完美解决不可预知的API内部异常。 第6章 API数据安全解决方案 安全问题现在越来越多的受到大家的关注,如何对数据进行保密?如何进行数据传输更安全?本章会教大家APP-API数据安全解决方案,并从多个维度进行讲解。如:加密算法之aes引入,授权码sign算法,token唯一性支持;API一次性请求支持