我简历上的Java项目都好low,怎么办?

java简历2年经验编写教程+面试题 这些项目我都没有写过,我只是答示例教你想,你要有这样的想法,这个项目世界到底有什么,比如图书馆里系统{分类、国籍、材质、价格、新旧、存储仓库、采购地址、退回地址、霉变处理、员工管理、书架材料、楼层管理.....}就是这么个意思,你一样要全部都会吗?项目名字换了,比如换成 城市环境监控平台的,你把你的图书管理模块换成你的农药管理模块这不就高大上了;该项目是一个监控人工造林,集成防火防灾等一体综合监管平台,有主要模板有人工植树、防火管理、防虫管理、土地管理、检验管理、施肥管理、人员管理、防盗管理、、、、、 阅读详情

本文转载自公众号:石杉的架构笔记

点击上方"蓝字", 右上角选择“设为星标”

目录:                                             

  • 高级工程师必备:系统设计能力

  • 如何让你的项目更有技术含量

这篇文章我们来聊一聊,在系统设计和项目经验这两块,应该如何充分的准备,才能拿出有技术含量的项目经验战胜跟你同台竞技的其他工程师,征服你的面试官,收获各种心仪的offer。

(1)高级工程师必备:系统设计能力

我们一般在招聘高级及以上工程师的时候,一定会严格考察一项能力,系统设计能力。


因为如果你仅仅是对各种各样的技术都熟悉,有技术广度,也有一定的技术深度,实际上是不够的。如果你的系统设计能力不到位,可能导致你在开发系统的时候会乱用技术。


比如说,有的系统他有一些自己特殊的业务场景和技术挑战,实际上在这个场景之下比较合适的是采用 “缓存 + 数据库” 的技术方案来应对。


但是呢,有的工程师会很多技术,但是缺少这种准确的分析系统问题,提出合理的技术方案的能力,也就是缺少系统设计能力,导致他可能会引入Elasticsearch这种技术来尝试解决这个问题。


那么结果必然是失败的。所以之前很多人找我问问题,说我在XX场景下,用了XX技术,但是没有起到我想要的那个结果啊?


我帮他一看,这不是必然的么,你的XX技术应该用在YY场景下,结果你用到XX场景下,肯定是不行的。


这就是系统设计能力的重要性。


640?wx_fmt=jpeg


那么落地到现在的互联网行业的面试,大家应该会注意到,很多大厂都会越来越开始问一些系统设计类的问题,举几个例子来看看:


1

 如果让你设计一个秒杀系统,你会如何设计?

2

 如果让你来设计一个消息中间件,你会从哪些方面来考虑?核心的架构以及数据结构如何设计?

3

 如果让你来负责一个电商双11大促系统,你会如何来考虑和设计?

4

 我们公司有这样的一个业务场景,XXXX,我给你画个图,YYYY,   就根据这样的一个场景以及面临的问题。如果让你来设计这个系统, 你会如何考虑?


其实如果你在面试的时候遇到上面的那些问题,就是典型的系统设计问题。


面试中的系统设计问题主要分为两类,一类是常规性的,比如秒杀系统的设计,另外一类是那个公司自己的业务场景下的系统设计。


第一类系统设计问题其实很好快速突击准备,你可以到网上搜一搜互联网公司常问的一些系统设计问题。


收集好一些典型问题之后,百度一些技术博客给出的技术架构设计的思路,将这些思路自己进行整理总结,然后转化为自己的语言,最后落地到纸上画出架构图。


到面试现场,你能够画图把这个系统设计思路说清楚,这个基本就OK了。


这个准备时间不长,突击的话可能几天时间也足够了。


当然,还是那句话,最好的结果,必然是你自己本身做过类似的一些有挑战的系统。


此时你遇到这种系统设计问题,直接可以很牛叉的说,这类系统我之前做过,然后把自己之前的项目经验都现场画图给说出来。


第二类系统设计问题就不太好准备了,因为完全考验的是你实打实的系统设计能力,短时间内针对一个业务场景和技术难点,能否迅速给出一个初步的架构设计和技术方案。


第二类系统设计问题,从长期积累和准备的角度,我的建议是在平时自己在开发系统的时候多思考,自己的这个系统有没有什么技术难题,针对这个技术难题应该用什么什么技术,什么方案来解决,这就是潜移默化的在积累系统设计能力。


但是如果从临时抱佛脚的角度,平时没那样的积累,遇到第二类灵活开放的系统设计问题,那也不能一问三不知,大眼瞪小眼。


