ABAP面试经验(回忆)

最近受疫情影响,项目比较少,大家有的降薪有个裁员,日子都不太好过,幸好我的项目还没有结束,所以还在做项目。最近参加面试的小伙伴比较多,我回忆去年我在面试四大的时候,3轮面试的大概过程。

一 HR面试

HR小姐姐的面试一般来说比较简单,大致就是问你工资期望,英语水平,项目经历等大概做一个自我介绍就好了,在这一块主要看看你这个人基本面是否符合招聘的需求,没有啥问题就会进入下一轮面试。这一轮小伙伴们要抓住机会问一下HR公司的相关制度福利(比比如几周一次FB,BASE地,调薪时间,试用期,公司培训等等),以便于判断这个公司是否符合你自己心目中的预期。

二 技术面试

那次面试还是问的非常仔细和全面的,因为每个人的知识面不同,所以在全面的提问中,有问题回答不出是很正常的。技术面试围绕着ABAP相关技术点展开询问,面试时间大概为1个半小时左右,大概内容就是围绕ABAP基础来询问,相关内容如下:

1.使用for all entries in 的注意事项

(1)IN条件所在内表不能为空(空值将取出所有数据)

(2)IN条件内表数据量大于5000时不建议使用,一定要使用请每次使用3000,循环的方式使用

(3)该语句自动去重,使用时尽量多的带出主键(不清楚的时候全带出来就行)

2.Dialog 对话框的事件和逻辑流

(1)    调用时首先出发PBO->子画面PBO,然后显示dynpro画面,当在dynpro点击按钮时,会触发PAI->触发子PAI,触发完之后又会执行PBO->子PBO:如下图

如果你还能说一下另外2个事件就更好:

PROCESS ON HELP-REQUEST.(F1帮助)

PROCESS ON VALUE-REQUEST.(F4帮助)

3. Funciton ALV如何做到单击跳转事务

(1)首先在fieldcat中设置 hotspot = 'X'

(2)然后再USER_COMMAND事件对应Form中 加入

CASE  R_UCOMM.

WHEN '&IC1'.

然后调用

SET PARAMETER ID 'BLN' FIELD LS_ALV-VBLNR.

SET PARAMETER ID 'BUK' FIELD LS_ALV-ZBUKR.

SET PARAMETER ID 'GJR' FIELD LV_GJAHR.

CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

4.Web Service Client 端的配置大致描述一下

(1)右击企业服务创建server consumer,用URL创建webservice

(2)通过LPCONFIG对于创建好的Proxy Object创建逻辑端口

(3)通过somanager配置默认端口

(4)在代码中调用外部的接口

5.SMARTFROMS中直接换页

(1)在循环中插入命令

(2)在命令条件中加入触发的条件

6.Call function "Your_function" in backgroud task 和 starting new task :

(1)in backgroud task 需要等到commit work 显示提交时才执行,

(2)starting new task 是异步执行

6.ALV上如何控制单元格的颜色(这个问题之前一直没有做过,所以记得很清楚没有回答上来,面试完我也去查看资料了,算是通过面试来查漏补缺了)

(1)列颜色:LVC_S_FCAT-EMPHASIZE = 'C610' - 红色

(2)行颜色:在ALV内表中加入字段:CLR TYPE CHAR4

在LVC_S_LAYO-INFO_FNAME = 'CLR'

在需要控制颜色的行:GS_DATA-CLR = 'C610'

(3)单元格颜色:在ALV内表中加入结构:SCOL TYPE LVC_T_SCOL ,在LVC_S_LAYO-CTAB_FNAME = 'SCOL'

在需要控制的单元格中填入:

SCOL-FNAME = 'fieldname'

SCOL-COLOR-COL = '6'

SCOL-COLOR-INT = '0'

SCOL-COLOR-INV = '0'

7.说明一下寻找增强的方法

(1)SE30找EXIT_*的函数,找SMOD可以查找MODSAP表

(2)在函数MODX_FUNCTION_ACTIVE_CHECK中打断点,运行程序/TCODE,可以在debug界面查看L_FUNCNAME为出口

(3)CL_EXITHANDLER=>GET_INSTANCE中打上断点,再执行程序/TCODE,可以在debug界面查看EXIT_NAME参数为BADI

(4)通过SPRO配置部分的enhencement或者客制化等文件说明查看涉及的增强

8.说一下有哪些增强,找一个具体的例子简单说一下

(1)UserExit 基于源代码的增强,比如MV35AFZZ销售订单的增强点

(2)函数出口增强,Exit_<程序名>_<数字>,该部分为CMOD增强

(3)类的增强,BADI增强,通过SE18,SE19来查看和创建维护

(4)enhencement-point,隐式增强,在代码界面右击选择->show implicit enhencement options来显示和创建

(5)BTE财务增强(BERE/BERP)+ BF24 + BF34/BF44

大家选择一个自己熟悉的增强,举个具体例子说明一下就可以了。

