程序员

深入理解C语言内存管理

北慕城南 提交于 2019-12-27 02:10:21
之前在学Java的时候对于Java虚拟机中的内存分布有一定的了解,但是最近在看一些C,发现居然自己对于C语言的内存分配了解的太少。 问题不能拖,我这就来学习一下吧,争取一次搞定。 在任何程序设计环境及语言中,内存管理都十分重要。 内存管理的基本概念 分析C语言内存的分布先从Linux下可执行的C程序入手。现在有一个简单的C源程序hello.c 1 #include <stdio.h> 2 #include <stdlib.h> 3 int var1 = 1; 4 5 int main(void) { 6 int var2 = 2; 7 printf("hello, world!\n"); 8 exit(0); 9 } 经过gcc hello.c进行编译之后得到了名为a.out的可执行文件 [tuhooo@localhost leet_code]$ ls -al a.out -rwxrwxr-x. 1 tuhooo tuhooo 8592 Jul 22 20:40 a.out ls命令是查看文件的元数据信息 [tuhooo@localhost leet_code]$ file a.out a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs),

程序员面试考察的5个方面

蹲街弑〆低调 提交于 2019-12-27 02:03:49
面试时程序员绕不过去的话题,我的理解是具体分为如下5个方面: 1.基本功 正所谓美团说的基本功,程序员面试的基本功,每个人的理解不一样。但无外乎几个方面:编程语言+数据结构+算法+平台编程经验。 平台编程经验举个例子是你用java,你能够在后端框架写程序还是能够移动端开发安卓。 编码规范 编码规范不是背一下就行了,背后体现的是项目经验的积累,如何写出高质量的代码,比如编写的代码稳定,可靠,满足安全性和鲁棒性等特点,同时有清晰的注释和缩进等格式特征。 分析解决问题的能力 现实世界程序员面对的很多问题都是未知的,如何分析并且解决掉就是一个很重要的能力。 这个主要是考验的是一个人的抽象问题,分析思维,逻辑思维等能力。 比如如何得到一个解题思路: 1.具象思维,画图 2.类比思维,举例子。3.归纳思维 4.反向思维等。5.拆解问题等 优化能力 程序员更多指的是优化代码,提高效率,比如时间,空间效率等,其他具体维度:优化一些流程等,比如打包流程,上线流程,自动化测试流程,包大小等 学习和沟通能力 这部分决定了一个人的长期能力和软实力。 学习在面试中主要考察对新概念的理解和知识迁移能力。 沟通主要体现了你的沟通风格和效率,效率方面比如金字塔模型等。 来源: CSDN 作者: fesng 链接: https://blog.csdn.net/u010321471/article/details

程序员兼职

坚强是说给别人听的谎言 提交于 2019-12-26 19:33:42
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一起完成项目开发。这种需求的特点是周期比较短、项目金额大约是在 5000~30000 之间居多。 项目整包,指的是需求方没有自己的技术团队,需要我们整包开发的项目。比如开发一个 app,需求方只有一个简单的需求文档,需要你这边有团队进行 UI 设计啊、前后端程序员开发啊等等。这种需求的特点就是周期比较长、项目金额比较大,目前平台上的项目一般在几万到几十万不等,这种项目一般都要分个三到四期来进行阶段性开发。 还有一个就是自由职业者驻场需求,适合某些需求方的保密类项目或公司有硬性要求需要驻场的项目。当然,开发内容类似于兼职职位众包,驻场费用大概在 500/8 小时到 3000/8 小时之间。 接下来,我们看一下目前的接单渠道,我们主要把这些渠道分成三类:垂直众包平台、线上技术论坛、线下自有渠道。 一、垂直众包平台 这类平台是从 15 年到 16 年开始出现的,专注于 IT 众包领域

《程序员的春天:EOM与程序员》(20101/04/21)

