C/C++实习工作应该具备那些能力?才能拿更好的工作和薪资!
应届生除了要良好地掌握算法和数据结构以外,以下一些技能点列表希望对大家有帮助,有兴趣的朋友可以参考这个针对性地补缺补差。
文章列出的技能点有的要求熟悉,有的了解即可,注意技能点前面的修饰词。如果没有明确给出“熟悉”“了解”等字眼,要求均为熟悉。
一、编程语言
۞ C/C++方面
▷ 熟悉内存分布(堆、栈、静态/全局/局部变量、虚指针…)
▷ 熟悉Makefile。
▷ 熟悉gdb调试(断点、查看内存、执行跟踪、了解CPU主要寄存器作用…)。
▷ 熟悉性能分析工具(gprof)。
▷ 熟悉C-Runtime常用函数(如字符串格式化函数printf、scanf,字符串比较连接函数、内存分配函数、文件与目录操作函数等)。
▷ 熟悉stl库。
▷ 熟悉OO思想、常见设计模式(如单例模式、工厂设计模式、装饰者模式、Builder模式、生产者消费者模式、策略模式等)。
▷ 熟悉RAII、pimpl惯用法。
▷ 有一定的代码质量和重构能力。
二、操作系统方面
۞ 多线程相关与线程之间同步技术
熟练使用(但不局限于)以下linux API。linux下的线程创建、等待、获取线程id
常见线程之间的同步技术(何时该用那种技术)
互斥体
信号量
条件变量
读写/自旋锁
▷ 熟悉守护进程的创建、原理
▷ 了解计划作业crontab
▷ 熟悉进程、线程状态查看命令(top、strace、pstack)
▷ 熟悉内存状态查看命令memstat、free
▷ 熟悉IO状态查看命令iostat、df、du
▷ 了解linux文件的权限、用户、时间(ctime、mtime、atime)、inode等文件基本属性,熟练使用chmod、chown、chgrp等基本命令。
▷ 熟悉文件传输命令scp、rz、sz命令、
▷ 熟悉文件定位命令find、whereis命令。
▷ 熟悉软链接,熟悉ln命令。
▷ 熟悉lsof命令。
三、计算机网络
▷ 熟悉tcp状态机(三次握手、四次挥手)。
▷ 熟悉tcpdump命令。
▷ 熟悉网络状态和防火墙状态查看命令:netstat、ifconfig、iptables
▷ 熟悉socket API,包括但不限于(connect、accept、bind、listen、send/sendto、recv/recvfrom、select、gethostbyname)
▷ 熟悉epoll,熟悉水平触发与边缘触发。
▷ 熟悉阻塞socket和非阻塞socket在connect、send、recv等行为上的区别,如何将socket设置为非阻塞的。
四、数据库
▷ 熟悉数据表结构设计(三范式、字段属性)。
▷ 了解查询优化(索引的概念与创建、sql优化)。
▷ 熟悉常见的mysql API函数:
五、脚本工具
▷ 了解shell基本语法、变量操作、函数、循环/条件判断等程序结构。
▷ 熟练使用文本编辑工具vi/vim。
▷ 了解使用文本处理命令grep、sed、cut。
▷ 了解awk命令。
最后,下方评论透露一下你的实习工资,看看你有没拖后腿!
—————————————
- End -
不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~
【值得关注】我的 编程学习交流俱乐部 !【点击进入】
C语言入门资料(网盘链接免费分享):
C语言推荐书籍(PDF免费分享):
C/C++实习工作应该具备那些能力?才能拿更好的工作和薪资!相关推荐
- 我眼中的校招【linux C 工程师】应该具备的能力
概要 临近秋招季节,公司也进入了在进行校园招聘流程,结果大失所望,"颗粒无收".面试官同事也向我抱怨为什么现在的学生基础这么差,基本的计算机知识都不能掌握,难以完成公司交付的招聘任 ...
- 自学玩编程需要具备哪些能力
作为一名自学的编程爱好者,要具备哪些能力才能在逐步变成别人眼中羡慕的大佬呢? 我认为第一就是兴趣, 兴趣是每个人在人生成长过程中自发产生的,兴趣是最好的老师,对编程不感兴趣的人真的会认为编程很无聊,成 ...
- 如何在日常工作中提升技术能力
如何在日常工作中提升技术能力 相信我们很多工程师在工作中做的最多的就是CRUD的任务,可能很多同学觉得这些工作不会有成长的机会或无法提升,其实这些大部分都是眼高手低的心里,CRUD也可以学到更多.做到 ...
- 网络安全工作需要具备的10种能力
网络安全发展不能离开专业的人才,但只有专业能力和职场技能兼备的人,才能了解攻击者的动机和内部运作方式,帮助为企业组织分析和解决各类网络威胁问题.从事网络安全工作需要具备两大类技能:专业技术能力和软件职 ...
- 网络安全售前工程师需要具备哪些能力?
网络安全售前工程师需要具备哪些能力? 一张思维导图即可一目了然 售前工程师在项目前配合销售拿单提供技术支持,需要了解公司,公司产品,技术框架等细节,同时还需要了解行业竞争对手产品,各自的优劣势,就公司 ...
- 开发工程师应该具备哪些能力
今天看到了一篇文章,一个五年阿里人写的,再一次唤醒我对阿里的向往. https://www.hollischuang.com/archives/5367 另外还看到他的一篇文章:在阿里工作5年了,斗胆 ...
- 系统架构师具备的能力和构架师自我培养过程
2019独角兽企业重金招聘Python工程师标准>>> 系统架构师具备的能力 一般来讲,系统架构师应该拥有以下几方面的能力: 1:具备 8 年以上软件行业工作经验: 2:具备 4 年 ...
- 高级政工师具备的能力_一个合格的政工师应该具备哪些条件与素质
思想政治工作是我们党的优良传统和政治优势,作为新时期下企业的政工人员,要继续发扬传统和优势,不断增强使命感和责任感,大力提升自身修养,站在企业改革发展.职工文明富裕的大局和高度,竭尽所能并创造性地开展 ...
- 大数据治理需要具备哪些能力和关键技术?
在企业数据建设过程中,大数据治理受到越来越多的重视.从企业数据资产管理和提升数据质量,到自服务和智能化的数据应用,大数据治理的内容在不断发展和完善,其落地实施的过程中会遇到各种各样的难题和挑战.本篇文 ...
最新文章
- Linux磁盘挂载和docker安装
- python数据分析报告的格式_Python数据报表之Excel操作模块用法分析
- A good memory allocator is everything that I need
- 2021中国民营企业500强调研分析报告
- 分析了 200w 行 OpenHarmony 2.0 源码后,有了这些发现
- C++实现离散余弦变换(参数为二维指针)
- VMware Workstation 備份與恢復虛擬機
- git常用命令让你几步摆脱图形工具提交项目
- CMU 15-213 Introduction to Computer Systems学习笔记(21) Synchronization: Basic
- HTML5正确嵌入flash,网页上嵌入Flash播放器(1)
- 最新鸽哒IM即时通讯系统源码+带安装教程,正常运行版,无报错
- 五 我们经常会忘记,要学会 走路 才能 奔跑,Python基础教程
- php仿qq登录界面安卓,Android_Android仿QQ登陆窗口实现原理,今天根据腾讯qq,我们做一个 - phpStudy...
- 维美儿 名画背后的故事 《戴珍珠耳环的少女》
- 2022-02-17 Android11 删除系统某种语言,我这里删掉粤语,修改frameworks/base/core/res/res/values/locale_config.xml里面的内容。
- 合肥市直计算机知识pdf,事业单位计算机专业知识整理(全)-20210419115129.pdf-原创力文档...
- AltiumDesigner的常用设计总结
- MTK 6761平台 android O bootloader启动之 Pre-loader - Lk
- 发送短信验证码到手机(阿里大于平台) java
- 动画演示15年来编程语言的起起伏伏