Tencent后台服务器开发有一道题是计算一个结构体的sizeof的大小: struct strData { int m_Int; char m_Char; short m_Short; char m_Flag; } 系统为32位的Unix机器,请问sizeof(strData)的值是多少? 在32位系统中,int类型为4个字节,char类型为1个字节,short为2个字节,所以理论上上述结构体占用的空间总共为8个字节: 但是,内存存放数据时如果各种类型合理对齐时,cpu访问数据的效率就比较高:…
开发工程师面试的秘密 因为打算转战linux平台,所以一直在配置自己喜欢的linux操作系统.同时在看那本<C 专家编程>,这本书主要是针对ANSI C 介绍的,所以和Linux(Unix )渊源比较深了,但是还是把自己看的睡着了.所以决定倒着看,首先是附录中的关于开发工程师面试的秘密,收获颇多,就整理一下自己学到的知识,同时也给自己充充电. 1.懂硬件的程序员是很危险的 为什么这么说呢,因为硬件是编程最终体现的平台,一个程序员如果还掌握硬件的知识,那么她就可以为所欲为了.将程序稍微烧在一个芯…
嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核锁? Linux的内核锁主要是自旋锁和信号量. 自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新可用.要是锁未被争用,请求它的执行线程便能立刻得到它并且继续进行.自旋锁可以在任何时刻防止多于一个的执行…
最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05------------------- 原本说好的2月份写出,但是因为知识点太多,就跳票了.... ----------------2018.04.03------------------- 今天终于有时间来整理这些笔记,然后将他们整理分类分成几个不同的模块,这样大家看起来也更方便些,以后会慢慢来完…
珍藏版 Python 开发工程师面试试题 说明:不拿到几家公司的offer,那就是卑鄙的浪费 一.Python_基础语法 1.可变与不可变类型: 2.浅拷贝与深拷贝的实现方式.区别:deepcopy如果你来设计,如何实现: 3.__new__() 与 __init__()的区别: 4.你知道几种设计模式: 5.编码和解码你了解过么: 6.列表推导list comprehension和生成器的优劣: 7.什么是装饰器:如果想在函数之后进行装饰,应该怎么做: 8.手写个使用装饰器实现的单例模式: 9…
作为 Linux 运维工程师,进入大公司是开启职业新起点的关键,今天马哥 linux 运维及云计算智囊团的小伙伴特别分享了其在网易面试 Linux 运维及云计算工程师的题目和经历,希望对广大 Linux 运维及云计算的求职者有一个帮助. 首先我们来看下网易 Linux 运维工程师招聘岗位要求: [岗位定义]高级系统工程师(应用运维) [岗位薪资]15K-25K [职位描述] 1. 负责公司运维体系的建设,组织在线移动APP和业务系统以及自建私有云的监控.维护, 推进自动化运维: 2. 建立和完善…
如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师. 1. Linux中主要有哪几种内核锁?(进程同步与互斥) (1)自旋锁:非睡眠锁 (2)信号量:睡眠锁 2. Linux中的用户模式和内核模式是什么含义?(内存管理) (1)用户模式:应用程序运行于用户模式,仅可以有限度的访问CPU及其他硬件资源 (2)内核模式:内核线程运行于内核模式,内核模式的代码可以无限制地访问所有处理器指令集以及全部内存和I/O空间 3. 怎样申请大块内核内存?(内存管…
倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生.这两个宏最初是极客写出的,后来在Linux内核中被推广使用. 1. offsetof 1.1 offsetof介绍 定义:offsetof在linux内核的include/linux/stddef.h中定义.#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 说明:获得结构体(TYPE)的变量成员(…
我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享.以后我需要更加努力,改掉自己的惰性.本人文采不怎么样,只能是把自己所想的说出来,想和大家一起分享知识,互相学习,丰富自己,所以在文采方面,大家多多体谅体谅.我尽可能的去写好每一篇博客,让大家方便阅读和了解. 最近我去面试了几家公司,是关于JAVA开发工程师的职位.今天我就写一写关于在面试过程中的一些问题,如果您看到了这篇博客,可能会对您面试的时候有一些帮助. 1.自我介绍 关于自我介…
一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?   2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解?   3.企业中Linux服务器系统分区标准是什么?(硬盘为300G,内存16G)   4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤.   5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下.   6.用虚拟机安装了一台Linux系统,突然想克隆…