去日企面试准备的自我介绍日语版

版本一

私はXX大学を卒業し、専攻はソフトウェアエンジニアリングです。学生時代、関連する知識を熱心に学び、学校のさまざまな活動に積極的に参加しました。独立した考える能力とチームでの協力能力を持ち、実践とスキルの向上に重点を置いています。最後に、貴社で働く機会を求め、自分の能力を十分に発揮できる環境を求めています。

(Translation: Watashi wa XX Daigaku o sotsugyō shi, senkō wa sofutowea enjiniaringu desu. Gakusei jidai, kanren suru chishiki o nesshin ni manabi, gakkō no samazama na katsudō ni sekkyokuteki ni sanka shimashita. Dokuritsu shita kangaeru nōryoku to chīmu de no kyōryoku nōryoku o mochi, jissen to sukiru no kōjō ni jūten o oiteimasu. Saigo ni, kisha de hataraku kikai o motome, jibun no nōryoku o jūbun ni hakki dekiru kankyō o motometeimasu.)

以上が私の自己紹介です。どうそよろしくお願いいたします。

版本二

初めまして、面接の機会を いただいて、ありがとうございます。自己紹介 を させて いただきます。

私の名前は張博(ちょうはく)です。XX大学を卒業し、専攻はソフトウェアエンジニアリングです。

(Translation: Watashi no namae wa Chōhaku desu. XX Daigaku o sotsugyō shi, senkō wa sofutowea enjiniaringu desu.)

学生(がくせい)時代(じだい)、様々(さまざま)な関連(かんれん)する専門(せんもん)知識(ちしき)を努力(どりょく)して学び、学校(がっこう)の様々な活動(かつどう)に積極的(せっきょくてき)に参加(さんか)し、優秀(ゆうしゅう)な成績(せいせき)を収(おさ)めました。独立的(どくりつてき)な思考(しこう)とチームでの協力(きょうりょく)能力(のうりょく)を備(そな)え、実践(じっせん)とスキルの向上(こうじょう)に重点(じゅうてん)を置(お)いています。最後(さいご)に、貴社(きしゃ)で働(はたら)く機会(きかい)を希望(きぼう)し、自身(じしん)の能力(のうりょく)を十分(じゅうぶん)に発揮(はっき)できる環境(かんきょう)を求(もと)めています。

以上が私の自己紹介です。どうそよろしくお願いいたします。

(Translation: Watashi wa XX Daigaku o sotsugyō shi, senkō wa sofutowea enjiniaringu desu. Gakusei jidai, samazama na kanren suru senmon chishiki o doryoku shite manabi, gakkō no samazama na katsudō ni sekkyokuteki ni sanka shi, yūshū na seiseki o osamemashita. Dokuritsuteki na shikō to chīmu de no kyōryoku nōryoku o sonae, jissen to sukiru no kōjō ni jūten o oiteimasu. Saigo ni, kisha de hataraku kikai o kibō shi, jishin no nōryoku o jūbun ni hakki dekiru kankyō o motometeimasu.)

简洁版

初めまして、面接の機会を いただいて、ありがとうございます。自己紹介 を させて いただきます。

私の名前は張博(ちょうはく)です。XX大学を卒業し、専攻はソフトウェアエンジニアリングです。

学生時代、様々な関連する専門知識を努力して学び、学校の様々な活動に積極的に参加しました。優秀な成績を収めました。独立的な思考とチームでの協力能力を備えています。実践とスキルの向上に重点を置いています。最後に、貴社で働く機会を希望し、自身の能力を十分に発揮できる環境を求めています。

以上が私の自己紹介です。どうそよろしくお願いいたします。

草稿

はじめまして、私は〇〇と申します。日本語を勉強してから〇〇年になります。大学で〇〇を專攻し、卒業後に日本の企業で働くことを目指しています。 私は日本企業に興味を持ち、その理由はいくつかあります。まず第一に、日本企業の優れた技術と革新的なアプロチに魅了されています。また、日本のビジネス文化や価値観にも共感を感じています。