640?wx_fmt=jpeg


因此,我的建议是:


  1. 对于你要面试的公司,尽可能的多做了解。比如公司业务背景,大概用户量,这些都可以了解一下。

  2. 如果目标公司有官方的社区或者官方公众号,关注一下,看看上面的技术分享。

  3. 然后如果面试时,面试官针对他们公司的具体业务出了一个系统设计题目,你如果没有思路,建议尽可能的结合第一类的常规系统设计题目来思考套用。


举个例子,比如你面试一个p2p金融业务的公司,如果被问到大量用户同时抢标,如何设计架构?


你没有做过,但是你可以结合一些常规的系统设计题,比如秒杀系统的设计思路,套用在这个新的业务上。


而你如果在面试这家公司前,大致了解了其业务背景,那么对你回答这类系统设计相关的题目,肯定也是很有帮助的。

(2)如何让你的项目经验更有技术含量

在解决了系统设计问题之后,任何一个公司,任何一个面试,都一定会涉及到你作为一个工程师最最核心的价值和能力,就是你的经验,具体来说就是你做过的项目。


这块是面试准备时的重中之重,应该作为最高优先级来对待。


有很多同学,做的项目其实挺不错,但是平时疏于总结,面试前也不准备,结果面试时支支吾吾,半天答不上来,白白浪费面试机会。

比如一个非常典型的项目经验的面试考察情景如下:面试官反复的追问项目的各个地方的技术实现细节,就想看看有没有哪个地方是有一定的技术难度的,可以体现出这个候选人的一些项目上的亮点。


但是呢,候选人说来说去,总是从业务的角度去说,就说有哪些子系统组成,分别是干什么的,如何交互的,看来看去都是系统业务的东西,就是没看到什么有技术含量的东西在项目里体现出来了。


如果出现上述的情况,那么这个候选人要拿大厂offer的概率就很低了。


因为你的项目里没看出来什么东西,没什么亮眼的地方。你看起来就跟千千万万个普通的工程师没任何区别。


而且,在薪水方面,你要价23k,但是另外一个人要价是20k,还有一个人要价是18k。


在这种情况下,你觉得你的offer好拿么?我们为什么不找一个更年轻,更有活力的,有冲劲的小伙子,他也做过跟你类似的一些没太大技术含量的项目。


640?wx_fmt=jpeg


虽然你工作了5年,人家就工作了3年,但是从技术和项目两块考察,你跟他没太大区别。你不过就是比他多工作了2年,多做了几个没技术含量的项目罢了。


但是在薪资要求方面,你可比人家多了5k,在这个时候,面试官在没更好选择的情况下,一定会找那个薪资要求仅18k的小伙子。


这也是为什么很多同学不好好准备出去面试,结果面半天,老是被人家说:你先回去等通知,我们要再多面试几个候选人综合考察一下。到最后面试好多次也拿不到几个offer。


其实原因很简单,你没什么能打动面试官的亮点,没什么太突出的能力。而你的工作年限越长,薪资要求越高,就越是不容易拿到好公司的offer。


上面说的,是一个极端,这类同学对自己做过的项目毫不重视,导致无法在面试中复现项目中的各种技术细节、技术难点。


这样,即使你的项目很牛,那又有何用,你当时做项目的时候,面试官又不在场。。。

然而,也有不少同学,他们的项目其实并不高端,甚至是有点low。但是呢,人家凭借自己精心的准备,加上一些面试技巧,巧妙的让自己的项目脱胎换骨,瞬间变得高大上。


所以说,项目准备,百转千回,这里面有不少门道,接下来咱们就来聊聊。


同样,咱们分为两条路线来谈:一个是长期准备型;一个是短期突击,临阵磨枪。         

对于前者,我个人的建议,还是像之前说过的一样,平时你工作的时候,一定多给自己设立技术挑战。总结起来一句话:没有困难,制造困难也要上。


这里面可能会存在对于架构的过度设计的问题,站在公司的层面会觉得花那么多时间设计这些架构实在是无用功,但是从个人发展的角度,为了你的职业生涯发展,你有时不得不过度设计一下。


况且,这个对公司也未必是一件坏事,万一你公司以后规模发展起来了呢?这个谁又说的清楚。


举个例子,你在公司目前是负责一个OA办公系统,就内部几十个人使用,主要就是写写业务,crud啥的,看起来很low的项目。