三世轮回 提交于 2019-12-26 15:48:00
去年的十二月我开始撰写 EOM 与程序员的随笔。当我写到程序员收入下降,程序员成为 IT 农民工,程序员水平下降,程序员理想无存,程序员信心丧失,程序员队伍涣散的时候,我的心情就像当时的季节一样,非常寒冷,非常心痛。要知道程序员是我一个向往并且从事的几十年的职业呀!当我写到什么是 EOM ,写到用 EOM 眼光看待一个编程实例(权限管理)的时候,我开始感觉到那种暖意,就如同现在春天到了,春风吹了,原来枯萎的树枝冒出新芽了,油菜花开了,桃花开了,梨花开了,杜鹃花开了,一个五彩缤纷的世界来到了。 那么 EOM 到底会给程序员带来什么样的思考呢? 第一, 企业信息化的不同的解决方案 对于许多程序员来说,他们每天为各种企业开发的各种各样的程序,例如,银行的核心业务系统、信贷系统、信用卡系统;医院的 HIS 系统;商业的物流系统、 ERP ,服务业的 CRM ;通用软件的财务系统、报表制作系统、门户软件;工具的文件传输、文件加密、文件压缩、图像处理、用户控件等等。这些系统都应该归属于企业信息化范畴,因此程序员和企业信息化密切相关,没有企业信息化可能软件业也没有现在这么大的发展空间,也不会催生出如此众多的程序员。 EOM 作为企业经营模型,也是为企业信息化服务的,从 EOM 也推导出企业信息化的各种软件,这些软件一定会涵盖现有各种软件的功能,从这个意义上来说,程序员现在做的和 EOM

黑马程序员---ios学习日志8

好久不见. 提交于 2019-12-26 15:21:51
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ------- sizeof运算符 sizeof运算符是c语言的一种单目操作符。sizeof操作符已字节形式给出其操作数的储存大小。操作数可以是一个表达式或者括在括号里的类型名。操作是的储存大小由操作数的类型决定。 sizeof的使用方法 sizeof(type) 数据类型必须用括号括住 #include <stdio.h> int main(int argc ,const char*argv[]){ // sizeof 在内中在内存中占得字节数   int result=0; result=sizeof(1); printf(“result=%d\n”,result);      //sizeof计算变量在内存中暂用的字节数   int a=10; result1=sizeof(a); printf(“result=%d\n”,result1); return 0; } 来源: https://www.cnblogs.com/luxuezhu/p/4653703.html

漫谈程序员系列:让程序员蛋疼的那些事儿

痴心易碎 提交于 2019-12-26 13:57:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 转自 程序视界 听说嫁人要嫁程序员,钱多话少死得早。这话多半是程序员自己黑自己的。程序员是有非常特别的幽默感的一群,善于自嘲,勇于自黑,耐受力超强,很多事无可无不可,不到是不可孰不可忍不会冲冠一怒。不过,就是这么 nice 的人,也很有一些受不了的事儿。 需求变化 为什么把“需求变化”排第一呢? 因为有人说:杀一个程序员不需要用枪,改三次需求就可以了。 由此可见,需求变化的杀伤力有多强。 我见过不少程序员,和产品经理(需求人员)关系紧张,话不投机半句多,或者关公秦琼比脸红。在程序员看来,往往需求一句话,程序员几天的工作都白费了。程序员是最珍视自己劳动的,心里能不窝火嘛。你早说嘛,有变化你早说嘛,为什么非等我干个差不多了才说呢,你早说我能不让你改嘛…… 加班 加班呢,在程序员的字典里,是个热词。不折不扣的热词。 很多程序员过的是“固定程式”般的生活——上班、加班、回家开夜车然后再起床上班,周而复始。 因为大家都知道有加班这么一回事儿存在,其实,一开始领导要求加班,虽然我是不愿意加班的,也还是从了。赶进度嘛,一起联调嘛,市场时间点定了嘛,都情有可原。 可是,我真的不愿意加班,对于无情可原的加班,我是深恶痛绝的啊。 比如,明明一个项目需要 20 个人月,老板一句话,四个人干俩月就要交活,项目经理还居然答应了

一个直达灵魂的拷问:程序员为什么老加班?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-26 13:52:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一程序员去面试 面试官: “你毕业才两年,简历上的三年工作经验是怎么来的?” 程序员: “加班……” 程序员为什么要加班? 1、碰上项目周期 2、产品突然改需求 3、Bug如同打不死的小强 4、别人都没下班,一个人不敢走 …… 码农有不加班的吗?什么样的程序可以不用经常加班?呵呵,你们公司是这样的么? 1、公司没有加班费,没有调休。 2、上班半年有余,每天八点半上班,八点多下班。 3、加班的话就是十点多也很正常,有一次在加班中过完了自己的21岁生日,嗯,就也偶尔会十一二点下班。 4、有的领导说,每天你少睡两个小时,就能比别人多活两个小时,所以每天不要睡的太早(让我多压榨点好了)。 5、久了也就习惯了…… 你属于哪一种? 什么?你问JEPaaS加不加班? 我不敢说,我怕挨打…… 来源: oschina 链接: https://my.oschina.net/jepaas/blog/3147624

