Linux后台开发应该具备技能
一、linux和os:
1、命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验
2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握
3、awk sed需掌握
4、共享内存的使用实现原理、然后共享内存段被映射进进程空间之后,存在于进程空间的什么位置?共享内存段最大限制是多少?
5、c++进程内存空间分布(注意各部分的内存地址谁高谁低,注意栈从高道低分配,堆从低到高分配)
6、ELF是什么?其大小与程序中全局变量的是否初始化有什么关系(注意.bss段)
7、使用过哪些进程间通讯机制,并详细说明
8、makefile编写,虽然比较基础,但是会被问到
9、gdb调试相关的经验,会被问到
10、如何定位内存泄露?
11、动态链接和静态链接的区别
12、32位系统一个进程最多多少堆内存
13、多线程和多进程的区别(重点 必须从cpu调度,上下文切换,数据共享,多核cup利用率,资源占用,等等各方面回答,然后有一个问题必须会被问到:哪些东西是一个线程私有的?答案中必须包含寄存器,否则悲催)
14、写一个c程序辨别系统是64位 or 32位
15、写一个c程序辨别系统是大端or小端字节序
16、信号:列出常见的信号,信号怎么处理?
17、i++是否原子操作?并解释为什么???????
18、说出你所知道的各类linux系统的各类同步机制(重点),什么是死锁?如何避免死锁(每个技术面试官必问)
19、列举说明linux系统的各类异步机制
20、exit() _exit()的区别?
21、如何实现守护进程?
22、linux的内存管理机制是什么?
23、linux的任务调度机制是什么?
24、标准库函数和系统调用的区别?
25、补充一个坑爹坑爹坑爹坑爹的问题:系统如何将一个信号通知到进程?
二、C语言:
1、宏定义和展开(必须精通)
2、位操作(必须精通)
3、指针操作和计算(必须精通)
4、内存分配(必须精通)
5、各类库函数必须非常熟练的实现
6、哪些库函数属于高危函数,为什么?(strcpy等等)
三、c++:
1、一个String类的完整实现必须很快速写出来(注意:赋值构造,operator=是关键)
2、虚函数的作用和实现原理(必问必考,实现原理必须很熟)
3、sizeof一个类求大小(注意成员变量,函数,虚函数,继承等等对大小的影响)
4、指针和引用的区别(一般都会问到)
5、多重类构造和析构的顺序
6、stl各容器的实现原理(必考)
7、extern c 是干啥的,(必须将编译器的函数名修饰的机制解答的很透彻)
8、volatile是干啥用的,(必须将cpu的寄存器缓存机制回答的很透彻)
9、static const等等的用法,(能说出越多越好)
四、数据结构或者算法:
1、《离散数学》范围内的一切问题皆由可能被深入问到(这个最坑爹,最重要,最体现功底,最能加分,特别是各类树结构的实现和应用)
2、各类排序:大根堆的实现,快排(如何避免最糟糕的状态?),bitmap的运用等等
3、hash, 任何一个技术面试官必问(例如为什么一般hashtable的桶数会取一个素数?如何有效避免hash结果值的碰撞)
五、网络编程:
1、tcp与udp的区别(必问)
2、udp调用connect有什么作用?
3、tcp连接中时序图,状态图,必须非常非常熟练
4、socket服务端的实现,select和epoll的区别(必问)
5、epoll哪些触发模式,有啥区别?(必须非常详尽的解释水平触发和边缘触发的区别,以及边缘触发在编程中要做哪些更多的确认)
6、大规模连接上来,并发模型怎么设计
7、tcp结束连接怎么握手,time_wait状态是什么,为什么会有time_wait状态?哪一方会有time_wait状态,如何避免time_wait状态占用资源(必须回答的详细)
8、tcp头多少字节?哪些字段?(必问)
9、什么是滑动窗口(必问)
10、connect会阻塞,怎么解决?(必考必问,提示:设置非阻塞,返回之后用select检测状态)
11、如果select返回可读,结果只读到0字节,什么情况?
12、keepalive 是什么东东?如何使用?
13、列举你所知道的tcp选项,并说明其作用。
14、socket什么情况下可读?
六、db:
1、MySQL,会考sql语言,服务器数据库大规模数据怎么设计,db各种性能指标
最后2、:补充一个最最重要,最最坑爹,最最有难度的一个题目:一个每秒百万级访问量的互联网服务器,每个访问都有数据计算和I/O操作,如果让你设计,你怎么设计?
Linux后台开发应该具备技能的更多相关文章
- 面试总结 | Linux后台开发不得不看的知识点(给进军bat的你!)
目录 一 自我介绍 二 面试情况 三 相关知识点汇总 1 c/c++相关 2 计算机网络 3 数据结构相关 4 数据库相关 5 操作系统 6 Linux基础知识及应用编程(后台必备!) 7 大数问题 ...
- Linux后台开发面试问题汇总
个人从事安全后台开发,当然是linux环境下的了.举几个常见的问题.1. 数据结构基础.比如实现一个最简单的哈希表.2. 操作系统基础.linux进程模型,堆/栈的区别,大概的位置,各往哪个方向生长, ...
- 面试总结:鹅厂Linux后台开发面试笔试C++知识点参考笔记
文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 文章是由自己笔试面试腾讯的笔记整理而来,整理的时候又回顾了一遍,中间工 ...
- linux后台开发必备技能
一.linux和os: 1.命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验 2.cpu 内存 硬盘 等等与系统性能调试相关的 ...
- linux后台开发核心技术
3. 常用STL的使用 3.1. string (1)string类的实现(使用strlen.strcpy.strcat.strcmp等,注意判NULL). (2)C++字符串和C字符串的转换:dat ...
- Linux后台开发常用工具
内存分析工具valgrind valgrind辅助工具qcachegrind 可视化查看valgrind结果 淘宝DBA团队发布的监控脚本,使用perl开发,可以完成对linux系统和MySql相关指 ...
- linux后台开发常用调试工具
一.编译阶段 nm 获取二进制文件包含的符号信息 strings 获取二进制文件包含的字符串常量 strip ...
- linux后台开发排错常用工具
一.前言 二.工具介绍 1.ps 查看进程信息 2.gstack 查看进程堆栈 3.pmap 查看程序分配的内存 4.ldd 查看程序用到的动态链接库 5.strace 用来跟踪和监视程序的每一个系统 ...
- Linux 后台开发常用命令
1.automake编译 autoreconf -isv ./configure make 2.远程获取代码 rsync -aPvr --exclude=*/log/* *.*.*.*::home/s ...
随机推荐
- 安装`lrzsz`包及其报错解决办法
rz命令的安装包名是lrzsz. 安装lrzsz包时报错Failed to mount cd:///?devices=/dev/sr1,/dev/sr0 on /var/adm/mount/AP_0x ...
- windows系统下jenkins环境搭建与基本使用
一. windows 系统下搭建jenkins环境 1.1 jenkins环境搭建和构建job流程图 1.2 安装jdk JDK下载地址: http://www.oracle.com/technet ...
- 深入了解Spring中的容器
1.创建Bean的3种方式 1.1使用构造器创建bean实例 这是最常见的方式,如果不采用构造注入,bean类需要有默认构造函数.如果采用构造注入,则需要配置xml文件的<constructor ...
- redis helloworld
一.启动 redis 服务 [root@MyLinux bin]# ./redis-server redis.conf 二.使用客户端连接服务 [root@MyLinux bin]# ./redis- ...
- android继续探索Fresco
我们接着上文继续说,上篇博客中我们已经知道了Fresco怎么用,也知道了它的非常多属性.可是非常多时候xml文件是不能满足你的要求的.这就须要你在代码中动态的改变显示的内容,今天我们就来探索一下怎样在 ...
- 从C到C++(下)
继承 从一个类派生到另外一个类,使前者的所有特征在后者中自己主动可用. 他能够声明一些类型,这些类型能够共享部分或所有曾经所声明的类型.它也能够从超过一个的基类中共享一些特性. C++是支持多继承的. ...
- 分享几个可用的rtsp, http測试url
rtsp://218.204.223.237:554/live/1/0547424F573B085C/gsfp90ef4k0a6iap.sdp rtsp://218.204.223.237:554/l ...
- Android 零基础学习之路
第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正則表達式. 3.面向对象的抽象.封装,继承,多态.类与对象.对象初始化 ...
- Codeves 2800 送外卖 状态压缩DP+floyd
送外卖 题目描述 Description 有一个送外卖的,他手上有n份订单,他要把n份东西,分别送达n个不同的客户的手上.n个不同的客户分别在1~n个编号的城市中.送外卖的从0号城市出发,然后 ...
- 宝马男砍人不慎刀落反被杀 防卫过当or故意伤害(在生命受到威胁的情况下,已经很难判断对方意图了,而且假如于莫是老弱妇幼,可能现在死的就是于莫了)
如果被砍的是周律师他就不会说是防为过当吧,宝马车主跑回自己的车边时最危险,不知道他车上还有什么刀枪之类的.这如果判防卫过当,恶人会更恶,老实人连防卫都不敢了. 不知道在这个没有法治的国家会是如何判案的 ...