例如:LE_SHP_DELIVERY_PROC这个BADI用于交货单的增强处理,其中方法SAVE_DOCUMENT_PREPARE为保存前的校验增强内容可以写在其中。

9.常用的数据库表:当时还问到了一些常用的表,比如采购历史记录EKBE,库存批次MCHA/MCHB等

10.BAPI,请说一个你熟悉的BAPI:

然后我说了"BAPI_GOODSMVT_CREATE"这个物料凭证创建的BAPI,面试官接着问我 这个BAPI里面有个参数GOODSMVT_CODE,请问代表什么意思,我记得当时我的回答是,这写分别代表了MIGO界面不同收货类型,01代表PO收货,05代表其他入库。因为我好像对采购订单收货做的比较多,然后其他收货是因为一般项目上线的时候需要导入期初库存,需要用到05的CODE;所以在面试的时候,一定要选择自己熟悉的方面去回答,不然就是说个不太清楚的BAPI给自己挖坑

11.调用BDC时,使用到哪个语句,其中MODE,和UPDATE参数各有啥作用:

(1)对于BDC调用的语句应该都很清楚CALL TRANSACTION 'TCODE' USING BDCDATA UPDATE 'S' MODE 'N' MESSAGES INTO LT_MESSTAB.

(2)对于UPDATE 当时只记得都填S,并不太记得是什么意思,面试后去查了一下A表示异步,S表示同步,L表示本地

(3)还有一个OPTIONS FROM opt(TYPE CTU_PARAMS ) - 这个个人觉得不说也没关系,说了更好,使用这个参数会包含前面2个参数,这块主要注意的是一个DEFSIZE屏幕大小,可能会影响到BDC的运行

12.REPORT程序步骤:当时好像还问了report程序的基本步骤,时间有点久了,有点记不太清,反正report程序一般步骤就是:

INITIALIZATION

AT SELECTION-SCREEN OUTPUT.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ufile.

AT SELECTION-SCREEN.

START-OF-SELECTION.

END-OF-SELECTION.

13.READ TABLE 会使用到的二分法Binary search,使用前对内表排序

14.loop循环中如何求和或者对于相同的field进行操作等:这里最好先说一下循环之前排序,然后使用(AT END OF/AT NEW/AT LAST/AT FIRST)操作,可以使用COLLECT ls_data into lt_tab来求和,这个效率高

15.LEAVE SCREEN 和 CALL SCREEN的区别:

(1)CALL SCREEN XXXX 为添加一层调用,执行完毕之后会执行CALL SCREEN XXXX之后的代码语句

(2)LEAVE TO SCREEN XXXX 直接中断当前屏幕的PAI,直接执行XXXX的PBO和PAI,原来LEAVE TO SCREEN XXXX之后的代码不再执行

过程中还有一些小小的问题,大体就是一路问下来,能对面试者ABAP水平有个较好的考察吧。当然过程中也问我是否会WEBDYNPRO,FIORI,PI等技术,我说了不会,就没有继续问下去了,当时连着问了2个技术说不会,没做过,有点尴尬。

三 项目经理面试

技术面试完了以后,HR小姐姐还给我一个反馈,告诉我哪些地方没有回答好之类的,说P4还差点火候,先定个P3(果然水平有待提高T_T),之后等了2天大概,就打电话给我预约项目经理面试(可以说是项目经理面试吧),大概交流了45分钟吧。因为这边相对于是一个综合考察,相互的一个交流,也没啥技术点。我也就记得几个讨论的比较多的话题吧,

当时问我有没有啥待人的经验,我说有,带过刚接触ABAP的毕业生,就是在做项目的过程中把一些简单的工作交给甲方的ABAP去完成,不懂得在一边指导一下把控一下程序,然后后续类似的工作就可以交给他,一方面作为替甲方爸爸们培养人才,一方面自己有更多的时间去做更重要的事情,一举多得吧。这样的举措对于后面开发程序的交接来说也是很有帮助的,重点是要自己把控好程序的质量。

后面问我,面对没有接触过的技术,如何在短时间内快速掌握呢,有没有这方面的想法或者新得。我当时就说SAP技术其实对于为入门者很不友好,环境就卡掉了一大堆人,然后很多技术需要basis配合和业务数据上得支撑。我的想法就是先找资料,快速做一个简单的demo出来,然后在此基础上再去做加法,实现功能。

还有就是让我说一下在项目上有没有设计过方案,或者介绍一个解决方案。我就把之前项目做的我给的一个比较特殊的批次管理的方案说了。批次要做到对相同一个物料对于不同工厂,进行部分工厂层级和部分物料层级的管控,因为调拨很多,需要做增强去溯源批次最初的来源。大概就是作为一个abap用自己的方法解决了一个客户业务上的需求。

四 题外话

国外疫情真的挺严重的,希望国内情况不要太受国外疫情的影响,经济快快复苏,这样我们做ABAP的才能更好的工作,希望这篇文章能在大家面试的时候能尽点绵薄之力。

祝大家做项目 需求不增,人天飙升