【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?

谁都会走 提交于 2019-12-26 12:11:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文来自于 腾讯bugly开发者社区 ,非经作者同意,请勿转载,原文地址: http://dev.qq.com/topic/57ce8068d4d44a246f72baf2 Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。定期会举行嘉宾分享,话题讨论等活动。 本期讨论话题为:程序员的成长离不开哪些软技能? 首先,什么是软技能? 软技能就是激活人资的能力,即是调动别人的资源和知识的能力以及调动自己知识进行创造性思维的能力!软技能能力值越高,处理事情的能力就越强,它是衡量一个人处理事情能力的量表!这里的资源指:知识和朋友。软技能实际上是指那些“不易看见的技能”,是一个人“激发自己潜能和通过赢得他人认可和合作放大自己的资源,以获得超越自身独立能力的更大成功的技能”的总和。 下面是大家讨论后总结出的几个重要的“软技能” 一、倾听与沟通 沟通是人与人之间、人与群体之间思想与感情的传递和反馈的过程,以求思想达成一致和感情的通畅。 在工作中,很多人认为程序员不善于沟通,尤其是程序员与产品经理之间的沟通问题,一直被大家调侃。 @ kevinkong: 我觉得沟通能力非常重要。 我们平时都喜欢打断别人,其实这样很不礼貌,没有等别人表达完他的观点,就急着表达反对

【腾讯Bugly干货分享】程序员们也该知道的事——“期权和股票”

喜夏-厌秋 提交于 2019-12-26 12:05:11
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文来自于 腾讯Bugly 公众号( weixinBugly ),未经作者同意,请勿转载,原文地址: https://mp.weixin.qq.com/s/pfj9NLLuKYAfJJF84R9WAw 作者:Bugly 精神哥 导语 今年的双十一,腾讯18周年司庆,小马哥宣布给2万7千员工每人发放300股腾讯股票,引发了朋友圈各种刷屏,最近第一批受限股票解禁了,精神哥得到了100股,有幸成为了腾讯的股东,不知道下次开股东大会的时候,会不会被邀请参加,哈哈。 其实很多开发同学,包括这次被授权的腾讯的小伙伴们,对公司授权的股票或者期权都不太了解。 经常听到周边的小伙伴说,拿到了公司给的多少多少 股票 ,市值多少钱,感觉不明觉厉。有时自己被猎头忽悠跳槽,说以后有多少多少 期权 ,也不清楚到底有多大的价值。 精神哥也是在拿到了公司授权的股票后,比较兴奋,所以认真的研究了一下股票和期权,在这里跟大家聊聊。 包括股票是什么,创业公司授权的期权到底有没有价值,公司在海外上市以后,股票如何交易等。 有什么不对的地方,欢迎大家指正。 期权和股权的区别 期权(option)又称为选择权 ,是在期货的基础上产生的一种衍生性金融工具。其实是一种权利,到达某一天后,是否以一定的价格购买的权利。 股权是指

【腾讯Bugly干货分享】让 CodeReview 这股清流再飞一会儿

天涯浪子 提交于 2019-12-26 11:53:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文来自于 腾讯Bugly 公众号( weixinBugly ),未经作者同意,请勿转载,原文地址: https://mp.weixin.qq.com/s/ToYeT4Y4pzx0ii9Z92fo-Q 作者:刘永丽 导语 精神哥最近和团队中的开发同学聊天,看到很多开发同学对代码技能的提升都是有诉求的,只不过快速的业务节奏没有给他们太多停留的时间,在这种情况下 如何给团队营造浓厚的工程师交流氛围呢? 方法有多种,目前最被认可或运用的方法莫过于CodeReview活动了。 那么 CodeReview到底能给团队带来什么?什么样的团队需要进行CodeReview活动?如何有效开展CodeReview活动?用哪种方式会比较好呢? 本周我们邀请到腾讯 MIG 无线研发部的刘永丽同学,分享她在CodeReview实践中总结出的宝贵经验。 导语 笔者为了接地气地研究这个实践,特选择了“手机管家高权限应用组”作为试点团队进行活动开展,这是一个对CodeReview活动非常认同并且愿意持续改进的团队, 经过一年的运作,该团队CodeReview活动运作成效显著。 接下来笔者就根据试点经验,总结一下对CodeReview这个实践的看法和思考,希望能对想要或正在进行CodeReview活动的团队提供借鉴作用。 一