然后呢,你使用的技术就是简单的SSM,可能连SpringBoot都没上,整个项目就部署的一个单体工程,没有微服务、没有缓存、跟所有高并发高可用等技术完全绝缘。


确实,几十个人用,你何必杀鸡焉用宰牛刀呢?


但是想象一下,如果你的公司是一个世界500强,这套OA系统有上万人使用,那么情况肯定就不同了,可能就需要另外一套技术架构。你完全可以在工作中给自己做这样的假设,设置这样的难题。


当然,这只是笔者举的一个例子,之所以用这个举例,是想说明一下,无论你做的是什么项目,你都可以从某种角度出发,给自己制造各种技术难题,然后解决难题。

你可以在不要给工作量增添太多的情况下,尽可能从公司发展的角度去考虑,向领导阐述你的考虑,这样公司未来发展5~10年,这套架构都够用了。


并且在面试时,你在阐述项目经验的时候,可以让面试官看到你在里面有更多的技术架构的设计,考虑到了解决更多的技术问题,那么自然你的面试表现就会更好,就更加容易会拿到更好的offer了。


上述就是所说的第一点,长期情况下应该如何积累自己的项目面试经验。


640?wx_fmt=jpeg

接下来说说第二点,项目的短期突击应该如何进行,才能尽可能的让我们的项目显得更加吸引人。我估计可能更多的同学需要这方面的技巧。


但是笔者还是事先强调,这种短期突击、临阵磨枪,效果肯定是比不上长期的一步步稳扎稳打,这只是一种应对面试的退而求其次之选。


如果大家有时间,或者说通过这种短期突击的打法拿到了心仪的offer,还是应该沉下心来,一步步积累,技术的东西,来不得半点马虎。


如果你之前因为种种原因,在面试前没有做过多的长期积累,那么短期的情况下,应该如何临阵磨枪呢?


我这里的建议是,你自己至少应该反复思考,你目前负责的系统应该引入什么样的技术架构,采用何种技术方案,才能抗住各种冲击。


突击准备,你肯定没有大把时间来付诸实践,但是你一定要自己思考,同时百度一下国内大型互联网公司的技术架构,他们使用了哪些高大上的技术,对于某个技术难点采用了什么技术方案。


然后在面试的时候,可以对面试官阐述一下你对这个项目一些问题的思考,以及技术方案、架构如何来设计,这样设计可以解决什么技术问题,有没有更好的方案选择。


这样一来,你起码比普通工程师多一些思考,提出更多的方案,这也能成为你更加亮眼的地方。


还是那句话,做,总比不做强。你对自己的项目思考了很多的技术方案,这样和面试官总还有一些技术上的交流和探讨的东西。你的项目也不至于说充满了各种CRUD,毫无亮点可言。


作者:中华石杉,十余年BAT架构经验倾囊相授。个人微信公众号:石杉的架构笔记(ID:shishan100)

END

觉得文章不错的,欢迎点好看和转发,长按下图关注程序员乔戈里,收看更多精彩。

640?

——————

今日问题:你是如何吹自己的项目的有何良方?欢迎留言!

深入解析:ElasticSearch Query 查询方式 在上期内容中,我们深入探讨了ElasticSearch 的基本架构和核心功能,包括分布式存储、分片与副本的工作机制以及倒排索引的实现原理。然而,在实际的开发场景中,仅仅理解这些基础知识是不够的。我们需要通过查询接口高效地从海量数据中获取我们需要的信息。本期内容,我们将聚焦ElasticSearch 的 Query 查询方式。ElasticSearch 提供了丰富的查询 DSL(Domain Specific Language),可以满足从简单的全文搜索到复杂条件查询的多样化需求。 阅读详情

相关推荐

SQL 查询数据-基本查询和条件查询

在关系数据库中,最常用的操作就是查询。

分享编程知识与技巧 致力于技术交流与学习 找我合作私聊 有偿解决计算机问题 1799

java培训包装简历模板

简历的形式不限于只是一份文档,可以是录制一个视频.

w31645575的博客 5274

java项目经验包装简历指南

java项目经验包装简历指南

程序员面试防坑宝典,助你秋招一臂之力(建议收藏,文末有彩蛋)