2020.04.10 【ABAP随笔】- ABAP面试分享相关推荐

  1. 2020教师计算机考试笔试题,2020下小学信息技术教师资格证面试试题及答案【1月10日上午】...

    2020下小学信息技术教师资格证面试试题及答案[1月10日上午] [来源于网络] 小学信息技术<移动插入幻灯片> 一.考题回顾 二.考题解析 [教学过程] (一)导入新课 教师通过多媒体播 ...

  2. 初中信息技术面试计算机网络,2020下初中信息技术教师资格证面试试题及答案【1月10日上午】...

    2020下初中信息技术教师资格证面试试题及答案[1月10日上午] [来源于网络] 初中信息技术<操作系统的概念与发展> 一.考题回顾 二.考题解析 [教学过程] (一)导入新课 教师通过带 ...

  3. 联想拯救者Legion Y7000P 2020款(10代INTEL+GTX1650)安装ubuntu16.04(双系统)

    (我这个Y7000P 2020型号系列的笔记本,经过以下教程安装Ubuntu16.04后,经过测试触控板与wifi都能用) 一.下载并安装Ubuntu16.04.6 阿里云下载ubuntu系统官方镜像 ...

  4. 高中计算机教师证试题,2020下高中信息技术教师资格证面试试题及答案【1月10日下午】...

    2020下高中信息技术教师资格证面试试题及答案[1月10日下午] [来源于网络] 高中信息技术<数据库管理数据的基本特征> 一.考题回顾 二.考题解析 [教学过程] (一)导入新课 教师以 ...

  5. 2020年10月份学习总结,项目管理案例

    本文摘录2020年10月份学习总结,创建日期:2020-10-26 20:31:51,有修改. 一.案例分享 在一些PM群(PM创造营)定期会分享项目案例,以下的这条案例很常见.很通俗易懂,阅读后会有 ...

  6. 汕头大学计算机英语复试,2020年汕头大学计算机应用技术考研经验分享

    原标题:2020年汕头大学计算机应用技术考研经验分享 大家好,我是育明考研小赵老师 关于汕头大学计算机应用技术考研考研信息汇总汇总,请参考 汕头大学设有文学院.理学院.工学院.医学院.法学院.商学院. ...

  7. YL工作记录 (不断更新) -- 2020.04

    -------------------- 2020.04.07-2020.04.17 -------------------- 1. @XStreamAlias理解和使用 - XStream 是个很强 ...

  8. 【前端面试分享】- 寒冬求职下篇

    前言 越来越多的公司都在面试前加入了笔试环节. 有的甚至会根据你的笔试答题情况来决定是否进入面试环节. 当然,进入面试环节,也会时不时的出几道算法或者其他类型的相关的题目让你写出来. 所以不仅要会说, ...

  9. 2020 年 10 月程序员工资统计,终于涨了!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:blog.csdn.net/juwikuang/a ...

最新文章

  1. python exec
  2. CSS_03_04_CSS伪元素选择器
  3. 使用Canal实现redis和mysql的同步
  4. cpu开核_新锐龙让AMD重返巅峰,但逆袭的50年里这些CPU也不应忘记
  5. “3+3”看华为云FusionInsight如何引领“数据新基建”持续发展
  6. silverlight 二级导航
  7. 进程与服务的签名_服务器被黑客攻击后如何查找溯源攻击
  8. 进程分配之交叉分配法
  9. Face3D学习笔记(3)3DMM示例源码解析【上】准备工作
  10. alexa/alexa-avs-sample-app Windows 安装教程
  11. 51nod 1459 1212
  12. 【毕业设计之PHP系列】PHP课程网站络管理系统
  13. 掌握Python语法篇:核心编程能力基础第一阶段
  14. 那些有趣的网站系列(十二)
  15. 优先级倒挂(priority inversion)
  16. 怎样在Winform窗体中嵌入Web浏览器
  17. 如何进行服务器备份操作系统,如何进行服务器备份操作系统
  18. 【JTeam Champion NFT】一张nft头像价值千万,能抵一套房,nft是数字艺术还是金融泡沫?
  19. 《高斯数学日记》——简介
  20. linux p12 转 pem,p12(或pfx)文件中的证书和私钥转换为cert,pem

热门文章

  1. 【EARLIER/EARLIEST函数】引用不存在的更早的行上下文 报错解决
  2. 华为P30和IphoneX性能比较
  3. @CacheEvict注解,清除缓存
  4. IDEA编译报错:java: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出
  5. 赛尔号和赛尔机器人_赛尔号大电影6垃圾星赛尔机器人介绍
  6. 【华为联机对战服务】如何保存及查看联机对战SDK日志?
  7. 小米(MIUI)手机监听短信的两种解决方案
  8. 人工智能、机器学习与深度学习的区别与联系
  9. 计算机地址怎么填写,电脑服务器名称或地址怎么填
  10. 无需安装Microsoft Office和Adobe实现办公文档操作,Spire.Office免费资源清单一览