华为数据库面试题

有2个表A,B

A表中字段id以数字编码显示字段unitid是字段id的单位不过它也是数字显示

形如:

id unitid

100 1000

B表中有字段nid记录全是A表中id字段和unitid字段的值,B表还有一个字段name

是对B表的nid字段的描述

现在要求:查询A表中所有数据,但不在显示A表中的id了,而是显示相应B表的name

怎么样简单吧,来吧试试你的sql语句吧。哦。忘了说数据库是access

1:select c.name from

( select a.id id,b.name name

from a,b

where a.id = b.id

union

select a.unitid id,b.name name

from a,b

where a.unitid = b.id

) c

可惜华为太苦,我不去。

2:呵呵,钱多

3:select a.name,tbl2.name from

(select tbl2.name,tbl1.unitid from tbl1,tbl2 where (tbl1.id = tbl2.nid)) a,tbl2

where a.unitid = tbl2.nid

4:这是你们的课堂作业吧!

5:“A表中字段id以数字编码显示字段unitid是字段id的单位不过它也是数字显示”

以上这句能不能加个逗号,读起来太费解。

6:[:D]真实的题目

7:都不对!!!看似简单,其实不然!!

最后查询结果 A表中的id和unitid都要用b表中的相应的name字段进行描述

8:應該是這樣的吧

create table a

( id varchar(10),

unitid varchar(10))

go

create table b

( nid varchar(20),

name varchar(20))

go

insert into a

values('10','1000')