私(わたし)はXX大学を卒業し、専攻はソフトウェアエンジニアリングです。学生(がくせい)時代(じだい)、様々(さまざま)な関連(かんれん)する専門(せんもん)知識(ちしき)を努力(どりょく)して学び、学校(がっこう)の様々な活動(かつどう)に積極的(せっきょくてき)に参加(さんか)し、優秀(ゆうしゅう)な成績(せいせき)を収(おさ)めました。独立的(どくりつてき)な思考(しこう)とチームでの協力(きょうりょく)能力(のうりょく)を備(そな)え、実践(じっせん)とスキルの向上(こうじょう)に重点(じゅうてん)を置(お)いています。最後(さいご)に、貴社(きしゃ)で働(はたら)く機会(きかい)を希望(きぼう)し、自身(じしん)の能力(のうりょく)を十分(じゅうぶん)に発揮(はっき)できる環境(かんきょう)を求(もと)めています。

(Translation: Watashi wa XXDaigaku o sotsugyō shi, senkō wa sofutowea enjiniaringu desu. Gakusei jidai, samazama na kanren suru senmon chishiki o doryoku shite manabi, gakkō no samazama na katsudō ni sekkyokuteki ni sanka shi, yūshū na seiseki o osamemashita. Dokuritsuteki na shikō to chīmu de no kyōryoku nōryoku o sonae, jissen to sukiru no kōjō ni jūten o oiteimasu. Saigo ni, kisha de hataraku kikai o kibō shi, jishin no nōryoku o jūbun ni hakki dekiru kankyō o motometeimasu.)

