博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《程序猿面试宝典》精华 底层部分
阅读量:5341 次
发布时间:2019-06-15

本文共 1761 字,大约阅读时间需要 5 分钟。

《程序猿面试宝典》精华 底层部分

  • 正所谓取其精华。去其糟粕。

    本文谨记录下《程序猿面试宝典》一些关键的知识点、易错点,对于一些尽管重要但书中没有解释清楚的地方不做记录。

    书里是没有糟粕的,仅仅是指不那么重要,或者比較简单的地方略过而已,并非说书写的不好。

    希望以后回想时无需再看此书,仅仅看保留在文中的精华就可以。

  • 本文专注位运算、操作系统、数据库、网络部分,包含第十二章以后的内容

第十二章 位运算与嵌入式编程

  • 12.1 printf的%f说明符能够输出float和double型,float型会被提升为double型。printf("%f",5);printf("%d",5.01)。前者会从存放5的位置取double型的8个字节,内存越界,并按bit解释。后者会依照整数来解释5.01的比特,输出为0。一个大整数。

    真的是越界

  • 12.1 struct a{int z:33;};报错,由于z为int型。不可能有33位
  • 12.1 dynamic_cast,static_cast,reinterpret_cast的差别,没有讲清楚
  • 12.2 ISR终端服务程序不应该有參数和返回值,且不能使用不可重入的函数
  • 12.2 volatile的意思是易变的,指的是它可能在程序控制的范围之外意外发生变化,防止编译器的优化。

    volatile变量能够声明为const。表示是仅仅读的

  • 12.2 const的意思是仅仅读的
  • 12.2 malloc(0)能得到一个合法的指针。而不是空指针,对其调用strlen和sizeof结果为0和4
  • 12.2 对于结构体struct bit{int b1:5;int :2;int b2:2;};赋值后,取b1,b2的值,该怎样解析?
  • 12.3 static的作用包含哪些?
    • 函数内的static变量中下次调用时保持值不变
    • 源码文件(模块)内的static全局变量和函数的作用范围限制在模块内
    • 类的static成员变量对全部对象共享。static成员函数仅仅能訪问static成员变量

第十六章 操作系统

  • 16.1 进程间怎样通信:信号,信号量。消息队列,共享内存
  • 16.1 死锁的必要条件:相互排斥,请求与保持,不可剥夺,循环等待。后三种条件能够破坏
  • 16.2 进程与线程的差别:
    • 进程是程序的一次运行,线程为进程中运行的一段程序
    • 进程直接是独立的,而同一进程的线程共享内存空间

第十七章 数据库

  • 17.1 事务:作为单个逻辑工作单元运行的一系列操作。不可切割。

    具有原子性、一致性、独立性、持久性

  • 17.1 聚集索引与非聚集索引的差别:
    • 聚集索引的顺序就是数据的物理存储顺序,而非聚集索引顺序与物理存储顺序无关
    • 每一个表仅仅能有一个聚集索引。聚集索引对于范围查询的列很有效
  • 17.2 表ppp里面num最小的数
    • 不使用min:select top 1 num from ppp order by num
    • 使用min:select * from ppp where num = (select Min(num) from ppp)
  • 17.2 从表中取出第5行到第七行的数据的语句

第十八章 计算机网络

  • 18.1 OSI七层模型及其作用:
    • 物理层 传输原始比特流
    • 数据链路层
    • 网络层 路由选择
    • 传输层
    • 会话层
    • 表示层
    • 应用层
  • 18.2 TCP与UDP的差别
    • TCP是传输控制协议,提供面向连接、可靠的字节流服务。提供超时重发、数据检验、流量控制等功能
    • UDP是用户数据报协议,是面向数据报的传输层协议,不提供可靠性。但因为无需建立连接、超时重发,传输速度快
  • 18.3 socket编程流程
    • server端:socket bind accept sned recv close
    • client: socket connect send recv close
  • 18.3 经常使用port号:0到1023范围内,21为FTP,25为SMTP,80为HTTP,23为telnet
  • 18.4 TCP的三次握手与四次挥手

  

  

转载请注明作者:Focustc。博客地址为 。原文链接为

  

  

转载于:https://www.cnblogs.com/lxjshuju/p/6749045.html

你可能感兴趣的文章
SparkStreaming 源码分析
查看>>
【算法】—— 随机音乐的播放算法
查看>>
mysql asyn 示例
查看>>
DataGrid 点击 获取 行 ID
查看>>
git 使用
查看>>
边框圆角方法
查看>>
asp.net WebApi自定义权限验证消息返回
查看>>
php中eval函数的危害与正确禁用方法
查看>>
20172315 2017-2018-2 《程序设计与数据结构》第十一周学习总结
查看>>
MySQL添加、修改、撤销用户数据库操作权限的一些记录
查看>>
ViewBag & ViewData
查看>>
关于谷歌浏览器Chrome正在处理请求的问题解决
查看>>
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>
composer 安装laravel
查看>>
8-EasyNetQ之Send & Receive
查看>>
Android反编译教程
查看>>
java重写LinkedList
查看>>