insert into b(

values('10 1000','waterlemon')

select a.unitid,b.name

from a,b

where (a.id+' '+a.unitid)=b.nid

9:都把华为看的太弱智了吧,不过楼主的表述确实不大清楚,他的意思是显示的还是跟A表一摸一样的数据,只是相应的值是B表中的name

10:如果只是问这样的题目;看来华为自从做了外包之后,档次都下降了。

11:写的这么晦涩是语文不及格还是要考验人的理解和分析能力啊?

//B表中有字段nid记录全是A表中id字段和unitid字段的值

这段我实在看不懂,b表有nid字段还是id和unitid字段呢?如果只有一个nid,那它是怎么表示id和unitid的

12:fenian理解对了

13:如果我理解对了,那么shine007的答案应该是可行的啊

14:access 支持子查询?

15:應該是我的對了吧﹐不信你去測試一下咯

16:楼主表诉不清

17:建议:描述问题应说清楚,这是做程序员的基本功,我们需要经常同客户沟通.

华为技术面试题

将一个单链表反序,只有一个链表头节点head,还有两个指向节点元素类型的指针p和q,不许申请新的节点及指针变量什么的.用c或c++实现算法.

int MyList::Reverse()

{

ListNode *ptr = _ptrFront;

ListNode *ptrpre = 0;

_ptrFront = _ptrEnd;

_ptrEnd = ptr;

while(ptr!=_ptrFront)

{

ListNode *temp = ptr->Next();

ptr->Next(ptrpre);

ptrpre = ptr;

ptr = temp;

}

_ptrFront->Next(ptrpre);

return 0;

}

void InvertLinkedList( LinkList &L )

{

LinkList p,s;

// 逆置头指针L所指链表

p = L; L = NULL; // 设逆置后的链表的初态为空表

while ( p ) { // p 为待逆置链表的头指针

s = p; p = p->next; // 从 p 所指链表中删除第一个结点(s 结点)

s->next = L; L = s; // 将 s 结点插入到逆置表的表头

}

}

p=head->next;q=p->next;head=q->next;p->next=NULL;

do

{

q->next=p;

p=q;

q=head;

head=head->next;

}while(head);

令P指向节点1,Q指向节点2,Head指向节点3,由于P转换后为尾节点,所以P->Next指向NULL

循环移动,直到Head为NULL

哦,只有一个head,改一下:

int MyList::Reverse()

{

ListNode *ptr = _ptrFront;

ListNode *ptrpre = 0;

//_ptrFront = _ptrEnd;

//_ptrEnd = ptr;

while(ptr!=NULL)

{

ListNode *temp = ptr->Next();

ptr->Next(ptrpre);

ptrpre = ptr;

ptr = temp;

}

//_ptrFront->Next(ptrpre);

_ptrFront = ptrpre;

return 0;

}

int MyList::Reverse()

{

ListNode *ptr = _ptrFront;

ListNode *ptrpre = 0;

//_ptrFront = _ptrEnd;

//_ptrEnd = ptr;

while(ptr!=NULL)

{

_ptrFront = ptr->Next();

ptr->Next(ptrpre);

ptrpre = ptr;

ptr = _ptrFront;

}

_ptrFront = ptrpre;

return 0;

}

#include

struct A

{

int m_value;

A *next;

};

A *Reverse(A *head)

{

A *p, *q;

if (head->next == NULL || head->next->next == NULL)

return head;

p = head->next;

q = p->next;

p->next = head;

head->next = NULL;

while (q != NULL)

{

head = p;

p = q;

q = q->next;

p->next = head;

}

return p;

}

int main(){

A array[5];

for(int i=0; i<5; i++)

{

array[i].m_value = i;

if (i == 4)

array[i].next = NULL;

else

array[i].next = &array[i+1];

}

A *head = array;

head = Reverse(head);

while (head != NULL)

{

cout<m_value<

head = head->next;

}

return 0;

}

yiyo2025(EricKong)

你写的这个函数有个很明显的BUG哦

if (head->next == NULL || head->next->next == NULL)

return head;

???

这样当链表只有两个接结点的时候,第三个结点为空,直接返回头指针,根本没改变两个结点的顺序!

我帮你改了一下,呵呵

A *Reverse(A *head)

{

A *p1,*p2;

p1=head;

if(head->next==NULL)

return head;

p2=p1->next;

p1->next=NULL;

while(p2->next!=NULL)

{

head=p2->next;

p2->next=p1;

p1=p2;

p2=head;

}

p2->next=p1;

return p2;

华为java基础面试题

JAVA方面

1 面向对象的特征有哪些方面

2 String是最基本的数据类型吗?

3 int 和 Integer 有什么区别

4 String 和StringBuffer的区别

5 运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

6 说出一些常用的类,包,接口,请各举5个

7 说出ArrayList,Vector, LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存 储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快 而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链 表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。

以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。

public class ThreadTest1{

private int j;

public static void main(String args[]){

ThreadTest1 tt=new ThreadTest1();

Inc inc=tt.new Inc();

Dec dec=tt.new Dec();

for(int i=0;i<2;i++){

Thread t=new Thread(inc);

t.start();

t=new Thread(dec);

t.start();

}

}

private synchronized void inc(){

j++;

System.out.println(Thread.currentThread().getName()+"-inc:"+j);

}

private synchronized void dec(){

j–;

System.out.println(Thread.currentThread().getName()+"-dec:"+j);

}

class Inc implements Runnable{

public void run(){

for(int i=0;i<100;i++){

inc();

}

}

}

class Dec implements Runnable{

public void run(){

for(int i=0;i<100;i++){

dec();

}

}

}

}

9.JSP的内置对象及方法。

request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

page page表示从该页面产生的一个servlet实例

10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。

参见课程中socket通讯例子。

11说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

14.说出数据连接池的工作机制是什么?

15.同步和异步有和异同,在什么情况下分别使用他们?举例说明。

16.应用服务器有那些?

17你所知道的集合类都有哪些?主要方法?

18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。

19.说出在JSP页面里是怎么分页的?

页面需要保存以下参数:

总行数:根据sql语句得到总行数

每页显示行数:设定值

当前页数:请求参数

页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行即可。

数据库方面:

1.存储过程和函数的区别

存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。

2.事务是什么?

事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:

原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

隔离性

由 并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之 后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相 同。

持久性

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

3.游标的作用?如何知道游标已经到了最后?

游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。

4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。

事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。

语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。

华为最终面试java_最全的华为面试题-java学习相关推荐

  1. 华为OD面试经验分享,尤其注意机试题部分

    文章目录 招聘流程和背景介绍 面试准备 机试题目类型和解答技巧 在算法部分 在操作系统部分 面试官提问和答题技巧 面试总结和建议 推荐一些华为 od 常见的机试题 题目:两数之和 题目:二叉树的遍历 ...

  2. 视频教程-JavaWeb从入门到实战,超全知识点+仿京东项目-Java

    JavaWeb从入门到实战,超全知识点+仿京东项目 12年以上开发经验,担任亚信科技核心架构师,丰富的JavaEE开发和Oracle数据库设计经验,精通Java\JavaScript\HTML5等编程 ...

  3. 华为公司面试新员工的有关计算机网络的题目和答案

    一.华为公司面试新员工的有关计算机网络的题目和答案 RFC1918文件规定了保留作为局域网使用的私有地址:            10.0.0.0                 -       10 ...

  4. 西安华为OD面试体验

    西安华为OD面试体验 开始投简历 技术面试 进展 工作 进展 开始投简历 去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲.之前刚毕业的时候投了个大厂的简历,结果一面写算法的时 ...

  5. 华为鸿蒙osbeta多场景展示,华为发布鸿蒙系统:全场景分布式OS

    华为在8月9日下午举行的2019华为开发者大会上,正式推出了Harmony(鸿蒙) OS.余承东表示:鸿蒙是一款基于微内核的全场景分布式OS. 华为发布鸿蒙系统:基于微内核的全场景分布式OS 华为 M ...

  6. 华为全球发布六款全场景新品;西门子加速在华发展数字化创新 | 美通企业日报...

    今日看点 华为全球发布六款全场景新品.HUAWEI FreeBuds Pro与HUAWEI FreeLace Pro由专业的华为音频团队打造.HUAWEI WATCH FIT和HUAWEI WATCH ...

  7. 2023华为OD面试手撕代码经验分享

    我们先来看下这个同学的面试经历吧,非常有借鉴的意义. [22届考研渣渣的od求职之旅,推荐一下两个人,德科hr和牛客的老哥] "*********",hr给了机会吧,一开始我都没想 ...

  8. 西安华为OD面试经验(德科)

    背景: 本科某双非邮电软件专业,二战冲985失败,随便写的简历挂boss上,hr电话联系帮我约的机考(华为od网络风评很差,这一点还是hr告诉我这个初入社会的学生党的,态度挺诚恳,我也只是本着随便试试 ...

  9. 深入原生冰山安全体系,详解华为云安全服务如何构筑全栈安全

    摘要:如果把云安全比作"冰山",不仅要关注冰山上的"安全服务和特性",还要关注冰山下各种基础安全建设. 本文分享自华为云社区<深入原生冰山安全体系,详解华 ...

  10. HCIE华为云计算面试-桌面云

    HCIE华为云计算面试-桌面云 介绍:Fusionaccess 桌面云用户登录连接流程及故障排除的思路 桌面云中的用户组,虚拟机模板,虚拟机组和桌面组的关系和区别,发放完整复制和链接克隆虚拟机时,步骤 ...

最新文章

  1. mac上安装ta-lib
  2. C语言实现ifconfig获取网卡接收和发送流量统计
  3. windows经典地雷小游戏(C语言实现)
  4. 倪光南:中国网络安全为何要强调“自主可控”?
  5. 位数不足前面补0mysql语句_MySQL查询添加0到少于9位数字?
  6. php 反射原理,PHP反射机制详解
  7. Maximum Xor Secondary CodeForces - 281D (单调栈)
  8. 【渝粤教育】电大中专财务管理与分析 (2)作业 题库
  9. project不显示里程碑标志_在Project中设置里程碑
  10. 计算机系统-电路设计04-全加器的内部电路实现
  11. 与吴恩达并肩战斗,她是颜值爆表的 AI 科学家!
  12. NSMutableString基本概念
  13. 删除数组对象 相同的值 制定数组对象
  14. Linux 系统磁盘满处理方法
  15. 未来IT技术展现——虚拟化技术大盘点
  16. java里VO是什么?
  17. 计算日期在当月是第几周-【自然周(每月第一个周一为该月第一周)做法以及1号为第一周做法】
  18. Vue 使用 Apache Echarts 绘制地图(省市、地区)
  19. SiteApp转码声明 来自百度
  20. 小老弟3.6研发面筋大汇总

热门文章

  1. Py交易的基本遵循原则.
  2. 二进制炸弹——拆弹实验
  3. 百度C++工程师的那些极限优化(内存篇)
  4. 趣味ACM题 圣骑士的斩杀
  5. LeetCode刷题笔记——(8/17 - 8/27)
  6. html js css 简明教程,HTML+CSS+JavaScript网页制作简明教程
  7. 光照度和光强度的区别
  8. easypanel b.php,KangleWebServer Easypanel API接口详解
  9. Typora最后的免费版本
  10. Linux——vi编辑器及文件内容操作