自我介绍 您好,很荣幸有机会来参加公司的面试 1.个人经历(我是谁,我来自哪里,年龄,学历,从业经历)实习加上正职 2.公司为什么要选你(应聘岗位中最重要的3个技能点,说清楚相关经验)我能做好我要做的事情,我相信自己 3.你为什么要选这家公司(就公司的产品,文化,影响力等)着重说出你选择的理由如贵公司的高技术开发环境很吸引我,贵公司在近年来市场上很有竞争力...

xingduan5153的博客 1041

java项目经验

java项目经验,也许简历上能用的上

java简历上的项目集合大全

项目(一) 项目名称:物流管理系统 项目(二) 项目名称:人力资源管理系统 项目(三) 项目名称:网上图书销售系统。 网上在线数字图书馆 人力资源管理系统

mysql 查找课程最高分_SQL查询求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分...

展开全部你好,你展示的第一种sql查询方案,其意思是:62616964757a686964616fe78988e69d8331333332643934先根据score表中的sno分组求每个sno的最高分数。这求得的当然是每个同学的最高分啦,但是只是获得了最高分,没有指定是谁的最高分,导致在前面的【SELECT SNAME ,CNO,GRADE FROM Score Y,StudentWHERE ...

weixin_34405084的博客 1万+

SVDD和OCSVM的比较

OCSVM(one class support vector machine)即单类支持向量机,最先提出的文献为:Estimating the support of a high-dimensional distribution.该模型 将数据样本通过核函数映射到高维特征空间,使其具有更良好的聚集性,在特征空间中求解一个最优超平面实现目标数据与坐标原点的最大分离,如图1: 坐标原...

qq_33880788的博客 1万+

sql面试题,查询出每班每科最高分的学生

面试遇到后,回来查,发现网上的答案有点问题,自己又想了一下,对网上的sql做了一点点修改,希望各位能用上!!! Class表 classid classname 1 高三(一)班 2 高三(二)班 3 高三(三)班 Student表 studentid studentName classid 1 张三 2 2 李四 1 3 王五 ...

69993的博客 6923

Cadence psspxf实战:手把手教你仿真250MHz环形VCO的电源抑制比(附Verilog代码)

本文详细介绍了使用Cadence psspxf仿真器对250MHz环形VCO的电源抑制比(PSRR)进行仿真的全流程。从环形VCO的设计原理、Verilog代码实现,到Cadence环境配置、仿真参数设置,再到结果分析与优化技巧,提供了完整的实战指南。特别适合电路设计工程师学习如何评估和优化VCO的抗电源噪声能力。

weixin_42567752的博客 414

Python实战:用Realsense D435和睿尔曼机械臂完成手眼标定的5个关键步骤

本文详细介绍了使用Python、Realsense D435深度相机与睿尔曼机械臂进行手眼标定的完整实战流程。文章将过程拆解为环境搭建、数据采集、核心计算、结果验证和精度优化五个关键步骤,重点剖析了数据采集的黄金法则、常见错误排查以及如何将标定结果集成到视觉抓取程序中,旨在帮助开发者实现毫米级精度的视觉引导机器人系统。

weixin_29103191的博客 320

sql查询