package jp.or.jaf.syg.feature.jafrsho99.jafrsho99130 import jp.or.jaf.syg.core.common.base.JafViewModel import jp.or.jaf.syg.core.common.event.JafAction import jp.or.jaf.syg.core.common.event.JafEvent import jp.or.jaf.syg.core.common.ext.utils.DateUtils import jp.or.jaf.syg.domain.message.Message import jp.or.jaf.syg.feature.jafrsho99.jafrsho99010.Jafrsho99010Routes import jp.or.jaf.syg.feature.jafrsho99.jafrsho99050.JAFRSHO99050Model import jp.or.jaf.syg.feature.jafrsho99.jafrsho99130.mappers.createInitialUiStateData import jp.or.jaf.syg.feature.jafrsho99.jafrsho99130.mappers.generateCalendarData import jp.or.jaf.syg.feature.jafrsho99.jafrsho99130.mappers.generateSelectDayList import jp.or.jaf.syg.feature.jafrsho99.jafrsho99130.mappers.generateSelectMonthList import java.io.Serializable import javax.inject.Inject /** * 【機能ID: JAFRSHO99】業務共通機能 * 【画面ID: JAFRSHO99130】カレンダーポップアップ * * カレンダーポップアップのViewModel実装 * 年月日入力時に使用するポップアップである。 */ class JAFRSHO99130ViewModel @Inject constructor() : JafViewModel<JAFRSHO99130UiStateData>() { /** * システムイベント処理 * JafUiStateHostが自動的に呼び出すイベント処理 */ private var monthSelectResult: Pair<Any, Any>? = null private var daySelectResult: Pair<Any, Any>? = null override fun onEvent(event: JafEvent) { when (event) { JafEvent.Companion.Initialize -> { // パラメータなしの場合はデフォルト初期化 launchReplaceContent { onPopupDisplay("カレンダー", null, InputControlType.NO_SEIGEN) } } is JafEvent.Companion.InitializeWithParameters<*> -> { val params = event.params as? CalendarPopupParams launchReplaceContent { onPopupDisplay( params?.itemName ?: "カレンダー", params?.date, params?.inputControlType ?: InputControlType.NO_SEIGEN ) } } } } /** * Actionハンドリング * 各ActionIDは処理仕様のEYY形式と対応 */ override fun onAction(action: JafAction) { when (action) { is JAFRSHO99130Action.OnMonthSelect -> onMonthSelect() is JAFRSHO99130Action.OnDaySelect -> onDaySelect() is JAFRSHO99130Action.OnMonthScrollLeft -> onMonthScrollLeft() is JAFRSHO99130Action.OnMonthScrollRight -> onMonthScrollRight() is JAFRSHO99130Action.OnCalendarInput -> onCalendarInput(action.selectedDay) is JAFRSHO99130Action.OnClear -> onClear() is JAFRSHO99130Action.OnConfirm -> onConfirm() is JAFRSHO99130Action.OnClose -> onClose() is JAFRSHO99130Action.OnWindowClose -> onWindowClose() } } /** * 【処理仕様: JAFRSHO99130E001】画面表示 * カレンダーポップアップを作成する。 */ private fun onPopupDisplay( itemName: String, date: String?, inputControlType: Int ): JAFRSHO99130UiStateData { return createInitialUiStateData(itemName, date, inputControlType) } /** * 【処理仕様: JAFRSHO99130E002】月-選択 * 選択する候補月をプルダウン形式で表示する。 */ private fun onMonthSelect() { val currentData = getCurrentData() ?: return val currentDay = currentData.selectedDay val selectMonthList = generateSelectMonthList( currentDay,currentData.yearMonth.substring(0,4).toInt()) val monthParamList = selectMonthList.map { month -> Pair(first = "${month}月", second = month) } // 選択月リストの設定 val defaultSelectedMonth = if (currentData.selectedMonth.isNotEmpty()) { Pair( first = "${currentData.selectedMonth}月", second = currentData.selectedMonth ) } else { null } val params = JAFRSHO99050Model( listNameParam = monthParamList, listCountParam = monthParamList.size, listBoxSelectParam = defaultSelectedMonth, onConfirmCallBack = { result -> monthSelectResult = result val selectedMonth = result.second.toString() val currentYear = currentData.yearMonth.substring(0, 4) val targetDay = if (currentData.selectedDay.isNotEmpty()) { val maxDayOfNewMonth = generateSelectDayList( month = selectedMonth.padStart(2, '0'), year = currentYear, ).size val currentDayInt = currentData.selectedDay.toInt() if (currentDayInt > maxDayOfNewMonth) maxDayOfNewMonth else currentDayInt } else { 1 } val newYearMonth = "${currentYear}${selectedMonth.padStart(2, '0')}" val newCalendarData = generateCalendarData(newYearMonth, targetDay) updateSuccess { data -> data.copy( yearMonth = newYearMonth, selectedMonth = selectedMonth.padStart(2, '0'), selectedDay = targetDay.toString(), calendarData = newCalendarData, isMonthScrollLeftEnabled = newYearMonth != "190001", isMonthScrollRightEnabled = newYearMonth != "209912" ) } } ) navigate( route = Jafrsho99010Routes.LIST_SELECT, params = params as Serializable ) } /** * 【処理仕様: JAFRSHO99130E003】日-選択 * 選択する候補日をプルダウン形式で表示する。 */ private fun onDaySelect() { val currentData = getCurrentData() ?: return val currentYear = currentData.yearMonth.substring(0, 4) val currentMonth = currentData.yearMonth.substring(4, 6) val selectDayList = generateSelectDayList(currentMonth, currentYear) val dayParamList = selectDayList.map { day -> Pair(first = "${day}日", second = day) } // 選択日リストを設定 val defaultSelectedDay = if (currentData.selectedDay.isNotEmpty()) { Pair( first = "${currentData.selectedDay}日", second = currentData.selectedDay ) } else { null } val params = JAFRSHO99050Model( listNameParam = dayParamList, listCountParam = dayParamList.size, listBoxSelectParam = defaultSelectedDay, onConfirmCallBack = { result -> daySelectResult = result val selectedDay = result.second.toString() val newCalendarData = generateCalendarData( yearMonth = currentData.yearMonth, selectedDay = selectedDay.toInt() ) updateSuccess { data -> data.copy( selectedDay = selectedDay, calendarData = newCalendarData ) } } ) navigate( route = Jafrsho99010Routes.LIST_SELECT, params = params as Serializable ) } /** * 【処理仕様: JAFRSHO99130E004】月スクロール左-押下 * 月を1つ前に移動する。(例:202505⇒202504) */ private fun onMonthScrollLeft() { val currentData = getCurrentData() ?: return val currentMonth = currentData.yearMonth.substring(4, 6).toInt() val currentYear = currentData.yearMonth.substring(0, 4).toInt() val dayTmp = currentData.selectedDay val (newYear, newMonth) = if (currentMonth == 1) { Pair(currentYear - 1, 12) } else { Pair(currentYear, currentMonth - 1) } val newYearMonth = "$newYear${newMonth.toString().padStart(2, '0')}" val targetDay = if (dayTmp.isNotEmpty()) { val maxDayOfMonth = generateSelectDayList(newMonth.toString().padStart(2, '0'), newYear.toString()).size if (dayTmp.toInt() > maxDayOfMonth) maxDayOfMonth else dayTmp.toInt() } else { 1 } // カレンダー入力領域リフレッシュ val newCalendarData = generateCalendarData(newYearMonth, targetDay) updateSuccess { data -> data.copy( yearMonth = newYearMonth, selectedMonth = newMonth.toString().padStart(2, '0'), selectedDay = targetDay.toString(), calendarData = newCalendarData, isMonthScrollLeftEnabled = newYearMonth != "190001", isMonthScrollRightEnabled = newYearMonth != "209912" ) } } /** * 【処理仕様: JAFRSHO99130E005】月スクロール右-押下 * 月を1つ次に移動する。(例:202505⇒202506) */ private fun onMonthScrollRight() { val currentData = getCurrentData() ?: return val currentMonth = currentData.yearMonth.substring(4, 6).toInt() val currentYear = currentData.yearMonth.substring(0, 4).toInt() val dayTmp = currentData.selectedDay val (newYear, newMonth) = if (currentMonth == 12) { Pair(currentYear + 1, 1) } else { Pair(currentYear, currentMonth + 1) } val newYearMonth = "$newYear${newMonth.toString().padStart(2, '0')}" val targetDay = if (dayTmp.isNotEmpty()) { val maxDayOfMonth = generateSelectDayList(newMonth.toString().padStart(2, '0'), newYear.toString()).size if (dayTmp.toInt() > maxDayOfMonth) maxDayOfMonth else dayTmp.toInt() } else { 1 } val newCalendarData = generateCalendarData(newYearMonth, targetDay) updateSuccess { data -> data.copy( yearMonth = newYearMonth, selectedMonth = newMonth.toString().padStart(2, '0'), selectedDay = targetDay.toString(), calendarData = newCalendarData, isMonthScrollLeftEnabled = newYearMonth != "190001", isMonthScrollRightEnabled = newYearMonth != "209912" ) } } /** * 【処理仕様: JAFRSHO99130E006】カレンダー入力領域-押下 * カレンダー表示領域での日付選択処理 */ private fun onCalendarInput(selectedDay: Int) { val currentData = getCurrentData() ?: return val currentSelectedDay = currentData.selectedDay.toIntOrNull() ?: 0 // 同じ日が選択された場合は処理終了 if (selectedDay == currentSelectedDay) { return } // 項目定義を設定 val monthTmp = currentData.yearMonth.substring(4, 6) // 日にち強調表示設定 val newCalendarData = generateCalendarData(currentData.yearMonth, selectedDay) updateSuccess { data -> data.copy( selectedDay = selectedDay.toString(), selectedMonth = monthTmp.padStart(2, '0'), calendarData = newCalendarData ) } } /** * 【処理仕様: JAFRSHO99130E007】クリア-押下 * 入力された日付をクリアする */ private fun onClear() { val today = DateUtils.getCurrentFormatString(DateUtils.TYPE_5) val yearMonth = today.substring(0, 6) val selectedMonth = today.substring(4, 6).toInt().toString() val selectedDay = today.substring(6, 8).toInt() val newCalendarData = generateCalendarData(yearMonth, selectedDay) updateSuccess { data -> data.copy( yearMonth = yearMonth, selectedMonth = selectedMonth.padStart(2, '0'), selectedDay = selectedDay.toString(), calendarData = newCalendarData, isMonthScrollLeftEnabled = yearMonth != "190001", isMonthScrollRightEnabled = yearMonth != "209912" ) } } /** * 【処理仕様: JAFRSHO99130E008】確定-押下 * 選択された日付を確定して呼び出し元に返却 */ private fun onConfirm() { val currentData = getCurrentData() ?: return if (currentData.selectedMonth.isNotEmpty() ||currentData.selectedDay.isNotEmpty()) { val year = currentData.yearMonth.substring(0, 4) val month = currentData.selectedMonth.padStart(2, '0') val day = currentData.selectedDay.padStart(2, '0') val dateTmp = "$year/$month/$day" onConfirmCallback(dateTmp) }else{ showMessage( Message.JAFRSHO99010IC00230.id, listOf("") ) } navigateBack() } /** * コールバックメソッド */ fun onConfirmCallback(dateTmp: String) = Unit /** * 【処理仕様: JAFRSHO99130E009】閉じる-押下 * ポップアップを閉じる */ private fun onClose() { navigateBack() } /** * 【処理仕様: JAFRSHO99130E010】×(閉じる)-押下 * ウィンドウの×ボタンでポップアップを閉じる */ private fun onWindowClose() { navigateBack() } } /** * カレンダーポップアップの初期パラメータ */ data class CalendarPopupParams( /** 項目名 */ val itemName: String, /** 年月日 */ val date: String?, /** 入力制御種別 */ val inputControlType: Int ) 在onConfirm方法中加一个check IF (inputControlType(入力制御種別) == FUTURE_SEIGEN) ❘ ❘ IF (dateTmp(年月日) > (LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE))) ❘ ❘ ❘ ❘ 業務共通部品(メッセージダイアログ)を呼び出し、エラーメッセージ「未来日の入力はできません。」を表示する。 ❘ ❘ 呼び出し関数名 【画面表示】メッセージダイアログ ❘ ❘ 処理ID JAFRSHO99020 ❘ ❘ 引数 メッセージID "JAFRSHO99010EC00161" ❘ ❘ メッセージパラメータ なし ❘ ❘ 戻り値 なし ❘ ❘ ❘ ❘ 「OK」ボタンを押下すると、処理を終了する。 ❘ ❘ ❘ END IF ❘ ELSE IF (inputControlType(入力制御種別) ==PAST_SEIGEN) ❘ ❘ IF (dateTmp(年月日) < (LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE))) ❘ ❘ ❘ ❘ 業務共通部品(メッセージダイアログ)を呼び出し、エラーメッセージ「過去日の入力はできません。」を表示する。 ❘ ❘ 呼び出し関数名 【画面表示】メッセージダイアログ ❘ ❘ 処理ID JAFRSHO99020 ❘ ❘ 引数 メッセージID "JAFRSHO99010EC00098" ❘ ❘ メッセージパラメータ なし ❘ ❘ 戻り値 なし ❘ ❘ ❘ ❘ 「OK」ボタンを押下すると、処理を終了する。 ❘ ❘ ❘ END IF ❘ END IF
09-26
你提出的需求是: > 在 `onConfirm()` 方法中增加一个 **输入控制检查(inputControlType)**,根据不同的类型限制用户不能选择“未来日”或“过去日”。 --- ## ✅ 需求总结 | 条件 | 检查逻辑 | 错误提示 | |------|----------|---------| | `inputControlType == FUTURE_SEIGEN` (1) | 如果选的日期 > 今天 → 报错 | “未来日の入力はできません。” (`JAFRSHO99010EC00161`) | | `inputControlType == PAST_SEIGEN` (2) | 如果选的日期 < 今天 → 报错 | “過去日の入力はできません。” (`JAFRSHO99010EC00098`) | | 其他情况(如 0) | 不检查 | 并且: - 使用 `showMessage(messageId, params)` 显示错误消息 - **不关闭弹窗**,直到用户改正为止 --- ## 📂 需要修改的文件 ```kotlin jp.or.jaf.syg.feature.jafrsho99.jafrsho99130.JAFRSHO99130ViewModel.kt ``` ✅ 只需修改 `onConfirm()` 函数。 --- ## ✅ 修改前注意点 你需要确保以下导入存在(通常已有): ```kotlin import java.time.LocalDate import java.time.format.DateTimeFormatter ``` 如果没有,请添加。 --- ## ✅ 修改后的 `onConfirm()` 方法 ```kotlin /** * 【処理仕様: JAFRSHO99130E008】確定-押下 * 選択された日付を確定して呼び出し元に返却 * ※ inputControlType に基づいて未来日・過去日の入力を制限 */ private fun onConfirm() { val currentData = getCurrentData() ?: return // 日付が未選択の場合はエラー if (currentData.selectedMonth.isEmpty() || currentData.selectedDay.isEmpty()) { showMessage( Message.JAFRSHO99010IC00230.id, listOf("") ) return } // dateTmp を "yyyyMMdd" 形式で構築 val year = currentData.yearMonth.substring(0, 4) val month = currentData.selectedMonth.padStart(2, '0') val day = currentData.selectedDay.padStart(2, '0') val dateTmp = "$year$month$day" // e.g. "20250925" // 今日の日付(yyyyMMdd形式) val today = LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE) // "20250925" // 入力制御チェック when (currentData.inputControlType) { InputControlType.FUTURE_SEIGEN -> { if (dateTmp > today) { // 未来日エラー showMessage("JAFRSHO99010EC00161", listOf()) return } } InputControlType.PAST_SEIGEN -> { if (dateTmp < today) { // 過去日エラー showMessage("JAFRSHO99010EC00098", listOf()) return } } } // チェック通過 → 正常確定 val formattedDate = "$year/$month/$day" onConfirmCallback(formattedDate) // ポップアップを閉じる navigateBack() } ``` --- ## 🔍 关键说明 ### ✅ `DateTimeFormatter.BASIC_ISO_DATE` - 格式为 `yyyyMMdd`(例如:`20250925`) - 和你的 `dateTmp` 格式完全一致,可以直接字符串比较! > Kotlin 字符串比较 `"20250926" > "20250925"` 是正确的,因为它是字典序且固定长度 → 安全可用。 ### ✅ `showMessage(id, params)` 你已经用了这个方法: ```kotlin showMessage(Message.JAFRSHO99010IC00230.id, listOf("")) ``` 所以这里直接传 messageId 字符串即可。 --- ## ✅ 示例行为 | 场景 | 行为 | |------|------| | 用户选了明天,`inputControlType=1`(禁止未来) | 弹出「未来日の入力はできません。」,不关闭弹窗 | | 用户选了昨天,`inputControlType=2`(禁止过去) | 弹出「過去日の入力はできません。」,不关闭弹窗 | | 用户选今天 or 合法日期 | 正常回调并关闭 | | 未选择任何日期 | 提示「入力されていません」 | --- ## ✅ 可选增强建议 ### 💡 建议:在 UI 上禁用非法日期(更友好) 除了点击时校验,也可以在: - `generateCalendarData()` 中标记不可点击的日期 - 或者在 `CalendarDayData` 中加 `isEnabled` 判断 但这属于优化,当前需求只需 **点击确定时拦截即可**。 --- ## ✅ 总结 ### ✅ 修改内容一览 | 文件 | 函数 | 修改内容 | |------|------|-----------| | `JAFRSHO99130ViewModel.kt` | `onConfirm()` | 添加 `inputControlType` 检查,使用 `LocalDate.now()` 对比日期,调用 `showMessage` 显示错误 | ### ✅ 新增依赖导入(确认是否存在) ```kotlin import java.time.LocalDate import java.time.format.DateTimeFormatter ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值