精华内容
下载资源
问答
  • 昨晚正准备睡觉,突然想起上学期和PLC老师在课堂争论字、半字字节在编译器中所占的字节大小的问题。后来查了查,体系结构不同的原因导致了分歧。今天把ARM结构、8位控制器、16位控制器、以及VC中的标准写帖子...

    昨晚正准备睡觉,突然想起上学期和PLC老师在课堂争论字、半字、字节在编译器中所占的字节大小的问题。后来查了查,是体系结构不同的原因导致了分歧。今天把ARM结构、8位控制器、16位控制器、以及VC中的标准写个帖子,以作提醒。

    一、对于嵌入式底层开发人员

    Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。

    半字Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。

    字节Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。

    ARM 采用的是32位架构.
    ARM约定:Byte : 8 bits
    Halfword :16 bits (2 byte)
    Word : 32 bits (4 byte)

    二、对于应用程序开发人员

    1、字节:byte,8bit,就是8个二进制位,一个ASCII字母占用的空间。

    2、字:word,16bit,一个汉字占用的空间。

    3、双字:dword,32bit。

    例如在Visual C++ 6.0中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下:
    typedef unsigned char BYTE;
    typedef unsigned short WORD;
    typedef unsigned long DWORD;
    也就是说BYTE是无符号的char型(char型本质上也是一种1个字节的整型),WORD是无符号short型,DWORD是无符号long型。
    而在Visual C++ 6.0中,char型长度为1字节,short型长度为2字节,int和long型长度都为4字节,因此可以认为BYTE与WORD,DWORD定义的变量分别获得了1字节,2字节,4字节内存。

    总结:

    字节永远都是8bit,字的大小依赖于平台(可以通过sizeof()函数进行查看),但是可以确定的是,字是多少位,半字永远是字的一半,双字永远是字的2倍大小

    因作者水平有限,如有错漏之处,望大神批评指正。

    展开全文
  • 前言当你准备跳槽面试的时候,明明只是一份15K的工作,却问...2020的秋招可以说也完美收官,前段时间收到字节跳动的面试邀请,虽有点震惊,但却依旧保持平常心去对待,结果一不小心就吊打了面试官(前后一个半小时...

    eb92dd5020f61dacf324fd971f6599ad.png

    前言

    当你准备跳槽面试的时候,明明只是一份15K的工作,却问你会不会多线程,懂不懂高并发,火箭造得让你猝及不防,结果就是两个字——凉凉!而在如今的市场,什么多线程、高并发、分布式、负载均衡、集群、微服务等等等等,都可说是Java高级后端开发求职的必备技能。

    7c3b8aafac5c26962f97460374a95589.png

    2020的秋招可以说也是完美收官,前段时间收到字节跳动的面试邀请,虽有点震惊,但却依旧保持平常心去对待,结果一不小心就吊打了面试官(前后一个半小时的面试过程全程没卡壳,项目和算法全部搞定,甚至聊到了面试官的盲点…)

    83a31fbd94719f7aff0cb5c81f701ade.png

    而最终的结果……当然是顺利的接到了字节跳动的Offer,定级为2-2资深研发人员。

    d5f4ef42c652f2dcf0790116f68c968f.png

    面试前的准备

    老实说,我自己平常没事就会看一些面试题,所以我都是直接去面的。不过我还是要建议大家如果准备面试的话,需要做以下准备

    1. 背题:看一看最近的面经文,了解现在公司都在面什么类型的题,准备一些常见题,开背吧!如果一些基础的 js 都不会那问题就有点小大了。
    2. 算法:做一些算法题,leetcode 上面的一二三星就够了,前端算法很简单,基本都是初中数学的难度吧。
    3. 项目:项目回顾,把你做的项目从技术架构到源码都要做到足够了解,至少面试的时候不要被面试官问住了。并且要体现出你在工作中的作用,体现出自驱性(大公司都很看重自驱性)
    4. 亮点:准备亮点,回答问题的时候不用全部回答上来,但是在面试的过程中一定要有亮点(不然你就会得到反馈,面试官说你还行,但是没有过~) 我一般会准备几个点,每个点都保证可以睡上半小时。另外一定要了解得很深入,并且能够用自己的话流畅的表达出来!!(我准备的几点,性能优化、工程化、缓存、http)
    5. 内推:最好找人内推,成功率会提高一些
    6. 练手:先找几家不太想去的公司(规模差不多)练练手,如果第一次面试就去心仪的公司面试,淘汰率会非常高。
    7. 心态:心态很重要,面试不过很正常,不证明你不优秀,只是不适合,总结面试经验,为下一次做准备。
    8. 答题:怎么把自己会的问题说好,这个很关键
    • 逻辑清晰:一定要逻辑清晰,不然即使你知道这个问题的答案,面试官也不会满意,如果你逻辑清晰,即使这个答案不会,面试官也会给你加分
    • 独特理解:现在的面试题大同小异,那么如何体现出你的优势就很重要。结合业务以及你自身的知识储备来讲
    • 深入思考:对每个问题一定要有深入的思考,不然就很难进入大公司了,深度上要有一个拔高才能在面试中获得好的成绩
    • 流畅表达:面试就是一个表达的过程,一些问题心里明白不行,还要流畅的表述出来,基本上如果面试官觉得你表达的很流畅,当你讲到一半就不会再让你说下去了,证明已经通过了

    刷题绝对是最重要的,于是问了我在阿里的同学要来了一全套他们公司P8整理的系列大厂面试题,刷到天昏地暗,如今既完美收官了,这些面试题还有自己之前收集整理的一份核心架构进阶知识点。存在网盘也没太大的用处,所以在这里免费分享出来给有需要的朋友点击免费获取高频面试题答案、刷题宝典免费获取地址

    0effeed709eeb084a22c0be12c437096.png

    字节跳动4面(3面技术+1面HR)面试经历

    1.1 字节跳动一面

    1. 首先自我介绍,balabala……(此处省略三分钟)
    2. 找一个你的项目说一下,首先你的项目介绍,承担了什么职责,做了哪些工作,难点(因人而异,这就不再赘述了,balabal……(省略三分钟))
    3. 从你项目中看出,你使用的是mysql,mysql的int数据类型都有哪些?从小到大说一下,各占多少字节?
    4. java中的int都有哪些?字节占多少
    5. 问你一个关于计算机网络的,tcp的三次握手说一下?
    6. tcp和udp的区别?
    7. 你说你熟悉linux,我给你一个案例,搜索出log文本中出现次数最多的IP,并且给出次数
    8. 说下java的gc?
    9. 说一下hashmap这个数据结构?
    10. 进行一次查找的话haspmap的时间复杂度是多少?
    11. 给你一个算法你看一下,有一个无限长的整型数组,从小到大排序,非递增。那么怎么找到数组中一个key?
    12. 闲聊
    之后就问了我最近看了哪本书,学到了什么,最近还在学的什么技术呢?问了我职业规划,兴趣爱好,还说了说公司的语言选型,我后来问了下对于我的面试表现评价,人家不方便说,又问了新人培养等问题。

    1.2 字节跳动二面

    1. 自我介绍(balabla)
    2. 然后说一说mysql的索引结构吧
    3. 看一道题吧,这个题怎么建立索引
    (1)第一道题:
    mysql订单表有几个属性:订单id,用户user_id、下单日期date(精确到天)等,请问索引怎样建立
    a. 查询某个用户的所有订单
    b. 查询某一天的所有订单
    c. 查询某一天某个用户的所有订单
    (2)第二道题:
    10G文件,每一行一个 uint32 数字。有一台1G内存的机器
    - A. 找出最大的 k 个数
    - B. 找出重复数字
    (3)第三道题:
    我手中有一堆扑克牌, 但是观众不知道它的顺序。
    第一步, 我从牌顶拿出一张牌, 放到桌子上。
    第二步, 我从牌顶再拿一张牌, 放在手上牌的底部。
    第三步, 重复第一/二步的操作, 直到我手中所有的牌都放到了桌子上。
    最后, 观众可以看到桌子上牌的顺序是:13121110987654321 请问, 我刚开始拿在手里的牌的顺序是什么?用代码实现以下

    1.3 字节跳动三面

    这个面试官应该是一个总监级别的,说话非常的硬气,肯定是一个资深大佬,一共面了40多分钟。常规的面试基础都没问,纯怼项目和算法了。
    1. 自我介绍
    2. 你觉得你目前遇到的困难有哪些?项目上的难点?
    3. 你的项目数据库多大?QPS多少?哪些sql比较慢?(项目上的事我就不说了……balaba)
    4. 那你觉得以后qps更大的话,你该怎么设计?
    5. 给你一个算法题,你来看一下思路
    6. 那留两分钟咱们聊一聊,你有什么想问我的

    1.4 字节跳动四面

    HR面,大约35分钟,主要是问个人职业规划、薪资待遇,以及对字节跳动的期许等等

    【附】分析一波,Java核心架构进阶知识点

    面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题、看面经,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的

    f055df22cae3d5eca2ebf949a656a7c7.png

    e07124545823b7dabe246d6773b7c18e.png

    404fffb25510a4dd37ffa05d3d40fd8b.png

    5648fb76d92fba140d9ac5c97a480438.png

    分享一些我个人的学习文档,有需要的朋友自行选择获取:有需要的朋友点击免费获取高频面试题答案、刷题宝典免费获取地址

    1、面试文档专题整理

    既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

    根据自身面试经历整理以及不断收集的(珍藏版)

    dafa5507c8594f8122f7b294b057c488.png

    相关的电子书、底层源码

    4aebceb3dae39a3e6fcbfcb23f5d6364.png

    最后

    很多人感叹“学而无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

    以上学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!

    展开全文
  • 1.给出一年月日,判断该天当年的第天 水题 注意判断leap year,(year%4==0 && year%100!=0) || (year%400 == 0) 2.找出数组中出现次数超过一半的数字 经典面试题 要求:算法复杂度...

    2018年12月字节跳动实习生校招笔试题目总结

    这次笔试只有三道题目,先要求写出解题思路,然后再写出代码
    笔试时间为:1个半小时


    1.给出一个年月日,判断该天是当年的第几天

    • 水题
    • 注意判断leap year,(year%4==0 && year%100!=0) || (year%400 == 0)

    2.找出数组中出现次数超过一半的数字

    • 经典面试题
    • 要求:算法复杂度越低越好
    • O(n)算法:
      • 在遍历数组的时候保存两个值:一个是数组中的一个数字,一个是次数。
      • 当我们遍历到下一个数字的时候,
      • 如果下一个数字和当前我们保存的数字相同,则次数加 1;
      • 如果和当前我们保存的数字不同,则次数减 1;
      • 当次数减到 0 的时候,我们将保存的数字改为当前遍历所处的位置,并将次数更改为 1。

    3.一笔画问题(哈密尔顿图)

    1

    • 找出一条道路,遍历所有的结点
    • 图的范围2 <= n,m <= 10
    • 哈密尔顿回路是NP-hard问题,但是这次规模较少,可以用深度遍历解决
    展开全文
  • ARM体系中,每个字单元包含4个字节单元或者两个半字单元。在字单元中,4个字节哪一个高位字节,哪一个低位字节则有两种不同的格式:big-endian和little-endian格式。在小端模式中,低位字节放在低地址,高位字节...


    ARM体系中,每个字单元包含4个字节单元或者两个半字单元。在字单元中,4个字节哪一个是高位字节,哪一个是低位字节则有两种不同的格式:big-endianlittle-endian格式。在小端模式中,低位字节放在低地址,高位字节放在高地址;在大端模式中,低位字节放在高地址,高位字节放在低地址。

    C语言中,不同于结构体,共用体(联合体)中的几种不同类型的变量存放在同一段内存单元中。利用这一特点,可以用联合体变量判断ARMx86环境下,存储系统是是大端还是小端模式。

    #include "stdio.h"
    int main()
    {
      union w
     {
      int a;  //4 bytes
      char b; //1 byte
     } c;
      c.a=1;
      if (c.b==1)
      printf("It is Little_endian!\n");
      else
      printf("It is Big_endian!\n");
      return 1;
    }
    说明:
     在c中,联合体(共用体)的数据成员都是从低地址开始存放。
     若是小端模式,由低地址到高地址c.a存放为0x01 00 00 00c.b被赋值为0x01

      ————————————————————————————

       地址 0x00000000 0x00000001 0x00000002 0x00000003

       c.a  01         00         00         00

       c.b  01         00        

      ————————————————————————————  
     若是大端模式,由低地址到高地址c.a存放为0x00 00 00 01c.b被赋值为0x0

      ————————————————————————————

       地址 0x00000000 0x00000001 0x00000002 0x00000003

       c.a  00         00         00         01

       c.b  00         00                 

      ————————————————————————————  


     根据c.b的值的情况就可以判断cpu的模式了,现在XP环境下的intel CPU是小端模式,不信你可测试下!

    展开全文
  • 1、位/字节/字 这几个概念比较简单,但是无论是在通信行业还是在计算机行业,都是非常基础非常重要的几个概念。其中位(bit)是计算机中最小的...字是由若干个字节构成,字的位数叫做字长,不同档次的机器有不...
  • 笔记

    2014-08-01 21:16:17
    在ARM体系中,每个字单元包含4个字节单元或者两个半字单元。在字单元中,4个字节哪一个高位字节,哪一个低位字节则有两种不同的格式:big-endian和little-endian格式。在小端模式中,低位字节放在低地址,高位...
  • 在ARM体系中,每个字单元包含4个字节单元或者两个半字单元。在字单元中,4个字节哪一个高位字节,哪一个低位字节则有两种不同的格式:big-endian和little-endian格式。在小端模式中,低位字节放在低地址,高位...
  • 用union判断cpu的大小端

    千次阅读 2011-06-03 10:47:00
    版本1:在ARM体系中,每个字单元包含4个字节单元或者两个半字单元。在字单元中,4个字节哪一个高位字节,哪一个低位字节则有两种不同的格式:big-endian和little-endian格式。在小端模式中,低位字节放在低地址...
  • 6.23 sizeof返回的大小字节计算的,怎样才能判断数组中有多少元素呢? 第7章 内存分配 基本的内存分配问题 7.1 为什么这段代码不行?char*answer;printf("Typesomething:\n");gets(answer);printf(...
  • 《你必须知道的495C语言问题》

    热门讨论 2010-03-20 16:41:18
    《你必须知道的495C语言问题》结构清晰,讲解透彻,各高校相关专业C语言课程很好的教学参考书,也各层次C程序员的优秀实践指南。 -----------------------------------------------------------------------...
  • 可我找不到任何方法来声明这样的函数——感觉我需要一返回指针的函数,返回的指针指向的又返回指针的函数……,如此往复,以至无穷。 12  数组大小 13 1.23 能否声明和传入数组大小一致的局部数组,或者由...
  • 在小红的回答中有三个,这个时候就需要从缓冲区中读取了,但是读的时候一次性读几个数据,这无法预知的,这就可能会让程序出现歧义(UDP以包为单位,就不存在这样的问题) 那么读取应用层数据就不应该只读个包...
  • 【STM32F103】DMA学习笔记(陆续添加)

    千次阅读 2017-09-07 16:15:24
    参考:STM32F10xxx参考手册 DMA主要特性比较多,简要为以下条: ...4.传输宽度可设,字节半字,全字(对应的字的长度应该32bits,stm3232位单片机) 5.三种事件可触发中断:DMA半传输,DMA传输完成,DMA
  • MIPS指令系统和MIPS系统结构

    千次阅读 2019-05-28 08:25:46
    MIPS系统结构由MIPS公司开发的RISC结构,指令...它的数据表示整型有字节(8位),半字(16位),字(32位),双字(64位) MIPS指令的基本格式为:操作码+源操作数1+源操作数2+目的操作数 指令中寻址方式常见为...
  • ca : 4 ISA

    2020-07-25 10:48:07
    文章目录4.4指令系统的组成部分4.6RISC的发展历史 4.4指令系统的组成部分 指令的主语:CPU 指令主语都一样,主语省略 指令包括操作码和操作数操作码相当于谓语 ...数据长度为字节半字、字和双字 有些指令系统(如X8
  • 2.5.7 IPX地址网络地址有( )个字节? 2.5.8 对于帧中继描述正确的? 2.5.9 对于INVERSE ARP的描述正确的? 百度篇 3.1.0 在函数内定义一个字符数组,用gets函数输入字符串的时候,如果输入越界,为什么...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    3、编写一截取字符串的函数,输入为一字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    3、编写一截取字符串的函数,输入为一字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...
  • 3、编写一截取字符串的函数,输入为一字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...
  • Java数据压缩与传输实例 1目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    6目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象用...
  • java面试题典 java 面试题 经典

    热门讨论 2010-06-18 13:42:36
    7. Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 47 8. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口? 49...
  • java面试题

    2018-01-01 15:35:15
    55.3. Servlet执行时一般实现哪几个方法? 38 56. 会话跟踪 39 56.1. Cookie 39 56.2. session 39 56.2.1. Session 生命周期 39 57. EJB的几种类型 39 58. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序。 40...
  • JWM将代码输入一个字节码校验器以 测试代码段格式并进行规则检査一一检査伪造指针、违反对象访问权限或试图改变对象类型 的非法代码。 注意-—所有源于网络的类文件都要经过字节码校验器 字节码校验器对程序代码进冇...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

半字是几个字节