什么是子查询:一条select查询语句的结果作为另一条select语句的一部分特点1.子查询必须放在小括号里2.子查询可以独立存在3.一般有两个位置,充当数据源(表)或者充当条件定义:当数据分布在多个表中时,通过表间的关联关系(如学员编号)将表连接起来查询,称为多表查询。核心是 “找到表之间的关联字段”(如sc_student.学员编号与sc_score.学员编号高阶查询通常结合聚合函数、分组、窗口函数等,用于复杂数据分析,适合报表生成、业务指标计算等场景。

m0_74786081的博客 2201

用VINS-Fusion跑通EuRoC数据集:Ubuntu22.04+ROS2环境下的保姆级评测指南

本文详细介绍了在Ubuntu22.04和ROS2 Humble环境下使用VINS-Fusion处理EuRoC数据集的完整流程。从环境配置、数据集转换到参数调优和性能评估,提供了一套全面的多传感器融合分析方案,帮助开发者在无人机精准定位场景中实现高效部署与优化。

weixin_29212867的博客 517

SQL server查询求助

求助 SQL server 数据库!查询问题

Poison 的博客 199

IP白名单校验

支持格式: 1、127.0.0.1 // 指定固定IP 2、127.0.0.1-127.0.0.128 // 可使用“-”来表示一个IP区间,支持跨IP段(一般不会出现这种情况,跨IP段则配置多个规则) 3、127.0.* // 2~4位IP段可...

2199

RTDETR最强结构图 | 包含模型整体结构图 | 全模块展开图 | AiFi模块展开图

RT-DETR 最全结构图

Coding... 9597

结构化方式构建 SQL 查询

我们定义一个类,和一个内部的Criteria类。通过这个类我们可以流式地构建查询条件。return now;通过这种方式,您可以构建出 SQL 查询,模拟了 Java 方法链式调用的风格。这样的结构化方式能够使代码更具可读性和可维护性,且在动态构建 SQL 查询时更加灵活。希望这个示例符合您的需求,如果还有其他问题或者需求,请随时告知!

haodashuainiu的博客 891

支持向量机算法之鸢尾花特征分类【机器学习】

支持向量机(SVM)是一种二元分类模型。它的基本模型是在特征空间中定义最大区间的线性分类器,这使它不同于感知器;支持向量机还包括核技术,这使得它本质上是一个非线性分类器。支持向量机的学习策略是区间最大化,它可以形式化为求解凸二次规划的问题,等价于正则化铰链损失函数的最小化。支持向量机的学习算法是求解凸二次规划的优化算法。Scikit learn(sklearn)是机器学习中常见的第三方模块。它封装了常见的机器学习方法,包括回归、降维、分类、聚类等。实例的特征向量(以2D为例)映射到空间中的一些点,如下图中的

一键难忘的博客 4970

SQL查询语法30例

01基础表

软件自动化测试技术交流、资源分享 6011

Android 车载应用之快速入门

车载 Android 系统也被称为 Android Automotive OS,是对原始 Android 系统的一个功能扩充版本。与手机系统一样,Android Automotive OS 源代码完全开放,第三方供应商和汽车制造商可以官方源码的基础上自行开发和拓展,无论是编程语言还是各项接口,都与 Android 系统保持了一致。

xiangzhihong8的专栏 1110

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Hibernate使用原生SQL查询

Hibernate使用原生SQL查询   Hibernate提供了原生的SQL语句的查询,通过createSQLQuery(String)和createNativeQuery(String),createSQLQuery(String)是Hibernate5.x之前的版本的,在Hibernate5.x和之后,都采用的是createNativeQuery(String),使用原生SQL虽然麻烦,但是...

莫负时光 5359

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SQL分页查询的几种方式

SQL分页查询的几种方式 需求:查询表dbo.Message,每页10条,查询第2页 1:TOP() SELECT TOP(20) * FROM dbo.Message WHERE Code NOT IN (SELECT TOP(10) Code FROM dbo.Message) 2:BETWEEN * AND * , Row_Number() OVER(ORDER BY...

singularity_muzi的博客 1370

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【牛客刷题--SQL篇】基础查询 SQL1查询所有列 && SQL2 查询多列

牛客sql刷题,sql1、sql2基础知识

80后大叔爱学习 594

SQL中的子查询

在SQL中,有时我们会看到一个查询嵌套着另一个查询,这种将内部查询的结果集用于外部查询就称为子查询,或是嵌套查询。子查询根据不同的分类可以分为好几种,像标量子查询、多值子查询、行子查询等等,这些概念不用管,它们的本质都是根据内部查询结果集的形式来区分的,我们只需要知道怎样去对待不同的情况就可以了。首先有两种大的情况,就是看子查询部分跟外部查询有没有关联,没有关联意味着你可以将子查询的代码拿出来单独运行,有关联就是说子查询部分的代码中有用到外部查询的部分,没法独立出去运行。

m0_69371690的博客 904

SQL 子查询 详细整理

子查询分为两种: 非相关子查询(独立子查询) 相关子查询 ①独立子查询可以单独执行,所以先执行后,得到的 整个查询中子查询只执行一次,执行完后再执行外层查询; ②相关子查询是指子查询(内层查询)中引用了外层查询所引用表的字段, 因此外层查询处理每一条记录时都必须执行一次子查询, 因为子查询中引用的字段的值发生了变化。 ③单行子查询 (1) 单行子查询的特点是什么? 仅返回一行 使用单行比较符 (2) 主查询对子查询结果的单行比较运算符有哪些? = > &g

禧年 2168

SQL之多表查询

在SQL中,多表查询是指在一个查询语句中同时处理两个或多个表的数据。分为连接查询和子查询。

Lyhdreamer的博客 1396
上一篇: BATJ面试必会之Linux命令篇(附答案)
下一篇: BATJ面试必会之多线程篇(附答案)
程序员乔戈里
博客等级 码龄8年 1057粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值